{"version":3,"sources":["webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/utils/iconClassNames.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-northstar-styles-renderer/dist/es/noopRenderer.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/styles/dist/es/callable.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/styles/dist/es/deepmerge.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/styles/dist/es/withDebugId.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/styles/dist/es/mergeThemes.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/context.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/styles/resolveVariables.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/styles/resolveStyles.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/styles/getStyles.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/utils/createSvgIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/hooks/useStyles.js","webpack:///./node_modules/@fluentui/react-proptypes/dist/es/index.js","webpack:///./node_modules/lodash/invoke.js","webpack:///./node_modules/use-memo-one/dist/use-memo-one.esm.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/accessibility/dist/es/keyboard-key/codes.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/accessibility/dist/es/keyboard-key/index.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/accessibility/getKeyDownHandlers.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/accessibility/dist/es/focusZone/types.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/accessibility/shouldHandleOnKeys.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/accessibility/getAccessibility.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/accessibility/dist/es/attributes.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/FocusZone/focusUtilities.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/FocusZone/FocusZone.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/utils/getElementType.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/hooks/useIsomorphicLayoutEffect.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Form/FormContent.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/hooks/useAccessibility.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Board/BoardItem.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Board/BoardItemDialog.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/CommunicationTypes.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/Illustration/Illustration.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/CommunicationOptions/Default.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/CommunicationOptions/Empty.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/CommunicationOptions/Error.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/CommunicationOptions/Hello.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/CommunicationOptions/Thanks.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/lib/isImage.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/CommunicationOptions/Welcome.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Communication/Communication.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Board/Board.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/ChartTypes.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Dashboard/DashboardCallout.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/ChartPatterns.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/ChartUtils.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/ChartContainer.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/Line.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/LineArea.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/LineStacked.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/Bar.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/BarStacked.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/BarHorizontal.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/BarHorizontalStacked.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/Pie.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/Doughnut.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Charts/Bubble.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Chart/Chart.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Dashboard/Placeholder.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Dashboard/DashboardWidget.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Toolbar/Toolbar.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Toolbar/ToolbarFind.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/constants.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Button/button-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Checkbox/checkbox-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Dropdown/dropdown-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Radiogroup/radiogroupItem-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/static-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/index.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Avatar/avatar-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Button/buttonContent-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Card/card-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/shared/components/Form/formMessage-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-high-contrast/site-variables.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-high-contrast/theme.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-high-contrast/components/Button/button-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-high-contrast/components/Card/card-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-high-contrast/static-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-v2/components/Alert/alert-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-v2/components/Flex/flex-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-v2/site-variables.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-v2/theme.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-v2/static-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-dark-v2/components/Alert/alert-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-dark-v2/components/Flex/flex-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-dark-v2/components/Tree/tree-styles.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-dark-v2/site-variables.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-dark-v2/theme.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/themes/teams-dark-v2/static-styles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/translations/index.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/keyboard-key/codes.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/keyboard-key/index.js","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Box/Box.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/utils/iconClassNames.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/utils/createSvgIcon.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/colors.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/lodash/map.js","webpack:///./node_modules/lodash/isNil.js","webpack:///./node_modules/css-box-model/dist/css-box-model.esm.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/FocusZone/focusUtilities.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/commonPropTypes.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/focusZone/types.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/attributes.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/colorUtils.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/@fluentui/keyboard-key/lib/codes.js","webpack:///./node_modules/@fluentui/keyboard-key/lib/index.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/fontSizeUtility.js","webpack:///./node_modules/@fluentui/react-compose/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@fluentui/react-compose/lib/computeDisplayNames.js","webpack:///./node_modules/@fluentui/react-compose/lib/defaultComposeOptions.js","webpack:///./node_modules/@fluentui/react-compose/lib/compose.js","webpack:///./node_modules/@fluentui/react-compose/lib/mergeComposeOptions.js","webpack:///./node_modules/@fluentui/react-compose/lib/wasComposedPreviously.js","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///./node_modules/lodash/uniqueId.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/date-time-utilities/dateValues/dateValues.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/factories.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Toolbar/ToolbarTheme.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/lib/withTheme.js","webpack:///./node_modules/lodash/includes.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/utils/getElementType.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/context.js","webpack:///./node_modules/@fluentui/react-northstar-styles-renderer/dist/es/noopRenderer.js","webpack:///./node_modules/fast-loops/lib/arrayReduce.js","webpack:///./node_modules/lodash/omit.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/types/types.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/cloneDeep.js","webpack:///./node_modules/raf-schd/dist/raf-schd.esm.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/telemetry/useTelemetry.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useStyles.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/isBrowser.js","webpack:///./node_modules/@uifabric/utilities/lib/dom/getDocument.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Button/Button.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Text/Text.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useUnhandledProps.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/lodash/pick.js","webpack:///./node_modules/fast-loops/lib/objectReduce.js","webpack:///./node_modules/lodash/noop.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tree/TreeTitle.js","webpack:///./node_modules/lodash/clone.js","webpack:///./node_modules/redux/es/redux.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/utils/childrenExist.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/accessibility/getKeyDownHandlers.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/accessibility/shouldHandleOnKeys.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/accessibility/getAccessibility.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/FocusZone/FocusZone.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useAccessibility.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonShape.js","webpack:///./node_modules/react-perfect-scrollbar/lib/index.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Input/inputBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Input/InputLabel.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Input/Input.js","webpack:///./node_modules/lodash/some.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/lib/Icon.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Table/tableBreakpoints.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/index.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Image/Image.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/react-beautiful-dnd/dist/react-beautiful-dnd.esm.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/setVirtualParent.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/styles/convertCssTimeToNumber.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/styles/createAnimationStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Animation/useAnimationStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Animation/Animation.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/styles/calculateAnimationTimeout.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Popup/Popup.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/isRightClick.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/createReferenceFromClick.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/@fluentui/react-component-ref/dist/es/utils.js","webpack:///./node_modules/@fluentui/styles/dist/es/callable.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/utils/getUnhandledProps.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useIsomorphicLayoutEffect.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownItem.js","webpack:///./node_modules/@fluentui/styles/dist/es/toCompactArray.js","webpack:///./node_modules/@fluentui/styles/dist/es/mergeThemes.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/lodash/forEach.js","webpack:///./node_modules/lodash/findIndex.js","webpack:///./node_modules/isobject/index.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Board/BoardTheme.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/lib/setMultiple.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/FormMessage.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/utils/formFieldBase.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Button/buttonBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Loader/loaderBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Loader/Loader.js","webpack:///./node_modules/@fluentui/styles/dist/es/withDebugId.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Form/FormTheme.js","webpack:///./node_modules/react-redux/es/components/Context.js","webpack:///./node_modules/react-redux/es/utils/batch.js","webpack:///./node_modules/react-redux/es/utils/Subscription.js","webpack:///./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack:///./node_modules/react-redux/es/components/Provider.js","webpack:///./node_modules/react-redux/es/components/connectAdvanced.js","webpack:///./node_modules/react-redux/es/utils/shallowEqual.js","webpack:///./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack:///./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack:///./node_modules/react-redux/es/utils/bindActionCreators.js","webpack:///./node_modules/react-redux/es/connect/mapStateToProps.js","webpack:///./node_modules/react-redux/es/connect/mergeProps.js","webpack:///./node_modules/react-redux/es/connect/selectorFactory.js","webpack:///./node_modules/react-redux/es/connect/connect.js","webpack:///./node_modules/react-redux/es/hooks/useSelector.js","webpack:///./node_modules/react-redux/es/index.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/rtlTextContainer.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/@uifabric/utilities/lib/dom/getWindow.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/context-selector/utils.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/accessibility/Styles/accessibilityStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemEndMedia.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonLine.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemSubmenuIndicator.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemActiveIndicator.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Alert/AlertDismissAction.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/siteVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuVariables.js","webpack:///./node_modules/lodash/isEmpty.js","webpack:///./node_modules/lodash/filter.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/menuContext.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Menu/menuItemBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuItemIndicator.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemContent.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemContentMedia.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemHeader.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemHeaderMedia.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Portal/PortalInner.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tree/context.js","webpack:///./node_modules/css-in-js-utils/lib/cssifyObject.js","webpack:///./node_modules/fast-loops/lib/objectEach.js","webpack:///./node_modules/lodash/range.js","webpack:///./node_modules/lodash/chunk.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Menu/menuDividerBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Menu/menuBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/getKindProp.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuDivider.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/Menu.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/getParent.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/getVirtualParent.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/isVirtualElement.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Button/buttonGroupBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Button/ButtonGroup.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Datepicker/datepickerCalendarCellButtonBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Datepicker/DatepickerCalendarCellButton.js","webpack:///./node_modules/lodash/union.js","webpack:///./node_modules/@fluentui/styles/dist/es/debugEnabled.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/CardExpandableBox.js","webpack:///./node_modules/fast-loops/lib/arrayEach.js","webpack:///./node_modules/@fluentui/styles/dist/es/deepmerge.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_baseEach.js","webpack:///./node_modules/lodash/_baseFlatten.js","webpack:///./node_modules/css-in-js-utils/lib/cssifyDeclaration.js","webpack:///./node_modules/lodash/uniq.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/positioningHelper.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Provider/usePortalBox.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonButton.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonAvatar.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Skeleton/SkeletonInput.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/timingFunctions.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/durations.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/scale.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/fade.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/slide.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/animations/index.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatItemVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageDetailsVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageReadStatusVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/embedVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexItemVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formFieldVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formMessageVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formLabelVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Grid/gridVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerDescriptionVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SvgIcon/svgIconVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Image/imageVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputLabelVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Label/labelVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Layout/layoutVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderSvgDataUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/ItemLayout/itemLayoutVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Popup/popupContentVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Provider/providerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupItemVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionGroupVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Segment/segmentVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Slider/sliderVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Status/statusVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Text/textVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/TextArea/textAreaVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeTitleVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Video/videoVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tooltip/tooltipContentVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/accordionTitleStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Accordion/activeIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/getBorderFocusStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/getIconFillOrOutlineStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/dismissIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Alert/alertDismissActionStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentActionStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentBodyStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentDescriptionStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentHeaderStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Attachment/attachmentIconStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStatusStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarStatusIconStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarImageStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarIconStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Avatar/avatarLabelStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonGroupStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Button/buttonContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbDividerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbLinkStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Breadcrumb/breadcrumbStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageDetailsStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Chat/chatMessageReadStatusStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxIndeterminateIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Checkbox/checkboxStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dialog/dialogFooterStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownSearchInputStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownSelectedItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/dropdownItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Dropdown/checkableIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Embed/Embed.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/pauseIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/embedStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Embed/playIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formFieldStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formLabelStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Form/formMessageStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/utils.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Flex/flexItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Grid/gridStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/styles/translateAlignProp.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Header/headerDescriptionStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SvgIcon/svgIconStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Image/imageStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Input/inputLabelStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Label/labelStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/styles/debugStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Layout/layoutStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Loader/loaderStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/ItemLayout/itemLayoutStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemContentMediaStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemEndMediaStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemHeaderStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemHeaderMediaStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/List/listItemMediaStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemIconStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/submenuIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemIndicatorStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuItemWrapperStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Menu/menuDividerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/MenuButton/menuButtonStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillActionStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillImageStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Pill/pillIconStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/getPointerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Popup/popupContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Provider/providerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/RadioGroup/radioGroupItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Segment/segmentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/utils/keyframes.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/utils/animations.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonLineStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonShapeStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonButtonStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonTextStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonInputStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Skeleton/skeletonAvatarStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Slider/sliderStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Reaction/reactionGroupStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Status/statusStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/toggleIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/SplitButton/splitButtonToggleStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Text/textStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/TextArea/textAreaStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarRadioGroupStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarCustomItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarDividerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuDividerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/submenuIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/activeIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemIconStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemSubmenuIndicatorStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuItemActiveIndicatorStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuRadioGroupStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarMenuRadioGroupWrapperStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/treeTitleStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tree/checkboxIndicatorIndeterminatedUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Video/videoStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Tooltip/tooltipContentStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/pointerSvgUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Carousel/CarouselNavigationItem.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselNavigationItemStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Carousel/CarouselPaddle.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/paddleIndicatorUrl.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselPaddleStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Carousel/carouselPaddlesContainerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableRowStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Table/tableCellStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardHeaderStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardBodyStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardFooterStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardPreviewStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardTopControlsStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Card/cardExpandableBoxStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarHeaderStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarHeaderCellStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarCellStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarCellButtonStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarGridStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Datepicker/datepickerCalendarGridRowStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/index.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/normalizeCSS.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/staticStyles/globalStyles.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/index.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/fontFaces.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Radio/radioGroupItemBehavior.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/RadioButtonIcon.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/RadioGroup/RadioGroupItem.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Menu/submenuBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuItem.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Dropdown/dropdownSelectedItemBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownSelectedItem.js","webpack:///./node_modules/lodash/isNumber.js","webpack:///./node_modules/@fluentui/react-component-ref/dist/es/RefFindNode.js","webpack:///./node_modules/@fluentui/react-component-ref/dist/es/RefForward.js","webpack:///./node_modules/@fluentui/react-component-ref/dist/es/Ref.js","webpack:///./node_modules/lodash/_Stack.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/_baseAssignValue.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_arrayEach.js","webpack:///./node_modules/lodash/_baseIndexOf.js","webpack:///./node_modules/lodash/_baseSlice.js","webpack:///./node_modules/lodash/_flatRest.js","webpack:///./node_modules/lodash/_baseClone.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Divider/dividerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/components/Toolbar/toolbarVariables.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@uifabric/utilities/lib/dom/setSSR.js","webpack:///./node_modules/lodash/first.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Chat/chatItemContext.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/getScrollParent.js","webpack:///./node_modules/lodash/isEqual.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuItemIcon.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuItemContent.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Menu/MenuItemWrapper.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Label/Label.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Chat/ChatMessageDetails.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Chat/ChatMessageReadStatus.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Chat/ChatMessageHeader.js","webpack:///./node_modules/@fluentui/state/dist/es/createManager.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/utils/formFieldBaseContext.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/listContext.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/ListItemMedia.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Portal/Portal.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Popup/PopupContent.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Provider/ProviderConsumer.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Popup/popupBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Table/TableCell.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Tree/treeItemBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Tree/treeBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tree/TreeItem.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tree/hooks/flattenTree.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tree/hooks/useTree.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tree/Tree.js","webpack:///./node_modules/@fluentui/react-teams/lib/esm/components/Toolbar/ToolbarFilter.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/menuItemAsToolbarButtonBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/menuAsToolbarBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Chat/chatMessageBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Chat/ChatMessage.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/context-selector/useContextSelector.js","webpack:///./node_modules/compute-scroll-into-view/es/index.js","webpack:///./node_modules/downshift/dist/downshift.esm.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/DropdownSearchInput.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Dropdown/Dropdown.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Checkbox/checkboxBehavior.js","webpack:///./node_modules/@fluentui/state/dist/es/managers/checkboxManager.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Checkbox/Checkbox.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Reaction/ReactionGroup.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Reaction/Reaction.js","webpack:///./node_modules/lodash/without.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Table/TableRow.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/telemetry/types.js","webpack:///./node_modules/fela-utils/es/processStyleWithPlugins.js","webpack:///./node_modules/fela-utils/es/styleTypes.js","webpack:///./node_modules/fela-utils/es/isNestedSelector.js","webpack:///./node_modules/fela-utils/es/normalizeNestedProperty.js","webpack:///./node_modules/fela-utils/es/isMediaQuery.js","webpack:///./node_modules/fela-utils/es/generateCombinedMediaQuery.js","webpack:///./node_modules/fela-utils/es/isSupport.js","webpack:///./node_modules/fela-utils/es/generateDeclarationReference.js","webpack:///./node_modules/fela-utils/es/isUndefinedValue.js","webpack:///./node_modules/fela-utils/es/generateCSSSelector.js","webpack:///./node_modules/fela/es/cssifyFontFace.js","webpack:///./node_modules/fela/es/cssifyKeyframe.js","webpack:///./node_modules/fela/es/cssifyStaticStyle.js","webpack:///./node_modules/fela/es/minifyCSSString.js","webpack:///./node_modules/fela/es/generateAnimationName.js","webpack:///./node_modules/fela/es/generateClassName.js","webpack:///./node_modules/fela/es/isBase64.js","webpack:///./node_modules/fela/es/getFontUrl.js","webpack:///./node_modules/fela/es/getFontFormat.js","webpack:///./node_modules/fela/es/generateFontSource.js","webpack:///./node_modules/fela/es/generateStaticReference.js","webpack:///./node_modules/fela/es/getFontLocals.js","webpack:///./node_modules/fela/es/isSafeClassName.js","webpack:///./node_modules/fela/es/toCSSString.js","webpack:///./node_modules/fela/es/validateSelectorPrefix.js","webpack:///./node_modules/fela/es/createRenderer.js","webpack:///./node_modules/fela-plugin-embedded/es/index.js","webpack:///./node_modules/fela-plugin-fallback-value/es/index.js","webpack:///./node_modules/fela-plugin-custom-property/es/index.js","webpack:///./node_modules/fela-plugin-placeholder-prefixer/es/index.js","webpack:///./node_modules/rtl-css-js/dist/esm/convert-053e536c.js","webpack:///./node_modules/rtl-css-js/dist/esm/index.js","webpack:///./node_modules/fela-utils/es/getRuleScore.js","webpack:///./node_modules/fela-dom/es/dom/rehydration/extractSupportQuery.js","webpack:///./node_modules/fela-dom/es/dom/rehydration/generateCacheEntry.js","webpack:///./node_modules/fela-dom/es/dom/rehydration/rehydrateRules.js","webpack:///./node_modules/fela-dom/es/dom/rehydration/rehydrateSupportRules.js","webpack:///./node_modules/fela-dom/es/dom/connection/calculateNodeScore.js","webpack:///./node_modules/fela-utils/es/clusterCache.js","webpack:///./node_modules/fela-utils/es/generateCSSRule.js","webpack:///./node_modules/fela-dom/es/dom/connection/queryNode.js","webpack:///./node_modules/fela-dom/es/dom/connection/createNode.js","webpack:///./node_modules/fela-dom/es/dom/connection/getNodeFromCache.js","webpack:///./node_modules/fela-utils/es/generateCSSSupportRule.js","webpack:///./node_modules/fela-utils/es/applyKeysInOrder.js","webpack:///./node_modules/fela-utils/es/insertAtIndex.js","webpack:///./node_modules/fela-utils/es/objectSortByScore.js","webpack:///./node_modules/fela-utils/es/sheetMap.js","webpack:///./node_modules/fela-utils/es/cssifySupportRules.js","webpack:///./node_modules/fela-dom/es/server/getRehydrationIndex.js","webpack:///./node_modules/fela-dom/es/server/renderToSheetList.js","webpack:///./node_modules/fela-dom/es/dom/connection/insertRule.js","webpack:///./node_modules/fela-dom/es/dom/connection/insertRuleInDevMode.js","webpack:///./node_modules/fela-dom/es/dom/render.js","webpack:///./node_modules/fela-dom/es/dom/connection/createSubscription.js","webpack:///./node_modules/fela-dom/es/dom/rehydrate.js","webpack:///./node_modules/fela-bindings/es/RendererProviderFactory.js","webpack:///./node_modules/react-fela/es/context.js","webpack:///./node_modules/react-fela/es/RendererProvider.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaDisableAnimationsPlugin.js","webpack:///./node_modules/inline-style-expand-shorthand/es/expandProperty.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaExpandCssShorthandsPlugin.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaPerformanceEnhancer.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaSanitizeCssPlugin.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaStylisEnhancer.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/createFelaRenderer.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaFocusVisibleEnhancer.js","webpack:///./node_modules/@fluentui/react-northstar-fela-renderer/dist/es/felaInvokeKeyframesPlugin.js","webpack:///./node_modules/fela-plugin-rtl/es/index.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/renderer/RendererContext.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/mergeProviderContexts.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Provider/Provider.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_castFunction.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_arrayIncludes.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams/categoryColors.js","webpack:///./node_modules/lodash/last.js","webpack:///./node_modules/lodash/_baseDifference.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/values.js","webpack:///./node_modules/lodash/compact.js","webpack:///./node_modules/lodash/min.js","webpack:///./node_modules/lodash/sum.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Button/ButtonContent.js","webpack:///./node_modules/@fluentui/react-bindings/node_modules/scheduler/index.js","webpack:///./node_modules/lodash/inRange.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Tree/treeTitleBehavior.js","webpack:///./node_modules/stylis/stylis.js","webpack:///./node_modules/symbol-observable/es/index.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/tableCellBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/listItemBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/selectableListItemBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/navigableListItemBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/basicListItemBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/ListItem.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/tableHeaderCellBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/tableRowBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/stringLiteralsArray.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/context-selector/createContext.js","webpack:///./node_modules/@fluentui/react-component-event-listener/dist/es/useEventListener.js","webpack:///./node_modules/@fluentui/react-component-event-listener/dist/es/EventListener.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/_baseMap.js","webpack:///./node_modules/lodash/_baseUniq.js","webpack:///./node_modules/lodash/_baseFindIndex.js","webpack:///./node_modules/lodash/_arrayIncludesWith.js","webpack:///./node_modules/lodash/_parent.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/lodash/_baseSet.js","webpack:///./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack:///./node_modules/lodash/_baseAssign.js","webpack:///./node_modules/lodash/_getSymbolsIn.js","webpack:///./node_modules/lodash/_getAllKeysIn.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PaperclipIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MoreIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ArrowRightIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ArrowLeftIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TrashCanIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ExclamationCircleIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ExclamationTriangleIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/AddIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EditIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/AcceptIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ApprovalsAppbarIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/AppsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ArchiveIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ArrowDownIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ArrowSortIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ArrowUpIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/AudienceIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/AudioLoadingIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/AudioOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/AttendeeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BanIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BellIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BellSlashIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BellSnoozeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BluetoothIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BoldIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BookmarkIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BreakoutRoomIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BroadcastIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BroadcastViewFullscreenIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BroadcastViewLeftIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/BulletsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CalendarIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CalendarAgendaIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallBlockedIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallControlCloseTrayIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallControlReleaseIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallControlRequestIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallControlPresentNewIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallControlShareIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallControlStopPresentingNewIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallDialpadIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallEndIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallPstnIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallRecordingIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallVideoIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallVideoOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CameraIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CanvasAddPageIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallMissedLineIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CallParkingIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CastingIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChannelShareIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChatIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChatOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CheckmarkCircleIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChevronDownIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChevronDownMediumIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChevronEndIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChevronEndMediumIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ChevronStartIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CircleIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ClipboardCopiedToIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ClosedCaptionsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CloseIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CodeSnippetIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CollapseIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CompanionIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ComposeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ComputerAudioIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ComputerAudioOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ConferenceRoomDeviceIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ContactCardIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ContactGroupCallIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ContactGroupIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ContentIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/CustomerHubIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/DoorArrowLeftIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/DownloadIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EmailIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EmailWithDotIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EmojiIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EmojiSadIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EmojiSurprisedIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ErrorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ExcelColorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ExcelIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ExpandIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EyeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EyeFriendlierIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/EyeSlashIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesAftereffectsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesCodeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesEmptyIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesErrorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesFlashIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesGenericColoredIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesGifIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesHtmlColoredIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesIllustratorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesImageIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesIndesignIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesPdfColoredIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesPdfIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesPhotoshopIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesPictureColoredIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesSketchIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesSoundIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesTextColoredIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesTxtIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesUploadIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesVideoIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilesZipIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FilterIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FlagIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FluidIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FluidFileIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FontColorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FontSizeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/FormatIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GalleryIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GalleryNewIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GalleryNewLargeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GeofenceArrivesIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GeofenceLeavesIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GeofenceArrivesOrLeavesIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GiphyIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GlassesIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GridIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/GroupVideoCallGridIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/HandIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/HeadsetIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/HighlightIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/HorizontalRuleIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ImageAltTextIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ImageLibraryIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ImageUnavailableIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/IndentIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/InfoIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ItalicIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LeaveIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LightningIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LikeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LinkIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LiveIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LiveOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LocationIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/LockIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MarkAsUnreadIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MeetingNewIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MeetingTimeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MegaphoneIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MentionIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MenuIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MergeCallsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MessageSeenIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MicIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MicOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MicrophoneDisabledIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/MicrosoftStreamIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/NoPresenterIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/NotesIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/NotificationsMutedIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/NumberListIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OcrOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OcrOnIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OneNoteColorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OneNoteIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OneNoteMonoIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OneDriveIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OptionsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OutdentIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/OpenOutsideIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PanoramaIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PanoramaOffIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ParticipantAddIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ParticipantRemoveIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PauseIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PauseThickIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PhoneArrowIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PhoneClockIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PlayIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PlugsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PollIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PopupIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PowerPointColorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PowerPointIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PresenceAvailableIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PresenceStrokeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/PresenterIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/QnaIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/QuestionCircleIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/QuoteIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RadioButtonIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ReadAloudIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RaiseHandColoredIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RaiseHandDisabledIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RaiseHandIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ReactionsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RedbangIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RedoIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RemoveFormatIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ReplyIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RetryIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/RobotIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SaveIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ScreencastIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ScreenshareIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SearchIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SendIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SettingsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SettingsAudioIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ShareAltIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ShareGenericIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ShareLocationIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ShareToIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ShieldKeyholeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/Shift24hIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ShiftActivityIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SkypeLogoIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SpeakerMuteIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SpeakerPersonIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SpotlightIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SpotlightStopIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/StarIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/StickerIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/StrikeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SurveyIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SwitchCameraIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/SyncIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TableAddIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TableDeleteIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TableIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TabsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TagIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TeamCreateIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TeamsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TeamsMonochromeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TenantWorkIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TenantPersonalIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ThumbtackIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ThumbtackSlashIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TiltPanZoomIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ToDoListIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TranscriptIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TranslationIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TriangleEndIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TriangleDownIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TriangleUpIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/TvIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/UnderlineIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/UndoIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/UrgentIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/UserBlurIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/UserFriendsIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/UserPhoneIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VideoCameraEmphasisIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VideoLoadingIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VideomailIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VideoProhibitedIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VisioColorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VisioIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VolumeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VolumeDownIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/VolumeUpIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WandIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WhiteboardIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WindowMaximizeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WindowMinimizeIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WindowRestoreIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WordColorIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WordIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/WorkOrSchoolIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/YammerIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ZoomInIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ZoomOutIcon.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-icons-northstar/dist/es/components/ZoomToFitIcon.js","webpack:///./node_modules/lodash/mergeWith.js","webpack:///./node_modules/lodash/difference.js","webpack:///./node_modules/lodash/trim.js","webpack:///./node_modules/lodash/sortBy.js","webpack:///./node_modules/lodash/take.js","webpack:///./node_modules/lodash/has.js","webpack:///./node_modules/lodash/differenceBy.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/selectableListBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Tab/tabBehavior.js","webpack:///./node_modules/lodash/isBoolean.js","webpack:///./node_modules/css-in-js-utils/lib/assignStyle.js","webpack:///./node_modules/css-in-js-utils/lib/resolveArrayValue.js","webpack:///./node_modules/css-in-js-utils/lib/camelCaseProperty.js","webpack:///./node_modules/lodash/set.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Flex/Flex.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Flex/FlexItem.js","webpack:///./node_modules/@fluentui/react-teams/node_modules/@fluentui/react-bindings/dist/es/utils/getUnhandledProps.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/CardHeader.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/CardBody.js","webpack:///./node_modules/symbol-observable/es/ponyfill.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/FormLabel.js","webpack:///./node_modules/lodash/forEachRight.js","webpack:///./node_modules/lodash/groupBy.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useEventCallback.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useCallbackRef.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/index.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/getReactFiberFromNode.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/getBoundary.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/usePopper.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useDeepMemo.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useFirstMount.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/listBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/navigableListBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/List/basicListBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/List/List.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Slider/sliderBehavior.js","webpack:///./node_modules/@fluentui/state/dist/es/managers/sliderManager.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Slider/Slider.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/styles/resolveVariables.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/styles/resolveStyles.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/styles/getStyles.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Radio/radioGroupBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/RadioGroup/RadioGroup.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Header/HeaderDescription.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Header/Header.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/gridCellBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/gridRowNestedBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/doesNodeContainClick.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Box/indicatorBehavior.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/FocusZone/FocusTrapZone.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/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.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/_baseMergeDeep.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseIsMatch.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/_mapToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/lodash/_isFlattenable.js","webpack:///./node_modules/lodash/_baseIsNaN.js","webpack:///./node_modules/lodash/_strictIndexOf.js","webpack:///./node_modules/lodash/_createSet.js","webpack:///./node_modules/lodash/_baseInvoke.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/lodash/_baseFilter.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/lodash/_castSlice.js","webpack:///./node_modules/lodash/_charsEndIndex.js","webpack:///./node_modules/lodash/_charsStartIndex.js","webpack:///./node_modules/lodash/_stringToArray.js","webpack:///./node_modules/lodash/_asciiToArray.js","webpack:///./node_modules/lodash/_hasUnicode.js","webpack:///./node_modules/lodash/_unicodeToArray.js","webpack:///./node_modules/lodash/_basePick.js","webpack:///./node_modules/lodash/_basePickBy.js","webpack:///./node_modules/lodash/flatten.js","webpack:///./node_modules/lodash/head.js","webpack:///./node_modules/lodash/_baseExtremum.js","webpack:///./node_modules/lodash/_baseLt.js","webpack:///./node_modules/lodash/_baseSum.js","webpack:///./node_modules/lodash/_baseOrderBy.js","webpack:///./node_modules/lodash/_baseSortBy.js","webpack:///./node_modules/lodash/_compareMultiple.js","webpack:///./node_modules/lodash/_compareAscending.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/@fluentui/react-bindings/node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/lodash/_baseValues.js","webpack:///./node_modules/lodash/_baseInRange.js","webpack:///./node_modules/lodash/_baseSome.js","webpack:///./node_modules/lodash/_baseHas.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/isString.js","webpack:///./node_modules/hyphenate-style-name/index.js","webpack:///./node_modules/lodash/_baseAssignIn.js","webpack:///./node_modules/lodash/_copySymbols.js","webpack:///./node_modules/lodash/_copySymbolsIn.js","webpack:///./node_modules/lodash/_initCloneArray.js","webpack:///./node_modules/lodash/_initCloneByTag.js","webpack:///./node_modules/lodash/_cloneDataView.js","webpack:///./node_modules/lodash/_cloneRegExp.js","webpack:///./node_modules/lodash/_cloneSymbol.js","webpack:///./node_modules/lodash/isMap.js","webpack:///./node_modules/lodash/_baseIsMap.js","webpack:///./node_modules/lodash/isSet.js","webpack:///./node_modules/lodash/_baseIsSet.js","webpack:///./node_modules/lodash/_baseUnset.js","webpack:///./node_modules/lodash/_customOmitClone.js","webpack:///./node_modules/react-perfect-scrollbar/lib/scrollbar.js","webpack:///./node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js","webpack:///./node_modules/lodash/_createRange.js","webpack:///./node_modules/lodash/_baseRange.js","webpack:///./node_modules/lodash/_arrayEachRight.js","webpack:///./node_modules/lodash/_baseEachRight.js","webpack:///./node_modules/lodash/_baseForOwnRight.js","webpack:///./node_modules/lodash/_baseForRight.js","webpack:///./node_modules/lodash/_createAggregator.js","webpack:///./node_modules/lodash/_arrayAggregator.js","webpack:///./node_modules/lodash/_baseAggregator.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/elementContains.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useAutoControlled.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/utils/mergeVariablesOverrides.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Image/imageBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/types.internal.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/getBasePlacement.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/FocusZone/AutoFocusZone.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/shouldPreventDefaultOnKeyDown.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/colors.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/siteVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Avatar/avatarVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Button/buttonVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Chat/chatVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Chat/chatMessageVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Checkbox/checkboxVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Dialog/dialogVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Divider/dividerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Embed/embedVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Header/headerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Input/inputVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Menu/menuVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/RadioGroup/radioGroupItemVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Segment/segmentVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Text/textVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/TextArea/textAreaVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Toolbar/toolbarVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Reaction/reactionVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Provider/providerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Dropdown/dropdownVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Label/labelVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Tooltip/tooltipContentVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Datepicker/datepickerCalendarCellVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/components/Datepicker/datepickerCalendarCellButtonVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-high-contrast/index.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/colors.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/siteVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Avatar/avatarVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Chat/chatVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Chat/chatMessageVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Dialog/dialogVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Divider/dividerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Header/headerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Header/headerDescriptionVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/RadioGroup/radioGroupItemVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Segment/segmentVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Text/textVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Menu/menuVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/SvgIcon/svgIconVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Reaction/reactionVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Provider/providerVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Label/labelVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Datepicker/datepickerCalendarCellVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/components/Datepicker/datepickerCalendarCellButtonVariables.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/themes/teams-dark/index.js","webpack:///./node_modules/@fluentui/styles/dist/es/createTheme.js","webpack:///./node_modules/@uifabric/utilities/lib/dom/raiseClick.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/getOrGenerateIdFromShorthand.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/partitionPopperPropsFromShorthand.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/context-selector/useContextSelectors.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/whatInput.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useStateManager.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/htmlPropsUtils.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/CloseIcon.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/ExclamationCircleIcon.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/CheckmarkCircleIcon.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/ChevronDownIcon.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/gridCellWithFocusableElementBehavior.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useTriggerElement.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Dialog/dialogBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/FormDropdown.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Form/formFieldBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/FormRadioGroup.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/EyeSlashIcon.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/MoreIcon.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/BoldIcon.js","webpack:///./node_modules/@fluentui/react-icons-northstar/dist/es/components/InfoIcon.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Tab/tabListBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Button/toggleButtonBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/toolbarVariablesContext.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarCustomItem.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarDivider.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarItemBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarMenuItemCheckboxBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarMenuItemBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarMenuBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarMenuItemRadioBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarMenuRadioGroupBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemIcon.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/toolbarMenuContext.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItemContent.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuItem.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarMenuRadioGroupWrapperBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuRadioGroupWrapper.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuRadioGroup.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarMenuDividerBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenuDivider.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarMenu.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarItemWrapper.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarItemIcon.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarItem.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarRadioGroupItemBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Toolbar/toolbarRadioGroupBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/ToolbarRadioGroup.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Toolbar/Toolbar.js","webpack:///./node_modules/@uifabric/merge-styles/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@uifabric/merge-styles/lib/Stylesheet.js","webpack:///./node_modules/@uifabric/merge-styles/lib/StyleOptionsState.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/kebabRules.js","webpack:///./node_modules/@uifabric/merge-styles/lib/getVendorSettings.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/prefixRules.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/provideUnits.js","webpack:///./node_modules/@uifabric/merge-styles/lib/transforms/rtlifyRules.js","webpack:///./node_modules/@uifabric/merge-styles/lib/styleToClassName.js","webpack:///./node_modules/@uifabric/merge-styles/lib/mergeStyles.js","webpack:///./node_modules/@uifabric/merge-styles/lib/extractStyleParts.js","webpack:///./node_modules/@uifabric/utilities/lib/scroll.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Status/statusBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Avatar/AvatarStatusIcon.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Avatar/AvatarStatus.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Status/Status.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Avatar/AvatarImage.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Avatar/AvatarIcon.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Avatar/AvatarLabel.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Avatar/Avatar.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Card/cardBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/CardColumn.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/CardFooter.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/CardPreview.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/CardTopControls.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Card/Card.js","webpack:///./node_modules/@fluentui/react-component-nesting-registry/dist/es/NestingContext.js","webpack:///./node_modules/@fluentui/react-component-nesting-registry/dist/es/NestingChild.js","webpack:///./node_modules/@fluentui/react-component-nesting-registry/dist/es/utils/RefStack.js","webpack:///./node_modules/@fluentui/react-component-nesting-registry/dist/es/NestingRoot.js","webpack:///./node_modules/@fluentui/react-component-nesting-registry/dist/es/NestingAuto.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Alert/alertBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Alert/alertWarningBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Alert/alertBaseBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Alert/Alert.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/gridHeaderCellBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/gridRowBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/gridHeaderRowBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/gridNestedBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/MenuButton/menuButtonBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/MenuButton/MenuButton.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/MenuButton/focusUtils.js","webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Dialog/DialogFooter.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Dialog/Dialog.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/elementContainsAttribute.js","webpack:///./node_modules/@fluentui/dom-utilities/lib/findElementRecursive.js","webpack:///./node_modules/@uifabric/utilities/lib/focus.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/TextArea/textAreaBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/TextArea/TextArea.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/FormField.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Form/Form.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tooltip/TooltipContent.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Tooltip/Tooltip.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Divider/DividerContent.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Divider/Divider.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Table/tableBehavior.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/components/Table/Table.js","webpack:///./node_modules/@fluentui/react-bindings/dist/es/hooks/useMergedRefs.js","webpack:///./node_modules/@fluentui/react-northstar/dist/es/utils/positioner/Popper.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Tooltip/tooltipAsDescriptionBehavior.js","webpack:///./node_modules/@fluentui/accessibility/dist/es/behaviors/Tooltip/tooltipAsLabelBehavior.js"],"names":["module","exports","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","key","call","join","default","iconClassNames","filled","outline","noopRenderer","registerUsage","unregisterUsage","renderFont","renderGlobal","renderRule","Provider","props","children","callable","possibleFunction","isObject","o","isValid","k","deepmerge","target","source","Object","keys","forEach","_len","sources","_key","filter","Boolean","reduce","acc","src","withDebugId","data","debugId","emptyTheme","siteVariables","fontSizes","componentVariables","componentStyles","fontFaces","staticStyles","animations","stylesA","stylesB","result","partName","slotA","slotB","styleParam","mergeComponentStyles","initial","filteredSources","next","accumulatedVariables","fn","computedComponentVariables","defaultContextValue","rtl","undefined","disableAnimations","performance","enableSanitizeCssPlugin","enableStylesCaching","enableVariablesCaching","enableBooleanVariablesCaching","renderer","theme","telemetry","FluentContext","useFluentContext","variablesCache","WeakMap","classesCache","stylesCache","options","primaryDisplayName","telemetryPartStart","enabled","now","resolvedVariables","displayNames","variables","enabledVariablesCaching","componentThemeVariables","effectiveDisplayNames","displayName","has","set","variablesThemeCache","get","handlingDisplayName","map","allDisplayNames","inlineStylesProps","msResolveVariablesTotal","_resolveStyles","componentClassName","className","componentProps","performanceFlags","design","styles","noInlineStylesOverrides","noVariableOverrides","every","variableName","mergedStyles","cacheEnabled","root","_styles","rendererParam","direction","sanitizeCss","resolvedStylesDebug","propsCacheKey","JSON","stringify","variablesCacheKey","componentCacheKey","Proxy","_resolvedStyles","_classes","slotName","lazyEvaluationKey","slotCacheKey","defineProperty","enumerable","configurable","val","_Object$assign","assign","stylesThemeCache","_Object$assign2","msResolveStylesTotal","_Object$assign3","classesThemeCache","stylesRootCacheHits","stylesSlotsCacheHits","_Object$assign4","styleObj","resultClassName","msRenderStylesTotal","resolvedStyles","_mergedStyles$slotNam","_mergedStyles","_Object$assign5","_Object$assign6","svgIconClassName","svgIconDisplayName","svgIconHandledProps","_ref","svg","_ref$handledProps","handledProps","Component","context","alt","ariaLabel","bordered","circular","disabled","_props$rotate","rotate","_props$size","size","xSpacing","_composeOptions$mapPr","_options$className","composeOptions","_options$mapPropsToSt","mapPropsToStyles","_options$mapPropsToIn","mapPropsToInlineStyles","_options$unstable_pro","unstable_props","_options$rtl","componentStylesProps","composeProps","composeStylesProps","mapPropsToStylesPropsChain","debug","fluentUIDebug","_getStyles","saveDebug","current","unhandledProps","getUnhandledProps","concat","role","typeOf","x","prototype","toString","domNode","propName","Element","Error","componentName","disallowedProps","disallowed","disallowedProp","validators","args","validator","nodeContent","wrapperShorthand","shorthandAllowingChildren","objectItemShorthand","itemShorthand","kindPropValues","kind","itemShorthandWithoutJSX","collectionObjectShorthand","collectionShorthand","accessibility","align","name","isRequired","delay","duration","fillMode","iterationCount","playState","timingFunction","position","display","top","right","bottom","left","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","margin","marginTop","marginRight","marginBottom","marginLeft","width","height","minWidth","maxWidth","minHeight","maxHeight","ref","baseInvoke","invoke","baseRest","useMemoOne","getResult","inputs","isFirstRun","committed","cache","newInputs","lastInputs","areInputsEqual","useMemo","useCallback","callback","codes","3","6","8","9","12","13","16","17","18","19","20","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","48","49","50","51","52","53","54","55","56","57","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","93","112","113","114","115","116","117","118","119","120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","144","145","181","182","183","186","187","188","189","190","191","192","219","220","221","222","224","225","246","247","248","249","250","251","getCode","eventOrKey","keyCode","which","keyboardKey","code","Number","_rtlKeyMap","FocusZoneTabbableElements","FocusZoneDirection","SpacebarKey","isKeyModifiersMatch","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Enter","Home","PageDown","PageUp","Tab","modifierValue","combinationValue","rtlKeyMap","componentActionHandlers","behaviorActions","isRtlEnabled","slotKeyHandlers","componentHandlerNames","behaviorSlotActions","handledActions","actionName","slotAction","actionHasKeyCombinations","keyCombinations","actionHandledByComponent","indexOf","onKeyDown","event","keyCombination","keyToRtlKey","keysCombinations","some","keysCombination","altKey","shiftKey","metaKey","ctrlKey","emptyBehavior","attributes","keyHandlers","_createForOfIteratorHelperLoose","allowArrayLike","it","Symbol","iterator","minLen","_arrayLikeToArray","n","slice","constructor","from","test","_unsupportedIterableToArray","done","value","TypeError","bind","arr","len","arr2","getPreviousElement","rootElement","currentElement","checkNode","suppressParentTraversal","traverseChildren","includeElementsInFocusZones","tabbable","isCurrentElementVisible","isElementVisible","isElementFocusZone","isElementFocusSubZone","childMatch","lastElementChild","isElementTabbable","childMatchSiblingMatch","previousElementSibling","childMatchParent","parentElement","childMatchParentMatch","siblingMatch","getNextElement","suppressChildTraversal","firstElementChild","nextElementSibling","element","getAttribute","visibilityAttribute","offsetHeight","offsetParent","isVisible","checkTabIndex","tabIndex","tabIndexAttributeValue","parseInt","isFocusableAttribute","isTabIndexSet","tagName","_allInstances","outerZones","_windowToOuterZoneMap","Map","register","window","FZ","_this$_windowToOuterZ2","_this$_windowToOuterZ","this","add","Set","unregister","_this$_windowToOuterZ3","_this$_windowToOuterZ4","delete","getOutZone","ALLOWED_INPUT_TYPES","_onKeyDownCapture","ev","_outerZones$getOutZon","getWindow","zone","updateTabIndexes","_React$Component","FocusZone","_this","_root","_id","_activeElement","_lastIndexPath","_isParked","_parkedTabIndex","_defaultFocusElement","_focusAlignment","_isInnerZone","_processingTabKey","windowElement","setRef","elem","_onBlur","setParkedFocus","_onFocus","newActiveElement","_this$props","onActiveElementChanged","stopFocusPropagation","shouldFocusInnerElementWhenReceivedFocus","defaultTabbableElement","isImmediateDescendant","isImmediateDescendantOfZone","getParent","maybeElementToFocus","focus","setFocusAlignment","stopPropagation","_onMouseDown","path","pop","setActiveElement","_onKeyDown","_this$props2","shouldEnterInnerZone","pagingSupportDisabled","doc","activeElement","isDefaultPrevented","innerZone","getFirstInnerZone","focusElement","firstChild","tryInvokeClickForFocusable","vertical","preventDefaultWhenHandled","moveFocusLeft","moveFocusRight","horizontal","moveFocusUp","moveFocusDown","moveFocusPaging","handleTabKey","all","inputOnly","isElementInput","focusChanged","shouldWrapFocus","isRtl","shouldResetActiveElementWhenTabFromZone","isContentEditableElement","shouldInputLoseFocus","lastChild","preventDefault","getHorizontalDistanceFromCenter","isForward","activeRect","targetRect","leftAlignment","targetRectTop","Math","floor","activeRectBottom","targetRectBottom","activeRectTop","abs","_proto","componentDidMount","_outerZones$getOutZon2","body","nodeType","addEventListener","getDocument","querySelector","shouldFocusOnMount","componentDidUpdate","preventFocusRestoration","elementToFocus","parent","_step","_iterator","index","nextChild","min","getFocusableByIndexPath","componentWillUnmount","removeEventListener","render","ElementType","as","propTypes","evaluateFocusBeforeRender","onFocus","onMouseDownCapture","forceIntoFirstElement","ownerZoneElement","getOwnerZone","ownerZone","elementContains","focusLast","forceAlignment","shouldReceiveFocus","focusedElement","shouldRestoreFocus","fromElement","toElement","unshift","getElementIndexPath","isParked","allowFocusRoot","setAttribute","removeAttribute","previousActiveElement","targetElement","shouldRaiseClicks","raiseClick","forRootElement","child","match","moveFocus","getDistanceFromCenter","useDefaultWrap","candidateDistance","candidateElement","changedFocus","isBidirectional","bidirectional","getBoundingClientRect","elementDistance","isCircularNavigation","_this2","targetTop","distance","_this3","_this4","shouldWrap","parseFloat","toFixed","_this5","scrollableParent","targetBottom","pagesize","clientHeight","_targetRect2","isHorizontal","isVertical","rect","onElement","childNodes","childIndex","toLowerCase","type","selectionStart","isRangeSelected","selectionEnd","inputValue","isReadonly","readOnly","shouldInputLoseFocusOnArrowKey","noWrapDataAttribute","checkForNoWrap","defaultProps","EInputWidth","EInlineInputType","EInputBlockType","useIsomorphicLayoutEffect","behavior","_options","actionHandlers","_options$mapPropsToBe","debugName","mapPropsToBehavior","definition","behaviorProps","keyActions","focusZone","latestDefinition","slotHandlers","slotProps","getA11yProps","userProps","hasKeyDownHandlers","childBehavior","childBehaviors","e","_latestDefinition$cur","_latestDefinition$cur2","accessibilityHandler","userHandler","unstable_wrapWithFocusZone","unstable_behaviorDefinition","__assign","t","s","p","boardItemBehavior","_props","setMultiple","gridCellWithFocusableElementBehavior","Escape","BoardItemBadges","_a","badges","createElement","Box","badgeKey","Flex","color","hAlign","vAlign","PaperclipIcon","Text","content","BoardItemUsers","associatedUserKeys","users","locale","Fragment","reverse","userKey","user","Avatar","getInitials","borderColor","colorScheme","background","order","image","BoardItemBody","textObject","BoardItemPreview","preview","backgroundSize","backgroundPosition","style","backgroundImage","memo","isDragging","draggableProps","dragHandleProps","boardItemCardLayout","item","editItemDialog","itemNode","setItemNode","getA11Props","currentTarget","Ref","innerRef","Card","elevated","elevation","elevations","hoverElevation","backgroundColor","borderHover","border","zIndex","title","borderRadius","overflow","previewPosition","Body","flex","weight","fontSize","subtitle","foreground1","Popup","trigger","Button","text","iconOnly","icon","MoreIcon","dialogBehavior","autoFocus","bodyItem","bi","itemKey","Footer","BoardItemDialogAction","MaxWidth","flush","_b","errorId","describesId","labelId","fullInputId","inputId","ErrorMessage","excludeIcon","message","id","red","foreground","ExclamationCircleIcon","DropdownBlock","errors","formState","setFormState","error","selectedValues","items","selected","includes","header","fluid","label","onChange","_e","multiple","values","selectedItemProps","defaultValue","find","errorMessage","splitQuery","rowSize","breakpointOffset","textInputStyles","group","alignSelf","InlineInputsBlock","_c","fields","rows","j","rowFields","r","flexFlow","field","Input","Label","htmlFor","selectedValues_1","Dropdown","placeholder","CheckboxesBlock","selectableListBehavior","Checkbox","checked","layout","next_values","v","MultilineTextBlock","TextArea","resize","RadioButtonsBlock","FormInputBlock","FormSection","section","preface","foreground2","inputBlocks","inputBlock","gi","keyPrefix","topError","headerSection","sections","Alert","danger","visible","dismissible","ExclamationTriangleIcon","si","CommunicationOptions","Illustration","option","cloneElement","isImageOrNot","input","Promise","resolve","url","reject","Image","onload","onerror","then","DEFAULT_MESSAGE","desc","actions","primary","secondary","tertiary","DEFAULT_ILLUSTRATIONS","Default","xmlns","viewBox","fill","d","cx","cy","gradientTransform","gradientUnits","offset","stopColor","stopOpacity","Dark","HighContrast","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeWidth","stroke","EMPTY_MESSAGE","EMPTY_ILLUSTRATIONS","x1","y1","x2","y2","transform","opacity","ERROR_MESSAGE","ERROR_ILLUSTRATIONS","HELLO_MESSAGE","HELLO_ILLUSTRATIONS","fillRule","THANKS_MESSAGE","THANKS_ILLUSTRATIONS","xlinkHref","WELCOME_MESSAGE","Communication","illustration","onInteraction","useState","componentTheme","setComponentTheme","safeImageUrl","setSafeImageUrl","_fields","Empty","Hello","Thanks","Welcome","themedImage","onClick","globalTheme","gap","column","objectFit","Loader","FlexItem","textAlign","EChartTypes","EPointStyles","EShapes","EyeSlashIcon","extendStatics","__extends","b","setPrototypeOf","__proto__","__","create","lineChartPatterns","lineBorderDash","pointStyle","Circle","Rectangle","Triangle","RectangleRotated","chartLineStackedDataPointPatterns","shapeType","Square","DiagonalRightLeft","Grid","VerticalLine","GridRightLeft","Diagonal","chartBarDataPointPatterns","chartBubbleDataPointPatterns","Shape","_super","patternColor","canvas","document","getContext","fillStyle","fillRect","setStrokeProps","strokeStyle","lineWidth","lineJoin","lineCap","setFillProps","drawTile","halfSize","beginPath","drawSquare","offsetX","offsetY","closePath","drawDiagonalLine","moveTo","lineTo","translate","PI","drawOpositeDiagonalLine","Line","drawLine","quarterSize","shapes","buildPattern","patternCanvas","patternContext","outerSize","shape","pattern","createPattern","suffixes","chartAxisCallback","String","exp","log","pow","hexToRgb","hex","exec","usNumberFormat","split","replace","tooltipTrigger","chart","mergeDuplicates","patterns","duplicates_1","segments_1","datasets","dataset","borderWidth","segmentId","getDatasetMeta","update","tooltip","_active","segment","brand","draw","tooltipAxisYLine","ctx","activePoint","y","tooltipPosition","y_axis","scales","topY","bottomY","save","setLineDash","yAxes","gridLines","arc","_datasetIndex","hoverBorderColor","restore","chartConfig","responsive","maintainAspectRatio","animation","scaleLabel","elements","line","tension","hover","mode","intersect","tooltips","tooltipConfig","xAxes","ticks","labelOffset","maxRotation","minRotation","borderDash","zeroLineBorderDash","stacked","maxTicksLimit","drawBorder","drawTicks","tickMarkLength","axesConfig","axesXGridLines","createLinearGradient","addColorStop","grey","fontColor","zeroLineColor","setTooltipColorScheme","chartDataPointColors","verticalDataAlignment","border2","foregroundFocus","multiKeyBackground","white","titleFontColor","foreground3","bodyFontColor","footerFontColor","callbacks","labelColor","tooltipItem","datasetIndex","yPadding","xPadding","caretPadding","titleFontStyle","titleFontSize","bodySpacing","bodyFontSize","bodyFontStyle","footerFontStyle","footerFontSize","tooltipItems","yLabel","footer","xLabel","LabelColorValue","dataPointColor","colors","labelColorValueRef","useRef","canvasRef","setTransform","scale","shadow","ellipse","legendLabels","userSelect","legendItem","hidden","onLegendClick","alignItems","fitted","LegendItems","labels","overflowOpen","setOverflowOpen","overflowItems","setOverflowItems","legendItems","flexGrow","overflowItem","BoldIcon","onOverflowOpenChange","onOverflow","getOverflowItems","startIndex","il","a","jl","LineChart","gradients","chartRef","chartId","random","substr","background4","selectedIndex","selectedDataSet","plugins","afterDatasetsDraw","removeFocusStyleOnClick","changeFocus","resetChartStates","destroy","meta","boxShadow","removeDataPointsHoverStates","controller","removeHoverStyle","showFocusedDataPoint","pointID","setHoverStyle","getElementById","activeElements","requestedElem","_index","splice","values_1","sorted_1","sort","nextValue_1","findIndex","nextDataSet","gradientStroke","hoverGradientStroke","colorRGB","hoverColorRGB","dataPointConfig","hoverBorderWidth","hoverBackgroundColor","pointBorderColor","pointBackgroundColor","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","borderCapStyle","borderJoinStyle","pointBorderWidth","pointRadius","pointHoverRadius","createAreaChartDataPoints","setKey","BarChart","config","offsetGridLines","total","toPrecision","x_axis","leftX","rightX","tooltipAxisXLine","borderSkipped","BarHorizontalChart","mirror","axis","font","textBaseline","defaultColor","bar","fillText","_model","horizontalBarValue","chartArea","barPercentage","PieChart","cutoutPercentage","console","warn","backgroundFocus2","pieChartPatterns","pieChartHoverPatterns","defaults","global","legend","defaultFontFamily","LineArea","LineStacked","Bar","BarStacked","BarHorizontal","BarHorizontalStacked","Pie","Doughnut","Bubble","EWidgetSize","ToolbarFind","clearable","SearchIcon","flexShrink","inputProps","onFindQueryChange","findActive","toolbarButtonStyles","setFindActive","Tooltip","tooltipAsLabelBehavior","toolbarMenuProps","toolbarActionTooltipProps","needsSeparator","actionKey","actionKeys","InFlowToolbarItem","action","contentIcon","justifyContent","Icon","ButtonContent","actionGroups","filters","filtersSingleSelect","allActions","acc_i","actionGroupSlug","actionGroup","acc_j","flattenedActions","filtersOpen","setFiltersOpen","setLayout","_d","layoutQuery","onChangeLayout","matches","matchMedia","inFlowToolbarItems","subject","overflowToolbarItems","displayFindOnly","ToolbarTheme","background2","menu","open","ToolbarFilter","singleSelect","onOpenChange","onSelectedFiltersChange","TeamsTheme","buttonStyles","componentStyleParameters","foregroundHover1","checkboxStyles","gridTemplateColumns","borderZero","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","dropdownStyles","borderStyle","pointerEvents","container","triggerButton","radiogroupItemStyles","indicator","backgroundClip","borderFocus1","backgroundHover","backgroundPressed","foregroundPressed","selector","sharedComponentStyles","fontWeight","FormMessage","RadioGroupItem","mergeSharedComponentStyles","sharedStyles","2","4","64","highContrastThemeOverrides","foregroundHover","foreground4","alertStyles","statusNote","colorSchemeDefault","flexStyles","appTileVertical","colorPaletteV2","black","25","100","150","200","230","270","300","310","350","400","430","440","450","460","500","550","600","650","700","750","800","850","870","900","910","1000","background1","background3","background5","border1","border3","foregroundHover2","backgroundHover1","backgroundHover2","backgroundHover3","backgroundHover4","foregroundActive","foregroundActive1","backgroundActive","backgroundActive1","borderActive","borderFocus","borderFocusWithin","foregroundDisabled","foregroundDisabled1","borderDisabled","backgroundDisabled","backgroundDisabled1","foregroundPressed1","borderPressed","foregroundActive2","borderActive1","borderActive2","foregroundFocus1","foregroundFocus2","foregroundFocus3","foregroundFocus4","backgroundFocus","backgroundFocus1","backgroundFocus3","defaultV2ThemeOverrides","teams","isCallingSidePanel","borderLeft","treeStyles","isCallingRoster","backgroundHover6","darkV2ThemeOverrides","Tree","_extends","interpolate","template","interpolationArgs","RegExp","getText","currentLocale","_i","hello","cancel","confirm","discard","EnterKey","condition","hookCallback","hooks","hasOwnProp","isObjectEmpty","obj","getOwnPropertyNames","isUndefined","isNumber","isDate","Date","res","extend","valueOf","createUTC","format","strict","createLocalOrUTC","utc","getParsingFlags","m","_pf","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","_isValid","flags","parsedParts","isNowValid","isNaN","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","momentProperties","updateInProgress","copyConfig","to","prop","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","stack","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","zeroFill","number","targetLength","forceSign","absNumber","zerosToFill","max","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","func","localeData","formatMoment","expandFormat","array","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","isLeapYear","year","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","month","date","daysInMonth","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","daysInYear","parseTwoDigitYear","getSetYear","createDate","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","w","ww","MM","yy","meridiemParse","locales","localeFamilies","commonPrefix","arr1","minl","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","getLocale","defineLocale","abbr","_config","parentLocale","names","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","string","configFromStringAndFormat","untruncateYear","yearStr","configFromRFC2822","parsedArray","monthStr","dayStr","hourStr","minuteStr","secondStr","weekdayStr","parsedInput","getDay","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","setUTCMinutes","getUTCMinutes","c","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","_week","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","erasConvertYear","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromStringAndArray","createFromInputFallback","configFromString","dayOrDate","minute","second","millisecond","configFromObject","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","period","tmp","addSubtract","isAdding","invalid","subtract","isString","isMomentInput","arrayTest","dataTypeTest","isNumberOrStringArray","property","objectTest","propertyTest","properties","isMomentInputObject","isCalendarSpec","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","matchEraAbbr","erasAbbrRegex","computeErasParse","abbrPieces","namePieces","narrowPieces","eras","narrow","_erasRegex","_erasNameRegex","_erasAbbrRegex","_erasNarrowRegex","addWeekYearFormatToken","getter","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","erasNameRegex","erasNarrowRegex","erasParse","_eraYearOrdinalRegex","eraYearOrdinalParse","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetMillisecond","getSetSecond","parseMs","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","toArray","toObject","toDate","toISOString","keepOffset","inspect","prefix","suffix","isLocal","for","toJSON","unix","creationData","eraName","since","until","eraNarrow","eraAbbr","eraYear","dir","isoWeeks","weekInfo","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","array1","array2","dontConvert","lengthDiff","diffs","compareArrays","proto$1","get$1","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","tok","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","_eras","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","argWithSuffix","argThresholds","withSuffix","th","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","factory","_useTelemetry","setStart","setEnd","getAttributes","forElements","createCommon","baseGet","object","createSvgIcon","contextualColors","naturalColors","0","orange","pink","green","yellow","contextualAndNaturalColors","primitiveColors","transparentColors","silver","ruby","onyx","amethyst","createColorScheme","customValues","shadowHover","shadowActive","shadowFocus","shadowPressed","shadowDisabled","foreground5","foreground6","foreground7","foreground8","backgroundPressed3","backgroundActive2","borderActive3","borderActive4","backgroundDisabled2","backgroundDisabled3","background6","backgroundPressed1","availableColors","getColorSchemeKey","isValidColor","getColorScheme","_objectWithoutPropertiesLoose","excluded","sourceKeys","arrayMap","baseIteratee","baseMap","collection","iteratee","getRect","center","expand","expandBy","shrink","shrinkBy","noSpacing","createBox","_ref2","borderBox","_ref2$margin","_ref2$border","_ref2$padding","marginBox","paddingBox","contentBox","parse","raw","original","change","shiftBy","shifted","withScroll","scroll","pageXOffset","pageYOffset","calculateBox","getBox","el","getComputedStyle","FOCUSZONE_ID_ATTRIBUTE","HIDDEN_FROM_ACC_TREE","getFirstFocusable","getLastFocusable","getFirstTabbable","getLastTabbable","targetToFocusOnNextRepaint","focusAsync","win","requestAnimationFrame","commonPropTypes","_config$accessibility","_config$as","_config$children","_config$className","_config$color","_config$content","_config$styled","styled","safeIsNaN","first","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","IS_FOCUSABLE_ATTRIBUTE","IS_ENTER_DISABLED_ATTRIBUTE","extendColorScheme","overrides","pickValuesFromColorScheme","componentAreas","colorValues","accumulator","area","_inheritsLoose","subClass","superClass","arrayLikeKeys","baseKeys","isArrayLike","_documentRemSize","getFontSizeValue","pxToRem","valueInPx","baseRemSize","documentElement","getDocumentRemSize","__spreadArrays","computeDisplayNames","inputOptions","parentOptions","overrideStyles","defaultComposeOptions","slots","__self","state","resolveSlotProps","shorthandConfig","mapPropsToSlotPropsChain","inputClasses","mapPropsToStylesProps","nextProps","mergedSlotProps","slot","mergeComposeOptions","fluentComposeConfig","wasComposedPreviously","moment","colorName","conversions","createCommonjsModule","reverseKeywords","convert","rgb","channels","hsl","hsv","hwb","cmyk","xyz","lab","lch","keyword","ansi16","ansi256","hcg","apple","gray","g","delta","rdif","gdif","bdif","diffc","reversed","currentClosestKeyword","currentClosestDistance","Infinity","z","t1","t2","t3","smin","lmin","hi","f","q","sl","vmin","wh","bl","ratio","z2","atan2","sqrt","hr","cos","sin","ansi","mult","rem","substring","colorString","char","integer","hue","chroma","mg","pure","deriveBFS","fromModel","graph","models","buildGraph","queue","adjacents","adjacent","node","link","wrapConversion","toModel","cur","conversion","routes","route","wrappedFn","wrapRounded","wrapRaw","colorConvert","colorName$1","getRgba","getHsla","getRgb","rgba","getHsl","hsla","getHwb","getAlpha","vals","hexString","hexDouble","rgbString","alpha","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","reverseNames","hexAlpha","num","str","Color","valid","setValues","lightness","whiteness","cyan","setSpace","rgbArray","hslArray","hsvArray","hwbArray","cmykArray","rgbaArray","hslaArray","setChannel","blue","saturation","saturationv","blackness","magenta","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","dark","light","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","degrees","mix","mixinColor","w1","w2","spaces","maxes","getValues","space","capped","chans","sname","svalues","chartjsColor","isValidKey","helpers","noop","uid","isNullOrUndef","valueOrDefault","valueAtIndexOrDefault","thisArg","each","loopable","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","tval","sval","merge","_mergerIf","mergeIf","merger","dst","inherits","extensions","me","ChartElement","Surrogate","__super__","_deprecated","scope","previous","helpers_core","callCallback","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","clear","clearRect","roundedRect","radius","drawPoint","rotation","xOffset","yOffset","cornerRadius","rad","drawImage","SQRT1_2","_isPointInArea","point","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","_set","defaultFontColor","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","helpers_options","toLineHeight","toPadding","_parseFont","globalDefaults","family","fontFamily","lineHeight","fontStyle","toFontString","info","cacheable","exports$2","_factorize","log10","exponent","LOG10E","powerOf10","helpers_math","helpers$1","easing","math","getRtlAdapter","rectX","setWidth","xPlus","leftForLtr","itemWidth","_itemWidth","overrideTextDirection","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","configuration","initialize","_type","pivot","_view","_start","transition","ease","start","view","actual","origin","c0","c1","hasValue","core_element","exports$3","currentStep","numSteps","onAnimationProgress","onAnimationComplete","core_animation","onProgress","onComplete","core_animations","request","addAnimation","lazy","startTime","animating","cancelAnimation","requestAnimFrame","startDigest","advance","nextStep","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","listeners","DatasetController","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","getDataset","scalesOpts","xAxisID","yAxisID","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","createMetaDataset","_chart","createMetaData","metaData","addElementAndReset","updateElement","buildOrUpdateElements","isExtensible","method","resyncElements","_configure","_cachedDataOpts","easingValue","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","$previousStyle","getHoverColor","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","prev","numMeta","numData","insertElements","count","onDataPush","onDataPop","onDataShift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","vm","borderAlign","fullCircles","drawFullCircleBorders","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","valueOrDefault$1","borderDashOffset","capBezierPoints","element_line","currentVM","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","_loop","previousItem","skip","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","hitRadius","element_point","mouseY","inXRange","inYRange","defaultColor$2","getBarBounds","half","swap","orig","v2","parseBorderWidth","maxW","maxH","edge","parseBorderSkipped","skipX","skipY","bounds","rectangle","element_rectangle","rects","outer","boundingRects","Arc","Point","deprecated","valueOrDefault$3","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","curr","pixels","_length","getTicks","getPixelForTick","computeMinSampleSize","categoryPercentage","chunk","controller_bar","scaleOpts","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","_updateElementGeometry","vscale","getBasePixel","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","_getStacks","last","metasets","_getMatchingVisibleMetas","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","end","_endPixel","imeta","ivalue","stackLength","_parseValue","range","percent","computeFlexCategoryTraits","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","dataPoint","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","list","appendChild","createTextNode","outerHTML","generateLabels","dataLabel","controller_doughnut","getRingIndex","ringIndex","isDatasetVisible","opts","ratioX","ratioY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","defaultClip","toClip","controller_line","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","handler","metadata","jlen","getIntersectItems","getNearestItems","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","indexMode","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","sortByWeight","getCombinedMax","maxPadding","updateDims","params","newWidth","newHeight","box","getPadding","boxPadding","outerWidth","outerHeight","sizes","getMargins","marginForPositions","positions","fitBoxes","boxes","refit","changed","refitBoxes","fullWidth","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableWidth","availableHeight","layoutBoxes","wrapBoxes","leftAndTop","rightAndBottom","buildLayoutBoxes","verticalBoxes","horizontalBoxes","vBoxMaxWidth","hBoxMaxHeight","layouts","setLayoutDims","updatePos","handleMaxPadding","stylesheet","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","eventListenerOptions","supports","passive","addListener","removeListener","createEvent","nativeEvent","createDiv","cls","addResizeListener","ticking","expando","resizer","CSS_PREFIX","CSS_SIZE_MONITOR","_reset","scrollLeft","scrollTop","onScroll","createResizer","parentNode","clientWidth","proxy","renderProxy","animationName","reflow","classList","watchForRender","insertBefore","removeResizeListener","remove","unwatchForRender","removeChild","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","getRootNode","rootNode","css","containsStyles","injectCSS","host","acquireContext","renderHeight","renderWidth","displayWidth","aspectRatio","displayHeight","initCanvas","releaseContext","proxies","fromNativeEvent","addEvent","removeEvent","implementation","platform","core_plugins","_plugins","_cacheId","plugin","idx","getAll","notify","hook","descriptor","descriptors","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","titleSpacing","titleMarginBottom","titleAlign","bodyAlign","footerSpacing","footerMarginTop","footerAlign","caretSize","displayColors","beforeTitle","labelCount","afterTitle","beforeBody","beforeLabel","labelTextColor","afterLabel","afterBody","beforeFooter","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","_bodyAlign","_titleFontFamily","titleFontFamily","_titleFontStyle","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","_footerAlign","legendColorBackground","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","lines","getBeforeBody","getBody","bodyItems","before","after","getAfterBody","getFooter","indexScale","valueScale","existingModel","active","alignment","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","getLabelForIndex","itemSort","dataPoints","combinedBodyLength","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","getTooltipSize","paddingAndSize","radiusAndPadding","getBackgroundPoint","lf","rf","olf","orf","yf","midX","midY","determineAlignment","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","drawTitle","rtlHelper","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","hasId","positionIsHorizontal","compare2Level","l1","l2","events","onHover","animationDuration","responsiveAnimationDuration","Chart","construct","initConfig","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","initToolTip","stop","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","generateLegend","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","abstract","DateAdapter","Controller","types","configMerge","scaleMerge","_create","override","members","core_adapters","_date","core_ticks","formatters","tickValue","logDelta","tickString","logTick","numExponential","toExponential","numDecimal","logarithmic","remain","valueOrDefault$a","getPixelForGridLine","validIndex","lineValue","computeLabelSizes","tickFonts","caches","tickFont","nestedLabel","widest","highest","widths","heights","offsets","widestLabelSize","highestLabelSize","major","minor","gc","valueAt","gcLen","garbageCollect","getTickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","parseTickFontOptions","nonSkipped","ticksToFilter","filtered","spacing","majorStart","majorEnd","tick","drawOnChartArea","zeroLineWidth","zeroLineBorderDashOffset","labelString","autoSkip","autoSkipPadding","Scale","zeroLineIndex","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","numItems","increment","sample","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","toDegrees","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","toRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","rawValue","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","pixel","getBaseValue","avgMajorSpacing","axisLength","ticksLimit","_tickSize","majorIndices","getMajorIndices","numMajorIndices","skipMajors","factors","factor","evenMajorSpacing","getEvenSpacing","calculateSpacing","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","_alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","maxTicks","stepSize","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","precision","fixedStepSize","generationOptions","dataRange","niceMin","niceMax","numSpaces","maxNumSpaces","rmin","rmax","niceNum","_decimalPlaces","almostWhole","almostEquals","generateTicks","ticksAsNumbers","_endValue","defaultConfig$1","stackData","neg","getOrCreateStack","relativePoints","updateMinMax","scale_linear","hasStacks","NEGATIVE_INFINITY","stackValues","_defaults$1","valueOrDefault$b","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","minNotZero","valuesPerStack","valuesForType","minVal","maxVal","significand","tickVal","endExp","endSignificand","lastTick","generateTicks$1","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","determineLimits","getTextAlignForAngle","adjustPointPositionForLabelHeight","textSize","numberOrZero","param","scale_radialLinear","drawingArea","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","longestText","getIndexAngle","hLimits","vLimits","setReductions","fitWithPointLabels","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","pointLabelOpts","tickBackdropHeight","outerDistance","extra","pointLabelPosition","pointLabelFontColor","drawPointLabels","drawRadiusLine","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","common","steps","UNITS","sorter","getMin","getMax","interpolate$1","table","skey","tkey","mid","i0","i1","lo","lookup","span","toTimestamp","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","interval","ticksFromTimestamps","majorUnit","setMajorTicks","scale_time","adapters","displayFormats","timestamp","labelsAdded","timestamps","dataLabels","hash","arrayUnique","_table","_timestamps","timeOpts","getLabelCapacity","distribution","unitStepSize","generate","_unit","determineUnitForFormatting","_majorUnit","determineMajorUnit","buildLookupTable","_offsets","computeOffsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","formatter","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","displayFormat","category","radialLinear","FORMATS","amount","filler","propagate","mappers","boundary","decodeFill","computeBoundary","computeCircularBoundary","scaleBottom","scaleTop","scaleZero","computeLinearBoundary","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","loop","p0","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","alignmentOffset","dimension","blockSize","itemHeight","textWidth","realX","SQRT2","drawLegendBox","halfFontSize","xLeft","yMiddle","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","constrainedContainer","hasCNode","hasCContainer","infinity","filterCallback","findNextWhere","arrayToSearch","currentItem","findPreviousWhere","epsilon","rounded","radians","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","evt","originalEvent","srcElement","boundingRect","touches","clientX","clientY","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","ch","currentStyle","forceRatio","pixelRatio","pixelSize","arrayOfThings","thing","nestedThing","longest","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","core_helpers","_adapters","Animation","animationService","Interaction","scaleService","Ticks","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","klass","cfg","idCounter","baseGetTag","getPrototype","isObjectLike","funcProto","objectProto","funcToString","objectCtorString","Ctor","DayOfWeek","MonthOfYear","FirstWeekOfYear","DateRangeType","DAYS_IN_WEEK","mappedProps","iframe","img","createShorthandFactory","mappedProp","mappedArrayProp","allowsJSX","createShorthandInternal","_ref2$options","_ref2$allowsJSX","valIsPrimitive","valIsPropsObject","valIsArray","valIsReactElement","usersProps","overrideProps","mappedHTMLProps","mergedClassesNames","_options$generateKey","generateKey","elementKey","createShorthand","_Component$fluentComp","_ref3","_ref3$mappedProp","_ref3$allowsJSX","buttonRootVariables","menuContentStyles","mainTheme","teamsTheme","ToolbarItem","TreeItem","TreeTitle","SvgIcon","PopupContent","cvo","ToolbarMenu","themeKey","IThemeTeamsClient","teamsNextVariableAssignments","TableRow","ListItem","PopupButton","compactRow","compactRowHeight","defaultRowHeight","compactRowMinHeight","defaultRowMinHeight","cellVerticalAlignment","TableCell","compactRowVerticalPadding","defaultRowVerticalPadding","themes","HVCThemeProvider","themeName","translations","customScrollbarStyles","baseIndexOf","toInteger","nativeMax","guard","getElementType","Unstable_FluentContextProvider","reducer","initialValue","baseClone","baseUnset","castPath","copyObject","customOmitClone","flatRest","getAllKeysIn","omit","paths","isDeep","CLONE_DEEP_FLAG","Surface","_assertThisInitialized","self","ReferenceError","frameId","wrapperFn","cancelAnimationFrame","useTelemetry","isFirstRenderRef","renders","msTotal","msMin","msMax","getTelemetry","useStyles","freeGlobal","freeSelf","hasDocument","hasWindow","isBrowser","ownerDocument","webpackPolyfill","loader","disabledFocusable","iconPosition","loading","inverted","tinted","hasChildren","performClick","handleClick","_useStyles","hasContent","renderIcon","Group","Content","atMention","important","success","truncated","temporary","useUnhandledProps","basePick","pick","treeTitleClassName","treeTitleSlotClassNames","_React$useContext","focusItemById","toggleItemActive","toggleItemSelect","hasSubtree","treeSize","selectionIndicator","selectable","expanded","indeterminate","focusParent","showIndicator","selectIndicator","predefinedProps","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","getPrototypeOf","createStore","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","isSubscribed","dispatch","replaceReducer","nextReducer","observable","outerSubscribe","observer","observeState","unsubscribe","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","_defineProperty","writable","ownKeys","enumerableOnly","getOwnPropertySymbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","compose","funcs","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","middleware","childrenExist","skeletonShapeClassName","SkeletonShape","_scrollbar","_scrollbar2","__esModule","required","InputLabel","labelPosition","inputSlotClassNames","inputClassName","wrapper","inline","successIndicator","errorIndicator","showSuccessIndicator","inputRef","getOrGenerateIdFromShorthand","_partitionHTMLProps","htmlInputProps","restProps","_useAutoControlled","useAutoControlled","setValue","isShowSuccessIndicatorUndefined","requiredAndSuccessful","hasIcon","useAccessibility","handleOnClear","handleIconOverrides","handleChange","newValue","labelElement","inputElement","control","CloseIcon","inputContainer","CheckmarkCircleIcon","arraySome","baseSome","isIterateeCall","predicate","Icons","IconComponent","accessoryWidth","columnMinWidth","columnKey","columns","getBreakpoints","hasActions","preparedColumns","hidePriority","columnA","columnB","preparedColumnsByHideable","true","false","hideable","baseSet","breakpoints","getRawTag","objectToString","symToStringTag","toStringTag","tag","imageClassName","avatar","toNumber","nativeMin","wait","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","clearTimeout","bindings","sharedOptions","unbindings","binding","shared","fromBinding","getOptions","eventName","unbind","RbdInvariant","invariant","ErrorBoundary","onWindowError","getCallbacks","tryAbort","setCallbacks","componentDidCatch","err","setState","withLocation","destination","isInHomeList","droppableId","startPosition","endPosition","withCombine","combine","draggableId","returnedToStart","preset","location","reason","point1","point2","patch","otherValue","closest","offsetByPosition","getCorners","frame","shouldClipSubject","executeClip","pageMarginBox","getSubject","page","withPlaceholder","increased","_extends2","increasedBy","increase","displacement","scrollDroppable","droppable","newScroll","scrollable","scrollDiff","scrollDisplacement","toDroppableMap","droppables","toDraggableMap","draggables","toDroppableList","toDraggableList","getDraggablesInsideDroppable","draggable","tryGetDestination","impact","at","tryGetCombine","removeDraggableFromList","isHomeOf","noDisplacedBy","emptyGroups","invisible","noImpact","displaced","displacedBy","isWithin","lowerBound","upperBound","isPartiallyVisibleThroughFrame","isWithinVertical","isWithinHorizontal","isPartiallyVisibleVertically","isPartiallyVisibleHorizontally","isBiggerVertically","isBiggerHorizontally","isTotallyVisibleThroughFrame","crossAxisLine","crossAxisStart","crossAxisEnd","crossAxisSize","toBeDisplaced","viewport","withDroppableDisplacement","isVisibleThroughFrameFn","displacedTarget","getDroppableDisplaced","isVisibleInDroppable","isVisibleInViewport","isPartiallyVisible","isTotallyVisible","getDisplacementGroups","afterDragging","forceShouldAnimate","groups","getTarget","shouldAnimate","getShouldAnimate","goAtEnd","insideDestination","inHomeList","newIndex","indexOfLastItem","getIndexOfLastItem","calculateReorderImpact","withoutDragging","sliceFrom","didStartAfterCritical","afterCritical","effected","moveToNextIndex","isMovingForward","previousImpact","wasAt","_newIndex","currentIndex","proposedIndex","firstIndex","fromReorder","isCombineEnabled","combineId","combineWithIndex","fromCombine","whenCombining","combineWith","displaceBy","isDisplaced","getCombinedItemDisplacement","distanceFromStartToBorderBoxCenter","getCrossAxisBorderBoxCenter","isMoving","goAfter","moveRelativeTo","goBefore","distanceFromEndToBorderBoxCenter","whenReordering","draggablePage","moveInto","goIntoStart","closestAfter","withDisplacement","getPageBorderBoxCenterFromImpact","withoutDisplacement","getResultWithoutDroppableDisplacement","scrollViewport","getDraggables","ids","getClientFromPageBorderBoxCenter","pageBorderBoxCenter","withoutPageScrollChange","withViewportDisplacement","client","isTotallyVisibleInNewLocation","newPageBorderBoxCenter","_ref$onlyOnMainAxis","onlyOnMainAxis","changeNeeded","isTotallyVisibleOnAxis","moveToNextPlace","previousPageBorderBoxCenter","previousClientSelection","isEnabled","getImpact","closestId","withoutDraggable","indexOfClosest","moveToNextCombine","clientSelection","scrollJumpRequest","maxScrollChange","scrolledViewport","scrolledDroppable","withViewportScroll","withDroppableScroll","tryGetVisible","speculativelyIncrease","getKnownActive","getCurrentPageBorderBoxCenter","getCurrentPageBorderBox","getDisplacedBy","withMaxScroll","addPlaceholder","placeholderSize","requiredGrowth","availableSpace","needsToGrowBy","sum","getRequiredGrowthForPlaceholder","added","oldFrameMaxScroll","_subject","maxScroll","newFrame","moveCrossAxis","isOver","isBetweenSourceClipped","candidates","activeOfTarget","isBetweenDestinationClipped","contains","isWithinDroppable","getBestCrossAxisDroppable","proposed","proposedPageBorderBoxCenter","relativeTo","isGoingBeforeTarget","moveToNewDroppable","distanceToA","distanceToB","getClosestDraggable","whatIsDraggedOver","moveInDirection","isActuallyOver","getDroppableOver","dimensions","isMainAxisMovementAllowed","home","critical","isMovingOnMainAxis","borderBoxCenter","_state$dimensions","selection","isMovementAllowed","phase","isPositionInFrame","getDroppableOver$1","pageBorderBox","childCenter","isContained","isStartContained","isEndContained","startCenter","sorted","candidate","getFurthestAway","offsetRectByPosition","getIsDisplaced","getDragImpact","pageOffset","destinationId","pageBorderBoxWithDroppableScroll","targetStart","targetEnd","childRect","didStartAfterCritical$1","getCombineImpact","atIndex","getReorderImpact","patchDroppableMap","clearUnusedPlaceholder","lastDroppable","_subject2","oldMaxScroll","removePlaceholder","forcedClientSelection","forcedDimensions","forcedViewport","forcedImpact","newImpact","withUpdatedPlaceholders","cleaned","patched","recomputePlaceholders","recompute","getDraggables$1","getClientBorderBoxCenter","refreshSnap","movementMode","needsVisibilityCheck","getLiftEffect","insideHome","rawIndex","inVirtualList","finish","adjustAdditionsForScrollChanges","updatedDroppables","windowScrollChange","droppableScrollChange","getFrame","offset$1","initialWindowScroll","offsetDraggable","isSnapping","postDroppableChange","isEnabledChanging","patchDimensionMap","removeScrollJumpRequest","idle","completed","shouldFlush","_action$payload","payload","isWindowScrollAllowed","isFixedOnPage","_getLiftEffect","onLiftImpact","published","withScrollChange","modified","existing","updatedAdditions","removals","wasOverId","wasOver","draggingState","isWaiting","publishWhileDraggingInVirtual","_clientSelection","_action$payload2","scrolled","_action$payload3","_target","_action$payload4","_id2","_target2","_updated","_newScroll","_viewport","_result2","_action$payload5","dropDuration","newHomeClientOffset","publishWhileDragging","collectionStarting","updateDroppableScroll","updateDroppableIsEnabled","updateDroppableIsCombineEnabled","move","moveUp","moveDown","moveRight","moveLeft","completeDrop","drop","dropAnimationFinished","curves","combining","outOfTheWayTiming","transitions","snap","timing","outOfTheWay","transforms","isCombining","minDropTime","maxDropTime","dropTimeRange","drop$1","_getDropImpact","lastImpact","didDropInsideDroppable","getDropImpact","newClientCenter","getNewHomeClientOffset","distance$1","getDropDuration","animateDrop","dropPending","getWindowScroll","getScrollListener","onWindowScroll","scheduled","capture","getWindowScrollBinding","isActive","scrollListener","shouldEnd","getAsyncMarshal","entries","execute","entry","shallow","withTimings","getDragStart","responder","announce","getDefaultMessage","willExpire","wasCalled","isExpired","timeoutId","getExpiringAnnounce","responders","getResponders","publisher","asyncMarshal","dragging","onDragEnd","beforeCapture","onBeforeCapture","beforeStart","onBeforeDragStart","lastCritical","lastLocation","lastCombine","onDragStart","hasCriticalChanged","isDraggableEqual","isDroppableEqual","isCriticalEqual","hasLocationChanged","hasGroupingChanged","isCombineEqual","onDragUpdate","abort","getPublisher","dropAnimationFinish","dropAnimationFlushOnScroll","once","pendingDrop","postActionState","composeEnhancers","marshal","dimensionMarshal","focusMarshal","styleMarshal","autoScroller","dropping","resting","stopPublishing","dimensionMarshalStopper","scrollOptions","shouldPublishImmediately","_marshal$startPublish","startPublishing","initialPublish","lift$1","shouldStop","autoScroll","isWatching","tryRecordFocus","tryRestoreFocusRecorded","tryShiftRecord","getMaxScroll","scrollHeight","scrollWidth","getDocumentElement","getMaxWindowScroll","getInitialPublish","registry","getViewport","windowScroll","getAllByType","getDimensionAndWatchScroll","getDimension","shouldPublishUpdate","getById","getRemainder","createDimensionMarshal","staging","collect","_staging","getScrollWhileDragging","publish","createPublisher","subscriber","exists","dragStopped","canStartDrag","scrollWindow","scrollBy","getScrollableDroppables","getBestScrollableDroppable","_dimension","getScrollableDroppableOver","percentage","stopDampeningAt","accelerateAt","getPercentage","startOfRange","endOfRange","stopAt","getValue","distanceToEdge","dragStartTime","shouldUseTimeDampening","startScrollingFrom","maxScrollValueAt","percentageFromMaxScrollValueAt","getValueFromDistance","proposedScroll","runTime","betweenAccelerateAtAndStopAtPercentage","dampenValueByTime","getScrollOnAxis","distanceToEdges","getDistanceThresholds","clean$2","getScroll","limited","isTooBigVertically","isTooBigHorizontally","adjustForSizeLimits","smallestSigned","getOverlap","targetScroll","overlap","canPartiallyScroll","rawMax","smallestChange","canScrollWindow","canScrollDroppable","scroll$1","_change","getWindowScrollChange","getDroppableScrollChange","createJumpScroller","scrollDroppableAsMuchAsItCan","getDroppableOverlap","whatTheDroppableCanScroll","scrollWindowAsMuchAsItCan","getWindowOverlap","whatTheWindowCanScroll","droppableRemainder","windowRemainder","moveByOffset","createAutoScroller","fluidScroller","scheduleWindowScroll","scheduleDroppableScroll","tryScroll","_dragging","wasScrollNeeded","fakeScrollCallback","createFluidScroller","jumpScroll","dragHandle","prefix$1","contextId","scrollContainer","getStyles","rules","rule","getHead","createStyleEl","nonce","useStyleMarshal","grabCursor","getSelector","attribute","dragHandle$1","always","dropAnimating","userCancel","getStyles$1","alwaysRef","dynamicRef","setDynamicStyle","textContent","setAlwaysStyle","dynamic","getWindowFromEl","isHtmlElement","HTMLElement","findDragHandle","possible","querySelectorAll","handle","createRegistry","subscribers","cb","findDraggableById","findDroppableById","uniqueId","findById","clean","StoreContext","createContext","getBodyElement","visuallyHidden","useUniqueId","AppContext","useDev","useHook","useDevSetupWarning","useStartupValidation","usePrevious","_preventedKeys","preventedKeys","preventStandardKeyEvents","supportedEventName","_scrollJumpKeys","idle$1","getCaptureBindings","getPhase","setPhase","button","pending","fluidLift","shouldBlockNextClick","shouldRespectForcePress","scrollJumpKeys","getDraggingBindings","idle$2","interactiveTagNames","textarea","select","optgroup","video","audio","isEventInInteractiveElement","isAnInteractiveElement","getBorderBoxCenterPosition","supportedMatchesName","closest$1","closestPonyfill","findClosestDragHandleFromEvent","_isActive","expected","isLockActive","shouldWarn","canStart","lockAPI","isClaimed","tryStart","forceSensorStop","sourceEvent","draggable$1","findDraggable","canDragInteractiveElements","lock","claim","getShouldRespectForcePress","tryDispatchWhenDragging","getAction","release","cleanup","lift","liftActionArgs","move$1","api","snapLift","defaultSensors","phaseRef","unbindEventsRef","startCaptureBinding","defaultPrevented","findClosestDraggableId","tryGetLock","startPendingDrag","preventForcePressBinding","findOptionsForDraggable","canGetLock","listenForCapture","bindCapturingEvents","preDrag","isCapturing","touch","longPressTimerId","unbindTarget","hasMoved","_event$touches$","force","shouldRespect","getHandleBindings","unbindWindow","getWindowBindings","startDragging","useSensorMarshal","_ref4","customSensors","enableDefaultSensors","useSensors","abandon","newLock","tryAbandon","tryAbandonLock","forceStop","tryGetClosestDraggableIdFromEvent","tryReleaseLock","isLockClaimed","getStore","lazyRef","App","sensors","dragHandleUsageInstructions","lazyStoreRef","lastPropsRef","createResponders","getId","useAnnouncer","dragHandleUsageInstructionsId","useHiddenTextElement","lazyDispatch","marshalCallbacks","useRegistry","entriesRef","recordRef","restoreFocusFrameRef","isMountedRef","tryGiveFocus","tryGiveFocusTo","redirectTo","record","focused","useFocusMarshal","tryResetStore","getCanLift","getIsMovementAllowed","appContext","canLift","count$1","DragDropContext","isEqual$1","isScroll","isAuto","isEither","overflowX","overflowY","isElementScrollable","getClosestScrollable","getScroll$1","getEnv","closestScrollable","getIsFixed","env","isDropDisabled","targetRef","getClient","frameClient","scrollSize","getDroppableDimension","immediate","delayed","getListenerOptions","useRequiredContext","Context","getClosestScrollableFromDrag","isAnimatingOpenOnMount","getSize","boxSizing","Placeholder$1","animateOpenTimerRef","tryClearAnimateOpenTimer","onTransitionEnd","onClose","_useState","setIsAnimatingOpenOnMount","onSizeChangeEnd","propertyName","DroppableContext","AnimateInOut","_React$PureComponent","on","getDerivedStateFromProps","provided","PureComponent","zIndexOptions","getDraggingTransition","shouldAnimateDragMovement","getDraggingOpacity","isDropAnimating","getStyle$1","mapped","getShouldDraggingAnimate","shouldAnimateDisplacement","useDraggablePublisher","getDraggableRef","computedStyles","getDimension$1","publishedRef","isFirstPublishRef","useValidation$1","getRef","preventHtml5Dnd","isStrictEqual","whatIsDraggedOverFromResult","getSecondarySnapshot","combineTargetFor","isClone","dropAnimation","draggingOver","atRest","snapshot","mapDispatchToProps","ConnectedDraggable","memoizedOffset","getMemoizedSnapshot","getMemoizedProps","draggingSelector","ownProps","_draggingOver","_combineWith","getCombineWithFromResult","curve","secondarySelector","getFallback","getProps","ownId","draggingId","visualDisplacement","isAfterCriticalInVirtualList","getSecondarySelector","areStatePropsEqual","_useRequiredContext","_useRequiredContext2","dropAnimationFinishedAction","onMoveEnd","rubric","PrivateDraggable","isUsingCloneFor","PublicDraggable","isDragDisabled","disableInteractiveElementBlocking","isMatchingType","getDraggable","mapDispatchToProps$1","updateViewportMaxScroll","ignoreContainerClipping","renderClone","getContainerForClone","ConnectedDroppable","idleWithAnimation","shouldAnimatePlaceholder","isDraggingOver","draggingOverWith","draggingFromThisWith","isUsingPlaceholder","useClone","idleWithoutAnimation","getDraggableRubric","getMapProps","isDraggingOverForConsumer","isDraggingOverForImpact","_snapshot","_completed","wasCombining","isHome","droppableRef","placeholderRef","getDroppableRef","setDroppableRef","setPlaceholderRef","onPlaceholderTransitionEnd","whileDraggingRef","previousRef","publishedDescriptorRef","memoizedUpdateScroll","getClosestScroll","updateScroll","scheduleScrollUpdate","onClosestScroll","useDroppablePublisher","droppableProps","droppableContext","draggableProvided","draggableSnapshot","createPortal","getClone","setVirtualParent","virtualChild","virtualParent","_virtual","oldParent","lastTwoCharacters","isMs","multiplier","stringNumber","Transition","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","prevState","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","exit","timeout","mounting","performEnter","performExit","appearing","nodeRef","findDOMNode","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onExit","onExiting","onExited","nextState","setNextCallback","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","Children","only","contextType","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","createAnimationStyles","animationCSSProp","_theme$animations","_animations$animation","keyframe","animationThemeKeyframeParams","keyframeParams","animationPropKeyframeParams","mergedKeyframeParams","keyframeDefinition","animationDelay","animationDirection","animationFillMode","animationIterationCount","animationPlayState","animationTimingFunction","animationCache","handleAnimationEvent","_useAnimationStyles","_useFluentContext","cachePerTheme","cacheKey","animationClasses","timeoutResult","isChildrenFunction","contentRef","flipBoundary","mountNode","mouseLeaveDelay","overflowBoundary","pointing","popperRef","positionFixed","renderContent","tabbableTrigger","trapFocus","unstable_disableTether","unstable_pinned","autoSize","defaultOpen","setOpen","_React$useState","isOpenedByRightClick","setIsOpenedByRightClick","closeTimeoutId","popupContentRef","pointerTargetRef","triggerRef","triggerFocusableRef","rightClickReferenceObject","closeAndFocusTrigger","close","_close","_x","toggle","trySetOpen","setPopupOpen","click","preventScroll","handleDocumentClick","getRefs","isOutsidePopupElement","isOutsidePopupElementAndOutsideTriggerElement","handleDocumentKeyDown","lastContentRef","isLastOpenedPopup","activeDocument","bodyHasFocus","refs","isOutsidePopup","isInsideTrigger","doesNodeContainClick","isInsideNested","childRef","getContentProps","contentHandlerProps","normalizedOn","contentProps","onBlur","shouldBlurClose","onMouseEnter","onMouseLeave","relatedTarget","isInsideContent","isInsideTarget","dismissOnScroll","eventArgs","updateTriggerFocusableRef","updateContextPosition","newOpen","schedulePopupClose","_context$target","createReferenceFromClick","triggerNode","useTriggerElement","triggerProps","triggerElement","_len2","_key2","_len3","_key3","_len4","_key4","onContextMenu","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","getTriggerProps","contentElement","Popper","placement","scheduleUpdate","popupContent","pointerRef","nestingRef","domElement","EventListener","renderPopperChildren","PortalInner","popupBehavior","baseMerge","createAssigner","srcIndex","handleRef","isRefObject","isLength","baseMatches","baseMatchesProperty","identity","dropdownItemSlotClassNames","main","dropdownItemClassName","checkableIndicator","DropdownItem","accessibilityItemProps","isFromKeyboard","checkable","hasHeader","headerElement","endMediaElement","imageElement","media","toCompactArray","mergeSiteVariables","mergeThemeVariables","themeComponentStyles","stylesByPart","_debugId","mergeAnimations","_len10","_key10","_len11","_key11","nextDebugId","isSymbol","arrayEach","baseEach","castFunction","baseFindIndex","BoardTheme","separatorColor","CardBody","CardFooter","_FormFieldBase","messageId","hasErrorMessage","FormLabel","formFieldBehavior","buttonBehavior","loaderBehavior","getDefaultAriaLabelledBy","loaderSlotClassNames","loaderClassName","delayTimer","setVisible","svgElement","FormTheme","surface","cssProperties","raised","ReactReduxContext","nullListeners","createListenerCollection","batch","Subscription","parentSub","handleChangeWrapper","addNestedSub","trySubscribe","notifyNestedSubs","onStateChange","tryUnsubscribe","contextValue","subscription","previousState","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","updateCount","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2$getDisplayName","getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","forwardRef","_ref2$context","connectOptions","WrappedComponent","wrappedComponentName","selectorFactoryOptions","usePureOnlyMemo","ConnectFunction","_useMemo","reactReduxForwardedRef","propsContext","ContextToUse","Consumer","didStoreComeFromProps","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","previousStateUpdateResult","renderedWrappedComponent","Connect","forwarded","is","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","stateOrDispatch","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","nextStateProps","statePropsChanged","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","createConnect","_temp","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","_ref$selectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","newBatch","rtlTextContainer","_ref$condition","_ref$forElements","createFor","_ref2$condition","baseIsNative","overRest","setToString","isKey","stringToPath","toFinite","remainder","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","_window","navigator","userAgent","runWithNormalPriority","thunk","screenReaderContainerStyles","listItemEndMediaClassName","ListItemEndMedia","navigable","skeletonLineClassName","SkeletonLine","toolbarMenuItemSubmenuIndicatorClassName","ToolbarMenuItemSubmenuIndicator","toolbarMenuItemActiveIndicatorClassName","ToolbarMenuItemActiveIndicator","alertDismissActionSlotClassNames","alertDismissActionClassName","AlertDismissAction","warning","assignValue","baseAssignValue","customizer","isNew","DataView","toSource","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","ctorString","focusInnerBorderColor","focusOuterBorderColor","shadowLevel1","shadowLevel2","shadowLevel3","shadowLevel4","shadowLevel1Dark","smaller","small","medium","large","larger","largest","fontWeightLight","fontWeightSemilight","fontWeightRegular","fontWeightSemibold","fontWeightBold","lineHeightDefault","lineHeightSmaller","lineHeightSmall","lineHeightMedium","lineHeightLarge","lineHeightLarger","lineHeightLargest","zIndexes","menuItem","overlay","overlayPriority","bodyPadding","bodyMargin","bodyBackground","bodyColor","bodyLineHeight","menuColorAreas","menuVariables","siteVars","colorActive","colorFocus","colorHover","colorDisabled","borderColorHover","borderColorActive","borderColorFocus","outlineColorFocus","backgroundColorFocus","backgroundColorHover","backgroundColorActive","iconSize","iconOnlyColorActive","iconOnlyColorFocus","iconOnlyWrapperBackgroundColorFocus","activeIconOnlyWrapperBackgroundColor","iconOnlyBackgroundColorHover","iconOnlyColorHover","underlinedBorderColor","lineHeightBase","horizontalPadding","verticalBackgroundColor","verticalItemPadding","verticalBoxShadow","verticalDividerMargin","verticalItemBorderWidth","verticalItemBorderColor","verticalPointingBorderColor","verticalBackgroundColorFocus","activeUnderlinedColor","activeUnderlinedPrimaryColor","activeUnderlinedBorderBottomColor","activeUnderlinedWrapperColor","pointingIndicatorBackgroundColor","underlinedBottomBorderWidth","underlinedColorHover","primaryBorderColor","primaryWrapperColorFocus","primaryWrapperBackgroundColorFocus","underlinedWrapperColorHover","underlinedWrapperBackgroundHover","dividerHeight","menuZIndex","beakZIndex","wrapperColorActive","wrapperColorFocus","wrapperColorHover","primaryWrapperColorHover","wrapperBackgroundColorFocus","activeWrapperBackgroundColorHover","indicatorColor","activeIndicatorColor","activePrimaryIndicatorColor","activePrimaryVerticalIndicatorColor","primaryIndicatorColorHover","indicatorColorHover","isArguments","isBuffer","isPrototype","isTypedArray","arrayFilter","baseFilter","MenuContext","activeIndex","onItemClick","onItemSelect","divider","behaviors","MenuContextProvider","menuItemBehavior","hasMenu","menuOpen","closeAllMenus","closeAllMenusAndFocusNextParentItem","closeMenuAndFocusTrigger","closeMenu","openMenu","menuItemIndicatorClassName","MenuItemIndicator","inSubmenu","underlined","listItemContentClassName","ListItemContent","hasContentMedia","truncate","listItemContentMediaClassName","ListItemContentMedia","listItemHeaderClassName","ListItemHeader","hasHeaderMedia","listItemHeaderMediaClassName","ListItemHeaderMedia","onMount","onUnmount","TreeContext","getItemById","registerItemRef","expandSiblings","getToFocusIDByFirstCharacter","_cssifyDeclaration2","_cssifyDeclaration","createRange","baseSlice","nativeCeil","resIndex","menuDividerBehavior","getKindProp","MenuDivider","parentProps","useContextSelectors","_props$accessibility","pills","mergeVariablesOverrides","useSlotProps","slotsProps","Menu","itemsCount","itemPosition","submenu","itemProps","dividerProps","actualProps","useActualProps","defaultActiveIndex","setIndex","setActiveIndex","handleSelect","handleItemOverrides","onActiveChanged","handleDividerOverrides","wrappedElement","MenuItem","onActiveIndexChange","Item","ItemIcon","MenuItemIcon","ItemContent","MenuItemContent","ItemWrapper","MenuItemWrapper","ItemIndicator","Divider","allowVirtualParents","getVirtualParent","buttonGroupBehavior","ButtonGroup","buttons","getStyleForButtonIndex","isFirst","isLast","resultStyles","firstButton","lastButton","middleButton","emptyButtons","datepickerCalendarCellButtonBehavior","today","datepickerCalendarCellButtonClassName","DatepickerCalendarCellButton","quiet","baseFlatten","baseUniq","isArrayLikeObject","union","arrays","cardExpandableBoxClassName","CardExpandableBox","baseIsArguments","propertyIsEnumerable","stubFalse","freeExports","freeModule","Buffer","baseKeysIn","reIsUint","eq","isIndex","toKey","baseForOwn","createBaseEach","arrayPush","isFlattenable","depth","_hyphenateProperty2","_hyphenateProperty","PlacementParts","getPlacement","positionedVertically","alignedVertically","computedPosition","above","below","getPositionMap","computedAlignment","getAlignmentMap","applyRtlToOffset","PortalBoxContext","usePortalBox","newElement","skeletonButtonClassName","SkeletonButton","skeletonAvatarClassName","SkeletonAvatar","skeletonInputClassName","SkeletonInput","reactIs","REACT_STATICS","childContextTypes","contextTypes","getDefaultProps","getDerivedStateFromError","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","accelerateMax","decelerateMax","fast","slow","scaleAnimations","scaleEnterUltraFast","scaleEnterFaster","scaleEnterFast","scaleEnterNormal","scaleEnterSlow","_ref5","scaleEnterSlower","_ref6","scaleEnterUltraSlow","_ref7","scaleExitUltraFast","_ref8","scaleExitFaster","_ref9","scaleExitFast","_ref10","scaleExitNormal","_ref11","scaleExitSlow","_ref12","scaleExitSlower","_ref13","scaleExitUltraSlow","_ref14","scaleDownSoft","_ref15","fadeInOutAnimations","fadeEnterUltraFast","fadeEnterFaster","fadeEnterFast","fadeEnterNormal","fadeEnterSlow","fadeEnterSlower","fadeEnterUltraSlow","fadeExitUltraFast","fadeExitFaster","fadeExitFast","fadeExitNormal","fadeExitSlow","fadeExitSlower","fadeExitUltraSlow","slideAnimations","slideDownEnterUltraFast","slideDownEnterFaster","slideDownEnterFast","slideDownEnterNormal","slideDownEnterSlow","slideDownEnterSlower","slideDownEnterUltraSlow","slideUpEnterUltraFast","slideUpEnterFaster","slideUpEnterFast","slideUpEnterNormal","slideUpEnterSlow","slideUpEnterSlower","slideUpEnterUltraSlow","slideLeftEnterUltraFast","slideLeftEnterFaster","_ref16","slideLeftEnterFast","_ref17","slideLeftEnterNormal","_ref18","slideLeftEnterSlow","_ref19","slideLeftEnterSlower","_ref20","slideLeftEnterUltraSlow","_ref21","slideRightEnterUltraFast","_ref22","slideRightEnterFaster","_ref23","slideRightEnterFast","_ref24","slideRightEnterNormal","_ref25","slideRightEnterSlow","_ref26","slideRightEnterSlower","_ref27","slideRightEnterUltraSlow","_ref28","slideDownExitUltraFast","_ref29","slideDownExitFaster","_ref30","slideDownExitFast","_ref31","slideDownExitNormal","_ref32","slideDownExitSlow","_ref33","slideDownExitSlower","_ref34","slideDownExitUltraSlow","_ref35","slideUpExitUltraFast","_ref36","slideUpExitFaster","_ref37","slideUpExitFast","_ref38","slideUpExitNormal","_ref39","slideUpExitSlow","_ref40","slideUpExitSlower","_ref41","slideUpExitUltraSlow","_ref42","slideRightExitUltraFast","_ref43","slideRightExitFaster","_ref44","slideRightExitFast","_ref45","slideRightExitNormal","_ref46","slideRightExitSlow","_ref47","slideRightExitSlower","_ref48","slideRightExitUltraSlow","_ref49","slideLeftExitUltraFast","_ref50","slideLeftExitFaster","_ref51","slideLeftExitFast","_ref52","slideLeftExitNormal","_ref53","slideLeftExitSlow","_ref54","slideLeftExitSlower","_ref55","slideLeftExitUltraSlow","_ref56","accordionVariables","iconSpace","textColorHover","focusBackgroundColor","focusColor","progressColor","progressHeight","headerFontSize","headerFontWeight","headerLineHeight","descriptionFontSize","descriptionFontWeight","descriptionLineHeight","actionHeight","actionMaxWidth","actionColor","actionPrimaryColor","actionColorDisabled","actionIconSize","actionLoaderBorderSize","actionLoaderSize","actionLoaderSvgHeight","actionLoaderSvgAnimationHeight","actionFocusBorderRadius","actionsMargin","dismissActionHoverBorderRadius","dismissActionHoverBorderWidth","dismissActionHoverInnerBorderColor","dismissActionHoverOuterBorderColor","dismissActionHoverZIndex","dismissActionSize","dismissActionColor","dismissiblePadding","dangerColor","dangerBackgroundColor","dangerBorderColor","oof","oofColor","oofBackgroundColor","oofBorderColor","successColor","successBackgroundColor","successBorderColor","urgent","urgentColor","urgentBackgroundColor","urgentBorderColor","warningColor","warningBackgroundColor","warningBorderColor","headerMargin","iconMargin","dismissActionBackgroundColor","dismissActionBorderRadius","dismissActionBorderColor","dismissActionColorHover","dismissActionBackgroundColorHover","dismissActionBorderColorHover","dismissActionContentFontWeight","dismissActionBackgroundColorFocus","dismissActionBorderColorFocus","dismissActionColorFocus","dismissActionColorDisabled","dismissActionBackgroundColorDisabled","dismissActionBorderColorDisabled","dismissActionIndicatorSize","focusBorderRadius","focusBorderWidth","focusBorderZIndex","stringLiteralsArray","avatarBorderColor","avatarBorderWidth","squareAvatarBorderRadius","iconColor","iconBackgroundColor","statusBorderWidth","statusIconSize","statusBorderColor","statusSuccessBackgroundColor","statusSuccessColor","statusInfoBackgroundColor","statusInfoColor","statusWarningBackgroundColor","statusWarningColor","statusErrorBackgroundColor","statusErrorColor","statusBackgroundColor","statusColor","imageWidth","imageHeight","imageAvatarRadius","imageAvatarSize","imageCircularRadius","labelCircularRadius","labelBackground","loadingMinWidth","contentFontSize","contentFontWeight","contentLineHeight","backgroundColorDisabled","borderColorDisabled","backgroundColorIconOnlyHover","primaryColor","primaryColorHover","primaryBackgroundColor","primaryBackgroundColorActive","primaryBackgroundColorHover","primaryBackgroundColorDisabled","primaryBackgroundColorFocus","tintedColor","tintedColorHover","tintedBackgroundColor","tintedBackgroundColorActive","tintedBackgroundColorHover","tintedBorderColor","tintedBorderColorHover","circularBorderRadius","textPrimaryColor","textPrimaryColorHover","textColorDisabled","textColorIconOnlyHover","primaryBoxShadow","loaderBorderSize","loaderSize","loaderSvgHeight","loaderSvgAnimationHeight","sizeSmallContentFontSize","sizeSmallContentLineHeight","sizeSmallHeight","sizeSmallMinWidth","sizeSmallPadding","sizeSmallLoaderBorderSize","sizeSmallLoaderSize","sizeSmallLoaderSvgHeight","sizeSmallLoaderSvgAnimationHeight","dividerMargin","fontSizeSmaller","fontSizeSmall","fontSizeMedium","fontSizeLarge","itemCurrentFontWeight","linkPaddingTop","linkPaddingBottom","linkPaddingLeftSmaller","linkPaddingRightSmaller","linkPaddingLeftSmall","linkPaddingRightSmall","linkPaddingLeftMedium","linkPaddingRightMedium","linkPaddingLeftLarge","linkPaddingRightLarge","linkSmallerGap","linkSmallGap","linkMediumGap","linkLargeGap","disabledColor","chatVariables","gutterMargin","messageMargin","actionMenuBoxShadow","actionMenuPositionRight","actionMenuPositionTop","backgroundColorMine","authorMarginRight","authorColor","authorFontWeight","headerMarginBottom","contentColor","linkColor","linkColorMine","badgeShadow","isImportant","hasMention","hasMentionColor","hasMentionNubbinColor","isImportantColor","badgeTextColor","reactionGroupMarginLeft","reactionGroupBorderColor","showActionMenu","timestampColorMine","overlayZIndex","detailsColor","detailsHoverColor","detailsColorMine","detailsHoverColorMine","detailsFontSize","detailsMargin","rightPoistion","bottomPoistion","toggleMovementDistance","checkboxColor","toggleBackground","toggleBorderColor","toggleBorderStyle","toggleBorderWidth","toggleIndicatorColor","checkboxCheckedColor","checkboxToggleCheckedBackground","checkboxToggleCheckedBorderColor","checkboxToggleCheckedColor","disabledCheckboxColor","disabledToggleBackground","disabledToggleBorderColor","rootPadding","checkedBackgroundHover","toggleBorderRadius","toggleIndicatorSize","toggleMargin","togglePadding","toggleWidth","toggleHeight","checkedTextColor","checkedBackground","checkedBorderColor","checkedIndicatorColor","toggleCheckedPadding","disabledBackground","disabledBackgroundChecked","disabledBorderColor","disabledCheckedIndicatorColor","disabledToggleIndicatorColor","rootBackground","rootBorderRadius","rootWidth","contentMargin","foregroundColor","overlayBackground","headerActionMargin","_map","_12px_asRem","invertedBackgroundColor","invertedBackgroundColorHover","borderError","openBorderColorHover","containerBorderRadius","openAboveContainerBorderRadius","openBelowContainerBorderRadius","searchBorderBottomWidth","comboboxPaddingButton","comboboxFlexBasis","aboveListBorderRadius","belowListBorderRadius","listBackgroundColor","listBorderColor","listBorderWidth","listPadding","listBoxShadow","listMaxHeight","listItemFocusBorderWidth","listItemBackgroundColor","listItemBackgroundColorActive","listItemBackgroundColorHover","listItemColorActive","listItemColorHover","listItemSelectedColor","listItemSelectedFontWeight","listItemHeaderLineHeight","listItemContentLineHeight","selectedItemBackgroundColor","selectedItemBackgroundColorHover","selectedItemBorder","selectedItemColor","selectedItemColorHover","selectedItemIconColor","selectedItemIconColorHover","selectedItemsMaxWidth","selectedItemColorFocus","selectedItemsMaxHeight","triggerButtonColorFocusActive","triggerButtonColorHover","disabledBorderColorHover","disabledTriggerColorHover","disabledBackgroundColorHover","listItemHeaderFontSize","listItemHeaderColor","listItemContentFontSize","listItemContentColor","headerMessageBackgroundColor","noResultsMessageBackgroundColor","loadingMessageBackgroundColor","controlColor","controlBackgroundColor","controlBackgroundSize","focusBorderColor","lastChildMarginTop","fieldsMarginBottom","formFieldColorAreas","messagePaddingLeft","formMessageColorAreas","gridVariables","defaultColumnCount","gridGap","headerColorAreas","descriptionColor","headerDescriptionColorAreas","iconColorAreas","brandColor","secondaryColor","redColor","smallestSize","smallerSize","smallSize","mediumSize","largeSize","largerSize","largestSize","horizontalSpace","avatarRadius","avatarSize","circularRadius","colorError","borderColorError","iconRight","iconLeft","inputPaddingWithIconAtStart","inputPaddingWithIconAtEnd","inputPadding","inputInsideLabelPaddingTop","backgroundColorInverted","successfulColor","inputFocusBorderColor","inputFocusBorderRadius","placeholderColor","insideLabelBottom","insideLabelPaddingLeft","insideLabelActiveFontSize","inlineLabelPaddingRight","startPaddingLeft","endPaddingRight","blackForeground","blackBackground","whiteForeground","whiteBackground","brandForeground","brandBackground","greyForeground","greyBackground","orangeForeground","orangeBackground","redForeground","redBackground","greenForeground","greenBackground","yellowForeground","yellowBackground","layoutVariables","containerHeights","smallest","containerWidths","svgContent","svgHeights","svgTranslatePosition","svgWidths","columnGap","headerMediaFontSize","headerMediaLineHeight","importantFontWeight","contentMediaFontSize","contentMediaLineHeight","selectableFocusHoverColor","selectableFocusHoverBackgroundColor","selectedColor","selectedBackgroundColor","smallerRoundedBorderRadius","invertedBackground","outlineBackground","outlineBorderColor","outlineDisabledborder","smallerHeight","smallerMinWidth","smallerMargin","smallHeight","smallMinWidth","smallMargin","roundedBorderRadius","contentPaddingSmaller","contentFontSizeSmaller","contentFontSizeSmall","contentPaddingSmall","contentPadding","actionMargin","actionWidth","smallOrSmallerActionWidth","iconWidth","smallOrSmallerIconWidth","selectedIconColor","selectedIconCheckColor","selectedImageIconWidth","smallSelectedImageIconWidth","smallerSelectedImageIconWidth","smallImageWidth","smallImageHeight","smallerImageWidth","smallerImageHeight","borderSize","pointerGap","pointerMargin","pointerHeight","pointerWidth","scrollbarHeight","scrollbarWidth","scrollbarThumbBackgroundColor","scrollbarThumbBorderRadius","scrollbarThumbBorderSize","scrollbarThumbHoverBackgroundColor","scrollbarThumbHoverBorderSize","textFontSize","textColorDefault","textColorDefaultHoverFocus","textColorChecked","indicatorColorDefault","indicatorBorderColorDefaultHover","indicatorBorderColorChecked","indicatorBackgroundColorChecked","meReactingColor","meReactingColorHover","otherReactingColor","otherReactingColorHover","fontWeightHover","outlineWidthFocus","outlineOffsetFocus","meReacting","boxShadowColor","reactionSpacing","segmentColorAreas","disabledBackgroundColor","lineBackground","shapeBackground","animationBackground","animationBackgroundSecondary","lineMargin","shapeMargin","buttonHeight","buttonWidth","buttonSmallHeight","buttonSmallWidth","buttonBackground","buttonCircularBorderRadius","textBackground","textSmallerHeight","textSmallHeight","textMediumHeight","textLargeHeight","textLargerHeight","inputHeight","inputWidth","inputBackground","avatarBackground","avatarSmallest","avatarSmaller","avatarSmall","avatarMedium","avatarLarge","avatarLarger","avatarLargest","railColor","disabledRailColor","railHeight","thumbColor","activeThumbColor","disabledThumbColor","thumbHeight","activeThumbHeight","thumbBorderPadding","thumbWidth","activeThumbWidth","trackColor","disabledTrackColor","successTextColor","infoBackgroundColor","infoTextColor","warningTextColor","errorBackgroundColor","errorTextColor","defaultBackgroundColor","defaultTextColor","textColorAreas","fontSizeSmallest","fontLineHeightSmallest","lineHeightSmallest","fontLineHeightSmaller","fontLineHeightSmall","fontLineHeightMedium","fontLineHeightLarge","fontSizeLarger","fontLineHeightLarger","fontSizeLargest","fontLineHeightLargest","atMentionOtherColor","atMentionMeColor","atMentionMeFontWeight","errorColor","importantWeight","importantColor","timestampColor","selectionIndicatorMargin","hoverBackground","videoVariables","borderColorPrimary","smallDimension","smallPadding","smallBoxShadow","toggleButtonHeight","toggleButtonColor","toggleButtonBackgroundColor","toggleButtonBorderRadius","toggleButtonBorderColor","toggleButtonBoxShadow","toggleButtonColorHover","toggleButtonBackgroundColorHover","toggleButtonBorderColorHover","toggleButtonColorActive","toggleButtonBackgroundColorActive","toggleButtonBorderColorActive","toggleButtonBackgroundColorFocus","toggleButtonBorderColorFocus","toggleButtonColorFocus","toggleButtonPrimaryHoverBackgroundColor","toggleButtonPrimaryHoverColor","toggleButtonPrimaryColor","toggleButtonPrimaryBackgroundColor","toggleButtonPrimaryBorderColor","toggleButtonPrimaryBoxShadow","toggleButtonPrimaryBackgroundColorActive","toggleButtonPrimaryBackgroundColorFocus","toggleButtonColorDisabled","toggleButtonBackgroundColorDisabled","toggleButtonIndicatorSize","focusOuterBorderRadius","paddleColor","paddleColorDisabled","paddleBackgroundColor","paddleBackgroundColorActive","paddleBackgroundColorHover","paddleBackgroundColorDisabled","paddleBorderColor","paddleBorderRadius","paddleHeight","paddleIndicatorSize","indicatorBackgroundColor","indicatorActiveBackgroundColor","thumbnailWidth","hoverColor","backgroundHoverColor","minCellWidth","cellPadding","rowPadding","headerBorderColor","headerBorderHoverColor","headerBorderFocusColor","rowBorderColor","rowBorderHoverColor","rowBorderFocusColor","cellBorderColor","cellBorderHoverColor","cellBorderFocusColor","backgroundColorPressed","ghostBackgroundColor","ghostBackgroundColorDisabled","ghostBackgroundColorFocus","ghostBackgroundColorHover","ghostBackgroundColorPressed","invertedBackgroundColorDisabled","invertedBackgroundColorFocus","invertedBackgroundColorPressed","borderColorPressed","boxShadowDisabled","boxShadowHover","boxShadowFocus","boxShadowPressed","elevatedBoxShadow","elevatedBoxShadowDisabled","elevatedBoxShadowHover","elevatedBoxShadowFocus","elevatedBoxShadowPressed","compactPadding","previewMargin","footerMargin","fittedPreviewMargin","fittedHeaderMargin","fittedBodyMargin","fittedFooterMargin","previewMarginHorizontal","topControlsTop","topControlsRight","sizeSmallWidth","sizeLargeWidth","sizeLargeHeight","sizeLargePadding","fluidWidth","fluidHeight","expandableBoxStartMaxHeight","expandableBoxEndMaxHeight","expandableBoxShrinkTransition","expandableBoxExpandTransition","selectedBorderColor","selectedBoxShadow","selectedBackgroundColorDisabled","selectedBackgroundColorFocus","selectedBackgroundColorHover","selectedBackgroundColorPressed","calendarCellBorder","calendarCellHeight","calendarCellWidth","calendarCellPadding","calendarCellMargin","calendarCellBackgroundColor","calendarCellColor","calendarCellQuietColor","calendarCellSelectedColor","calendarCellSelectedBackgroundColor","calendarCellTodayBackgroundColor","calendarCellTodayColor","calendarCellTodayBorderRadius","calendarCellHoverBackgroundColor","calendarCellHoverColor","calendarCellDisabledColor","calendarCellDisabledBackgroundColor","calendarHeaderCellFontWeight","calendarHeaderCellHeight","calendarHeaderCellPadding","calendarHeaderCellWidth","calendarHeaderPaddingTop","calendarHeaderPaddingBottom","calendarHeaderLabelPaddingLeft","calendarHeaderLabelFontWeight","calendarMinHeight","accordionStyles","verticalAlign","flexDirection","marginBlockEnd","marginBlockStart","accordionContentStyles","marginInlineStart","accordionTitleStyles","contentWrapper","msGridColumns","encodeURIComponent","msGridColumn","getIntentColorsFromProps","visibility","attached","getBorderFocusStyles","sv","_args$borderWidth","_args$borderRadius","_args$focusInnerBorde","_args$focusOuterBorde","borderPadding","defaultPreudoStyles","borderPaddingTop","borderPaddingBottom","borderPaddingLeft","borderPaddingRight","dismissIndicatorUrl","backgroundRepeat","alertDismissActionStyles","dismissActionIndicatorColor","borderFocusStyles","attachmentStyles","_hover","actionable","attachmentActionStyles","iconFilledStyles","attachmentBodyStyles","attachmentDescriptionStyles","attachmentHeaderStyles","attachmentIconStyles","sizeToPxValue","avatarStyles","sizeInRem","avatarStatusStyles","sizeInPx","_ref$props","avatarStatusIconStyles","avatarImageStyles","iconSizeToPxValue","avatarIconStyles","iconsizeInRem","square","avatarLabelStyles","buttonGroupStyles","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","buttonContentStyles","textOverflow","whiteSpace","breadcrumbItemStyles","breadcrumbDividerStyles","breadcrumbLinkStyles","breadcrumbStyles","chatStyles","listStyle","chatItemStyles","gutter","contentPosition","float","chatMessageStyles","mine","wordBreak","wordWrap","actionMenu","author","hasReactionGroup","textDecoration","hasBadge","badgePosition","badge","sidePosition","reactionGroup","chatMessageDetailsStyles","chatMessageReadStatusStyles","checkboxIndicatorUrl","checkboxIndicatorIndeterminateUrl","escape","commonToggleBeforeStyles","checkbox","msGridRowAlign","gridColumn","dialogStyles","gridRow","msGridRow","msGridColumnSpan","justifySelf","headerAction","backdrop","dialogFooterStyles","dividerColor","dividerStyles","dividerPadding","textLineHeight","dividerContentStyles","transparentColorStyle","borderBottomColor","transparentColorStyleObj","getWidth","clearIndicator","flexWrap","search","selectedItems","hasToggleIndicator","hasItemsSelected","loadingMessage","noResultsMessage","headerMessage","toggleIndicator","dropdownSearchInputStyles","flexBasis","dropdownSelectedItemStyles","hasImage","dropdownItemStyles","endMedia","embedSlotClassNames","embedClassName","pauseIndicatorUrl","embedStyles","_focusVisible","backgroundPositionX","iframeLoaded","formStyles","justifyItems","formFieldStyles","formLabelStyles","formMessageStyles","toFlexAlignment","propValue","trimmedValue","trim","_notLastChild","wrap","flexItemStyles","grow","getCSSTemplateValue","templateAsNumber","gridStyles","_ref$variables","_props$columns","gridAutoFlow","gridTemplateRows","msGridRows","outlineOffset","translateAlignProp","textAlignProp","alignProp","headerStyles","hasDescription","headerDescriptionStyles","svgIconStyles","speak","getXSpacingStyles","outlinePart","filledPart","_ref4$props","iconSizeInRems","modifiedSizes","xx","sizeModifier","svgFlippingInRtl","redPath","imageStyles","inputStyles","inputLabelStyles","labelStyles","imagePosition","hasStartElement","hasEndElement","hasActionableIcon","debugStyle","letterSpacing","debugRoot","debugArea","countTrue","layoutStyles","hasMain","mainSize","hasEnd","endSize","hasStart","startSize","textOrientation","writingMode","debugGap","rootFlexDirections","loaderStyles","svgAnimation","itemLayoutStyles","listStyles","isListTag","listItemStyles","headerWrapper","listItemContentStyles","listItemContentMediaStyles","listItemEndMediaStyles","listItemHeaderStyles","listItemHeaderMediaStyles","listItemMediaStyles","menuStyles","listStyleType","borderBottom","verticalPillsBottomMargin","horizontalPillsRightMargin","verticalPointingBottomMargin","menuItemStyles","menuItemIconStyles","menuItemContentStyles","widthAdjust","submenuIndicatorUrl","submenuIndicatorDirection","menuItemIndicatorStyles","menuItemWrapperStyles","borders","borderTop","borderRight","menuDividerStyles","borderType","menuButtonStyles","pillStyles","rectangular","appearance","pillContentStyles","pillActionStyles","pillImageStyles","pillIconStyles","getContainerStyles","getPointerStyles","transformOrigin","borderLeftColor","borderRightColor","borderTopColor","popupContentStyles","basePlacement","pointer","providerStyles","radioGroupStyles","restHoverFocusTextColor","radioGroupItemStyles","segmentStyles","wave","secondoryColor","pulseStyles","skeletonStyles","_pulse","_wave","pulse","skeletonLineStyles","skeletonShapeStyles","skeletonButtonStyles","skeletonTextStyles","skeletonInputStyles","skeletonAvatarStyles","selectors","getCommonSlotStyles","thumbFromPreviousSiblingSelector","thumb","getFluidStyles","sliderStyles","_focus","activeThumbStyles","thumbStyles","inputWrapper","transformOriginValue","rail","track","contentClassNameSelector","reactionStyles","reactionGroupStyles","reaction","getBackgroundColor","getTextColor","statusStyles","splitButtonStyles","menuButton","toggleIndicatorUrl","splitButtonToggleStyles","textStyles","textAreaStyles","toolbarStyles","offsetMeasure","overflowContainer","overflowSentinel","toolbarRadioGroupStyles","toolbarCustomItemStyles","customItemHorizontalPadding","customItemVerticalPadding","toolbarDividerStyles","dividerBorder","toolbarItemStyles","itemPadding","toolbarMenuStyles","menuPadding","menuBackground","menuBoxShadow","menuBorder","menuBorderWidth","menuBorderRadius","menuMaxWidth","toolbarMenuDividerStyles","menuDividerBorder","menuDividerMargin","toolbarMenuItemStyles","menuItemForeground","menuItemPadding","menuItemForegroundHover","menuItemBackgroundHover","menuItemForegroundDisabled","menuItemBackgroundDisabled","toolbarMenuItemIconStyles","toolbarMenuItemSubmenuIndicatorStyles","toolbarMenuItemActiveIndicatorStyles","toolbarMenuRadioGroupStyles","toolbarMenuRadioGroupWrapperStyles","treeItemStyles","treeTitleStyles","videoStyles","tooltipContentStyles","carouselStyles","itemsContainerWrapper","shouldFocusContainer","itemsContainer","willChange","carouselItemStyles","carouselNavigationStyles","thumbnails","carouselNavigationItemSlotClassNames","carouselNavigationItemClassName","carouselNavigationItemStyles","hasIndicator","carouselPaddleSlotClassNames","carouselPaddleClassName","paddleIndicatorUrl","carouselPaddleStyles","carouselPaddlesContainerStyles","tableStyles","tableRowStyles","compact","tableCellStyles","truncateContent","cardStyles","ghost","centered","expandable","cardHeaderStyles","cardBodyStyles","cardFooterStyles","cardPreviewStyles","cardTopControlsStyles","cardExpandableBoxStyles","datepickerStyles","allowManualInput","datepickerCalendarStyles","datepickerCalendarHeaderStyles","datepickerCalendarHeaderCellStyles","datepickerCalendarCellStyles","datepickerCalendarCellButtonStyles","datepickerCalendarGridStyles","tableLayout","datepickerCalendarGridRowStyles","isRowSelectionActive","createTheme","RadioButtonIcon","focusable","radioGroupItemSlotClassNames","radioGroupItemClassName","checkedIndicator","shouldFocus","elementRef","defaultChecked","setChecked","prevChecked","shouldPreventDefaultOnKeyDown","menuItemClassName","menuItemSlotClassNames","menuSlot","_partitionPopperProps","partitionPopperPropsFromShorthand","positioningProps","defaultMenuOpen","setMenuOpen","setIsFromKeyboard","_openMenu","_closeMenu","_x2","doNotNavigateNextParentItem","_closeAllMenus","_x3","menuRef","itemRef","isSubmenuOpen","trySetMenuOpen","forceTriggerFocus","shouldStopPropagation","rootHandlers","onStateChanged","menuItemInner","handleWrapperOverrides","handleWrapperBlur","maybeSubmenu","wrapperElement","onMenuOpenChange","dropdownSelectedItemBehavior","dropdownSelectedItemSlotClassNames","dropdownSelectedItemClassName","DropdownSelectedItem","iconElement","iconProps","onRemove","RefFindNode","prevNode","currentNode","RefForward","handleRefOverride","rest","childWithProps","ListCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","__data__","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","nativeCreate","getNative","isKeyable","objectCreate","baseCreate","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","baseToString","baseIsNaN","strictIndexOf","flatten","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","initCloneArray","initCloneByTag","initCloneObject","isMap","isSet","keysIn","cloneableTags","bitmask","isFlat","isFull","isArr","isFunc","subValue","originalModule","symbolMap","1","5","7","numberMap","pluralForm","plurals","pluralize","weekdaysParseExact","10","60","relativeTimeWithPlural","forms","standalone","lastDigit","last2Digits","monthsParseExact","relativeTimeWithMutation","mutationTable","softMutation","mutation","minWeekdaysParse","fullWeekdaysParse","shortWeekdaysParse","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","lastNumber","ll","lll","llll","plural","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","eraYearOrdinalRegex","$0","$1","$2","isUpper","eifelerRegelAppliesToNumber","translateSingular","special","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","numberNoun","hundred","ten","one","word","numberAsNoun","processHoursFunction","nominative","accusative","genitive","dividerColorAreas","dividerVariables","toolbarColorAreas","toolbarVariables","_setPrototypeOf","_isSSR","ChatItemContext","ChatItemContextProvider","getScrollParent","nodeName","getParentNode","_getStyleComputedProp","getStyleComputedProperty","baseIsEqual","labelClassName","startImage","startIcon","endIcon","endImage","ChatMessageDetails","ChatMessageReadStatus","ChatMessageHeader","createManager","_config$middleware","_config$sideEffects","sideEffects","_state","partial","manager","enhancedAction","applyAction","applySideEffects","actionResult","middlewareItem","sideEffect","FormFieldBaseContext","FormFieldBaseProvider","ListContext","truncateHeader","ListContextProvider","ListItemMedia","Portal","contentToRender","focusTrapZoneProps","triggerAccessibility","portalRef","handleMount","handleUnmount","handleTriggerRef","handleTriggerClick","isOpen","onTriggerClick","onOutsideClick","popupContentSlotClassNames","popupContentClassName","popupContentProps","autoFocusZoneProps","ProviderConsumer","onAsArray","tabbableTriggerProps","getAriaAttributeFromProps","popup","attributeName","_props$trigger$props","propsData","href","_unused","isFocusable","tableCellSlotClassNames","tableCellClassName","cellRef","focusCell","collapse","focusFirstChild","performSelection","treeTitleBehavior","renderItemTitle","_getItemById","childrenIds","handleFocusParent","handleFocusFirstChild","handleSiblingsExpand","handleSelection","toFocusID","titleProps","elementWithRef","onFocusFirstChild","onFocusParent","onTitleClick","onSiblingsExpand","flattenTree","activeItemIds","selectedItemIds","_flatTree","flattenSubTree","flatTree","isParentVisible","visibleItemIds","selectedChildrenNum","selectableChildrenNum","itemsInLeaf","selectedNum","selectableNum","indexAmongSiblings","childrenItems","_flattenSubTree","useTree","deprecated_initialActiveItemIds","deprecated_getInitialActiveItemIds","defaultActiveItemIds","setActiveItemIdsState","_useAutoControlled2","defaultSelectedItemIds","setSelectedItemIdsState","_React$useMemo","callbackRef","itemId","useGetItemById","stableProps","useStableProps","idToToggle","nextActiveItemIds","exclusive","_getItemById2","_getItemById2$childre","activeSibling","focusedItemId","focusedItem","parentItem","siblingsIds","leafs","rootId","traverseDown","_getItemById4","_getItemById5","getLeafNodes","nextSelectedItemIds","nodes","getItemRef","_getItemById3","_itemRef$firstElement","searchByFirstChar","endIndex","_getItemRef","_getItemRef$textConte","_getItemRef$textConte2","_getItemRef$textConte3","idToStartSearch","starIndex","toFocusIndex","renderedItems","_useTree","onActiveItemIdsChange","onSelectedItemIdsChange","__rest","treeItemIconStyles","treeItemTitleRenderer","TriangleDownIcon","TriangleEndIcon","addSelectableParent","selectableParent","findSingleTitle","selectedId","deepResult","passThrough","selectedFilters","setSelectedFilters","propagateSetSelectedFilters","invokerTitle","getSingleTitle","filtersForTree","filterInvoker","FilterIcon","nextSelectedFilters","firstFocusableSelector","bidirectionalDomOrder","chatMessageSlotClassNames","chatMessageClassName","ChatMessage","parentAttached","_React$useReducer","nextSelected","_props$attached","positionActionMenu","reactionGroupPosition","details","readStatus","unstable_overflow","hasActionMenu","modifiers","fallbackPlacements","_usePopper","usePopper","messageRef","actionsMenuRef","containerRef","setFocused","childrenPropExists","rootClasses","badgeElement","reactionGroupElement","Reaction","actionMenuElement","renderActionMenu","authorElement","timestampElement","messageContent","detailsElement","readStatusElement","shouldPreserveFocusState","_popperRef$current","updatePosition","_popperRef$current2","isElement","canOverflow","skipOverflowHiddenElements","isScrollable","alignNearest","scrollingEdgeStart","scrollingEdgeEnd","scrollingSize","scrollingBorderStart","scrollingBorderEnd","elementEdgeStart","elementEdgeEnd","elementSize","scrollMode","block","checkBoundary","scrollingElement","frames","viewportWidth","visualViewport","innerWidth","viewportHeight","innerHeight","viewportX","scrollX","viewportY","scrollY","_target$getBoundingCl","targetHeight","targetWidth","targetRight","targetLeft","targetBlock","targetInline","computations","_frame$getBoundingCli","_height","_width","_top","_left","frameStyle","blockScroll","inlineScroll","offsetWidth","cbToCb","menuNode","isOrContainsNode","callAllEventHandlers","fns","preventDownshiftDefault","handleRefs","generateId","resultCount","unwrapArray","isDOMElement","getElementProps","stateKeys","pickState","isControlledProp","normalizeArrowKey","getNextWrappingIndex","moveAmount","baseIndex","itemCount","getItemNodeFromIndex","itemsLastIndex","nonDisabledNewIndex","getNextNonDisabledIndex","currentElementNode","hasAttribute","targetWithinDownshift","downshiftElements","checkActiveElement","contextNode","cleanupStatus","getStatusDiv","setStatus","documentProp","div","statusDiv","stateChangeTypes","unknown","mouseUp","itemMouseEnter","keyDownArrowUp","keyDownArrowDown","keyDownEscape","keyDownEnter","keyDownHome","keyDownEnd","clickItem","blurInput","changeInput","keyDownSpaceButton","clickButton","blurButton","controlledPropUpdatedSelectedItem","touchEnd","Downshift","_Component","menuId","getItemId","previousResultCount","timeoutIds","internalSetTimeout","setItemCount","unsetItemCount","setHighlightedIndex","highlightedIndex","otherStateToSet","defaultHighlightedIndex","internalSetState","clearSelection","selectedItem","defaultIsOpen","selectItem","itemToString","selectItemAtIndex","itemIndex","selectHighlightedItem","stateToSet","isItemSelected","onChangeArg","onStateChangeArg","isStateToSetFunction","onInputValueChange","getStateAndHelpers","newStateToSet","stateReducer","nextFullState","onSelect","onUserAction","rootRef","_rootNode","getRootProps","_ref2$suppressRefErro","suppressRefError","_ref3$refKey","refKey","called","keyDownHandlers","moveHighlightedIndex","getItemCount","nextHighlightedIndex","_this$getState2","buttonKeyDownHandlers","toggleMenu","inputKeyDownHandlers","newHighlightedIndex","getToggleButtonProps","onPress","onKeyUp","enabledEventHandlers","buttonHandleClick","buttonHandleKeyDown","buttonHandleKeyUp","buttonHandleBlur","eventHandlers","environment","blurTarget","isMouseDown","getLabelProps","getInputProps","onInput","onChangeText","_eventHandlers","_this$getState6","inputHandleChange","inputHandleKeyDown","inputHandleBlur","autoComplete","downshiftButtonIsActive","_menuNode","getMenuProps","_temp2","_extends3","_ref9$suppressRefErro","_ref10$refKey","getItemProps","_enabledEventHandlers","onMouseMove","onMouseDown","_ref12$item","customClickHandler","avoidScrolling","clearItems","_this$getState7","getA11yStatusMessage","highlightedItem","_this$props$initialHi","initialHighlightedIndex","_highlightedIndex","_this$props$initialIs","initialIsOpen","_isOpen","_this$props$initialIn","initialInputValue","_inputValue","_this$props$initialSe","initialSelectedItem","_selectedItem","internalClearTimeouts","stateToMerge","scrollHighlightedItemIntoView","scrollIntoView","_this6","_this$getState9","_this7","onMouseUp","onOuterClick","onTouchStart","isTouchMove","onTouchMove","onTouchEnd","contextWithinDownshift","shouldScroll","currentHighlightedIndex","prevHighlightedIndex","selectedItemChanged","prevItem","changes","getA11ySelectionMessage","selectionParameters","itemToStringLocal","circularNavigation","bool","any","dropdownSearchInputSlotClassNames","dropdownSearchInputClassName","DropdownSearchInput","accessibilityComboboxProps","accessibilityInputProps","onInputBlur","onInputKeyDown","dropdownSlotClassNames","dropdownClassName","itemsList","searchInput","ariaLabelledby","ariaInvalid","a11ySelectedItemsMessage","itemToValue","highlightFirstItemOnOpen","moveFocusOnTab","renderItem","renderSelectedItem","buttonRef","_inputRef","listRef","selectedItemsRef","defaultTriggerButtonId","defaultActiveSelectedIndex","activeSelectedIndex","setActiveSelectedIndex","_useAutoControlled3","_useAutoControlled4","defaultSearchQuery","searchQuery","setSearchQuery","_useAutoControlled5","normalizedValue","normalizeValue","a11ySelectionStatus","setA11ySelectionStatus","_React$useState2","_React$useState3","_React$useState4","itemIsFromKeyboard","setItemIsFromKeyboard","_React$useState5","startingString","setStartingString","_getFilteredValues","filteredItemsByValue","filteredItemStrings","filteredItem","filteredItems","getFilteredValues","isEmptyClearIndicator","clearA11ySelectionMessage","clearStartingString","renderItems","footerItem","renderItemsListFooter","headerItem","renderItemsListHeader","isSelectedItemActive","stopImmediatePropagation","handleSelectedItemOverrides","dropdownSelectedItemProps","handleSelectedItemRemove","setStateAndInvokeHandler","handleSelectedItemKeyDown","handleSearchInputOverrides","handleInputBlur","searchInputProps","handleInputKeyDown","handleTabSelection","trySetLastSelectedItemAsActive","Backspace","tryRemoveItemFromValue","removeItemFromValue","handleContainerClick","tryFocusSearchInput","handleTriggerButtonKeyDown","handleListKeyDown","accessibilityInputPropsKeyDown","tryFocusTriggerButton","keyString","fromCharCode","setHighlightedIndexOnCharKeyDown","previousKey","nextKey","Delete","handleTriggerButtonOrListFocus","handleTriggerButtonBlur","handleListBlur","newStartingString","startsWith","poppedItem","setA11ySelectionMessage","handlerNames","newState","proposedValue","handlerName","getSelectedItemAsString","getHighlightedIndexOnArrowKeyOpen","isArrowUp","isArrowDown","itemsLength","nodeToScroll","shouldValueChange","shouldAddHighlightedIndex","isSameItemSelected","onAdd","highlightedIndexOnArrowKeyOpen","_highlightedIndexOnArrowKeyOpen","handlers","_getRootProps","accessibilityRootPropsRest","showClearIndicator","triggerButtonId","triggerButtonProps","_onClick","restTriggerButtonProps","renderTriggerButton","renderSelectedItems","noPlaceholder","renderSearchInput","indicatorBehavior","handleClear","_getMenuProps","_innerRef","accessibilityMenuProps","listElement","positioningDependencies","List","listProps","renderItemsList","onSearchQueryChange","onActiveSelectedIndexChange","onHighlightedIndexChange","ChevronDownIcon","SearchInput","SelectedItem","checkboxSlotClassNames","checkboxClassName","_useStateManager","useStateManager","mapPropsToInitialState","mapPropsToState","_checked2","_checked","ReactionGroup","reactionSlotClassNames","reactionClassName","baseDifference","without","rowRef","unsetRowTabbable","Telemetry","processStyleWithPlugins","processedStyle","isNestedSelector","normalizeNestedProperty","nestedProperty","isMediaQuery","generateCombinedMediaQuery","currentMediaQuery","nestedMediaQuery","isSupport","generateDeclarationReference","pseudo","support","isUndefinedValue","generateCSSSelector","cssifyFontFace","fontFace","cssifyKeyframe","prefixes","cssKeyframe","cssifyStaticStyle","staticStyle","processedStaticStyle","generateAnimationName","chars","charLength","generateUniqueClassName","generateClassName","filterClassName","startId","generatedClassName","isBase64","getFontUrl","base64Formats","getFontFormat","mime","fmt","extension","_fmt","generateFontSource","files","fontLocals","localSource","urlSource","fileSource","fileFormat","delimiter","generateStaticReference","getFontLocals","localAlias","isSafeClassName","toCSSString","PREFIX_SYNTAX","validateSelectorPrefix","selectorPrefix","_objectWithoutProperties","_typeof","renderFontFace","otherProps","embedded","fontFamilyList","renderKeyframe","resolveFallbackValues","customProperty","resolveCustomProperty","resolved","placeholderPrefixes","arrayToObject","prop1","prop2","inclusive","inclusee","flipTransformSign","getValuesAsList","openParansCount","closedParansCount","parensDepth","handleQuartetValues","splitValues","propertyValueConverters","textShadow","shadows","splitShadow","negative","_value$split","radius1","radius2","topLeft","topRight","bottomRight","valuesToConvert","bgImgDirectionRegex","bgPosDirectionRegex","backgroundPositionValue","g1","group2","calculateNewBackgroundPosition","propertiesToConvert","transitionProperty","escapePattern","signedQuantPattern","translateXRegExp","translateRegExp","translate3dRegExp","rotateRegExp","objectPosition","webkitBoxShadow","mozBoxShadow","WebkitBoxShadow","MozBoxShadow","webkitTransform","mozTransform","WebkitTransform","MozTransform","webkitTransformOrigin","mozTransformOrigin","WebkitTransformOrigin","MozTransformOrigin","webkitTransition","mozTransition","WebkitTransition","MozTransition","webkitTransitionProperty","mozTransitionProperty","WebkitTransitionProperty","MozTransitionProperty","propsToIgnore","newObj","originalKey","originalValue","_convertProperty","isNoFlip","isNullOrUndefined","containsCssVar","canConvertValue","isNum","importantlessValue","valueConverter","getValueDoppelganger","convertProperty","getRuleScore","ruleOrder","extractSupportQuery","ruleSet","generateCacheEntry","declaration","_slicedToArray","_arr","_n","_s","sliceIterator","DECL_REGEX","rehydrateRules","decl","_decl","_decl2","declarationReference","SUPPORT_REGEX","rehydrateSupportRules","cssRules","supportQuery","calculateNodeScore","mediaQueryOrder","baseScore","mediaIndex","_handlers","generateCSSRule","cssDeclaration","queryNode","targetDocument","mediaQuery","createNode","moreSpecificReference","reference","getReference","_ref$media","_ref$support","getNodeFromCache","generateCSSSupportRule","applyKeysInOrder","mediaMap","query","_toConsumableArray","objectSortByScore","getScore","sortedKeys","resultSortedKeys","insertAtIndex","sortedObj","cluster","cssRule","supportMediaRules","supportRules","mediaRules","keyframes","statics","cssifySupportRules","SELECTOR_PREFIX_REGEXP","renderToSheetList","cacheCluster","supportQueryOrder","sortedCache","resultSupportRules","clusterCache","rehydrationIndex","uniqueRuleIdentifier","getRehydrationIndex","sheetList","sheetMap","rehydration","mediaKeys","mediaSupport","insertRule","nodeReference","devMode","currentSheet","sheet","scoreIndex","cssSupportRule","updateSubscription","createSubscription","_emitChange","CLASSNAME_REGEX","_createClass","Constructor","protoProps","staticProps","BaseComponent","RendererContext","renderChildren","RendererProvider","rehydrate","_BaseComponent","instance","_classCallCheck","_possibleConstructorReturn","_renderStyle","_inherits","shouldRehydrate","isNativeRenderer","hasDOM","hasServerRenderedStyle","rehydrationAttribute","selectorText","conditionText","animationProps","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","LENGTH_UNIT","CALC","VAR","BORDER_STYLE","BORDER_WIDTH","splitShorthand","openParensCount","parseBorder","longhands","circularExpand","borderExpand","expandProperty","_property","parseFlex","_groupBy2","_groupBy2$","_groupBy2$2","_first","Top","_first$","Right","_first$2","Bottom","_first$3","Left","_second","Top2","_second$","Right2","_second$2","Bottom2","_second$3","Left2","parseBorderRadius","_splitShorthand2","_splitShorthand2$","_splitShorthand2$2","_splitShorthand2$3","parseCircular","handledCssProps","cssPropertiesToSkip","cascade","compress","preserve","semicolon","felaDevMode","localStorage","blacklistedClassNames","rendererConfig","enhancers","_renderStyleToClassNames","_className","combinedMediaQuery","combinedSupport","getNextRuleIdentifier","cachedClassName","existingEmitChange","prefixed","felaDisableAnimationsPlugin","cssPropertyName","cssPropertyValue","felaSanitizeCssPlugin","processedStyles","cssPropertyNameOrIndex","propToExclude","openingBracketsStack","currentCharacter","lastOpeningBracket","isValidCssValue","felaInvokeKeyframesPlugin","felaExpandCssShorthandsPlugin","expandedProps","itemResult","itemProperty","defaultDirection","felaRenderer","keyframePrefixes","uniqueKeyframeIdentifier","resolvedKeyframe","processedKeyframe","keyframeReference","otherProperties","fontReference","cssFontFace","renderStatic","staticReference","usedRenderers","felaParam","getOriginalRenderer","defaultDocument","registeredRenderers","createRenderer","actualTarget","createdRenderer","mergePerformanceOptions","mergeBooleanValues","renderFontObject","overwrite","telemetryRef","consumedContext","incomingContext","inputContext","outgoingContext","emptyContext","contexts","mergeThemes","mergedRTL","mergedDisableAnimations","rtlProps","renderObject","preparedSiteVariables","elementProps","RenderProvider","fontStretch","fontVariant","unicodeRange","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","Uint8Array","arrayBuffer","byteLength","overArg","freeProcess","process","require","objValue","baseSetToString","shortOut","reIsDeepProp","reIsPlainProp","nativeKeys","baseIsEqualDeep","setCacheAdd","setCacheHas","SetCache","stubArray","nativeGetSymbols","getSymbols","symbol","categoryColors","redDark","orangeDark","orangeLight","yellowDark","brown","oliveDark","olive","greenDark","tealDark","teal","tealLight","blueDark","purpleDark","purple","maroon","smokeDark","smokeLight","steelDark","steelLight","neon","createCategoryColorScheme","categoryColorScheme","formatting","background7","background8","arrayIncludes","arrayIncludesWith","cacheHas","comparator","isCommon","valuesLength","computed","valuesIndex","memoize","resolver","memoized","Cache","baseValues","baseExtremum","baseLt","baseSum","baseInRange","nullptn","formatptn","colonptn","cursorptn","transformptn","animationptn","propertiesptn","elementptn","selectorptn","andptn","escapeptn","invalidptn","keyframeptn","plcholdrptn","readonlyptn","beforeptn","afterptn","tailptn","whiteptn","pseudoptn","writingptn","supportsptn","propertyptn","selfptn","pseudofmt","dimensionptn","imgsrcptn","webkit","moz","plugged","should","unkwn","keyed","nscopealt","nscope","compile","bracket","comment","parentheses","quote","tail","trail","peak","counter","atrule","caret","insert","invert","eof","eol","flat","charCodeAt","delimited","vendor","isolate","third","declare","parents","stylis","ns","minify","use","tableCellBehavior","listItemSlotClassNames","listItemClassName","contentMedia","headerMedia","_props$debug","_props$navigable","_props$selectable","_props$selected","_props$truncateConten","_props$truncateHeader","_props$variables","contentMediaElement","headerMediaElement","mediaElement","tableHeaderCellBehavior","cell","tuple","Original","valueRef","versionRef","isActionSupported","latestListener","currentEvent","_ownerDocument$defaul","_ownerDocument","_ownerDocument$defaul2","getWindowEvent","conditionalHandler","assignMergeValue","baseFor","baseMergeDeep","safeGet","srcValue","createBaseFor","fromRight","keysFunc","iterable","allocUnsafe","buffer","copy","cloneArrayBuffer","typedArray","byteOffset","baseTimes","inherited","isArg","isBuff","isType","skipIndexes","assigner","otherArgs","nativeNow","lastCalled","stamp","remaining","memoizeCapped","rePropName","reEscapeChar","subString","symbolProto","symbolToString","eachFunc","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","baseGetAllKeys","symbolsFunc","baseHasIn","hasPath","hasFunc","createSet","setToArray","seenIndex","trimmedEndIndex","reTrimStart","nested","_hyphenateStyleName2","_hyphenateStyleName","getSymbolsIn","ArrowRightIcon","ArrowLeftIcon","TrashCanIcon","clipRule","AddIcon","EditIcon","AcceptIcon","ApprovalsAppbarIcon","AppsIcon","ArchiveIcon","ArrowDownIcon","ArrowSortIcon","ArrowUpIcon","AudienceIcon","AudioLoadingIcon","AudioOffIcon","AttendeeIcon","BanIcon","BellIcon","BellSlashIcon","BellSnoozeIcon","BluetoothIcon","BookmarkIcon","BreakoutRoomIcon","BroadcastIcon","BroadcastViewFullscreenIcon","BroadcastViewLeftIcon","BulletsIcon","CalendarIcon","CalendarAgendaIcon","CallBlockedIcon","CallControlCloseTrayIcon","CallControlReleaseIcon","CallControlRequestIcon","CallControlPresentNewIcon","CallControlShareIcon","CallControlStopPresentingNewIcon","CallDialpadIcon","CallEndIcon","CallIcon","CallPstnIcon","CallRecordingIcon","CallVideoIcon","CallVideoOffIcon","CameraIcon","CanvasAddPageIcon","CallMissedLineIcon","CallParkingIcon","CastingIcon","ChannelShareIcon","ChatIcon","ChatOffIcon","ChevronDownMediumIcon","ChevronEndIcon","ChevronEndMediumIcon","ChevronStartIcon","CircleIcon","ClipboardCopiedToIcon","ClosedCaptionsIcon","CodeSnippetIcon","CollapseIcon","CompanionIcon","ComposeIcon","ComputerAudioIcon","ComputerAudioOffIcon","ConferenceRoomDeviceIcon","ContactCardIcon","ContactGroupCallIcon","ContactGroupIcon","ContentIcon","CustomerHubIcon","DoorArrowLeftIcon","DownloadIcon","EmailIcon","EmailWithDotIcon","EmojiIcon","EmojiSadIcon","EmojiSurprisedIcon","ErrorIcon","ExcelColorIcon","ExcelIcon","ExpandIcon","EyeIcon","EyeFriendlierIcon","FilesAftereffectsIcon","FilesCodeIcon","FilesEmptyIcon","FilesErrorIcon","FilesFlashIcon","FilesGenericColoredIcon","FilesGifIcon","FilesHtmlColoredIcon","FilesIllustratorIcon","FilesImageIcon","FilesIndesignIcon","FilesPdfColoredIcon","FilesPdfIcon","FilesPhotoshopIcon","FilesPictureColoredIcon","FilesSketchIcon","FilesSoundIcon","FilesTextColoredIcon","FilesTxtIcon","FilesUploadIcon","FilesVideoIcon","FilesZipIcon","FlagIcon","FluidIcon","FluidFileIcon","FontColorIcon","FontSizeIcon","FormatIcon","GalleryIcon","GalleryNewIcon","GalleryNewLargeIcon","GeofenceArrivesIcon","GeofenceLeavesIcon","GeofenceArrivesOrLeavesIcon","GiphyIcon","GlassesIcon","GridIcon","GroupVideoCallGridIcon","HandIcon","HeadsetIcon","HighlightIcon","HorizontalRuleIcon","ImageAltTextIcon","ImageLibraryIcon","ImageUnavailableIcon","IndentIcon","InfoIcon","ItalicIcon","LeaveIcon","LightningIcon","LikeIcon","LinkIcon","LiveIcon","LiveOffIcon","LocationIcon","LockIcon","MarkAsUnreadIcon","MeetingNewIcon","MeetingTimeIcon","MegaphoneIcon","MentionIcon","MenuIcon","MergeCallsIcon","MessageSeenIcon","MicIcon","MicOffIcon","MicrophoneDisabledIcon","MicrosoftStreamIcon","NoPresenterIcon","NotesIcon","NotificationsMutedIcon","NumberListIcon","OcrOffIcon","OcrOnIcon","OneNoteColorIcon","OneNoteIcon","OneNoteMonoIcon","OneDriveIcon","OptionsIcon","OutdentIcon","OpenOutsideIcon","PanoramaIcon","PanoramaOffIcon","ParticipantAddIcon","ParticipantRemoveIcon","PauseIcon","PauseThickIcon","PhoneArrowIcon","PhoneClockIcon","PlayIcon","PlugsIcon","PollIcon","PopupIcon","PowerPointColorIcon","PowerPointIcon","PresenceAvailableIcon","PresenceStrokeIcon","PresenterIcon","QnaIcon","QuestionCircleIcon","QuoteIcon","ReadAloudIcon","RaiseHandColoredIcon","RaiseHandDisabledIcon","RaiseHandIcon","ReactionsIcon","RedbangIcon","RedoIcon","RemoveFormatIcon","ReplyIcon","RetryIcon","RobotIcon","SaveIcon","ScreencastIcon","ScreenshareIcon","SendIcon","SettingsIcon","SettingsAudioIcon","ShareAltIcon","ShareGenericIcon","ShareLocationIcon","ShareToIcon","ShieldKeyholeIcon","Shift24hIcon","ShiftActivityIcon","SkypeLogoIcon","SpeakerMuteIcon","SpeakerPersonIcon","SpotlightIcon","SpotlightStopIcon","StarIcon","StickerIcon","StrikeIcon","SurveyIcon","SwitchCameraIcon","SyncIcon","TableAddIcon","TableDeleteIcon","TableIcon","TabsIcon","TagIcon","TeamCreateIcon","TeamsIcon","TeamsMonochromeIcon","TenantWorkIcon","TenantPersonalIcon","ThumbtackIcon","ThumbtackSlashIcon","TiltPanZoomIcon","ToDoListIcon","TranscriptIcon","TranslationIcon","TriangleUpIcon","TvIcon","UnderlineIcon","UndoIcon","UrgentIcon","UserBlurIcon","UserFriendsIcon","UserPhoneIcon","VideoCameraEmphasisIcon","VideoLoadingIcon","VideomailIcon","VideoProhibitedIcon","VisioColorIcon","rx","VisioIcon","VolumeIcon","VolumeDownIcon","VolumeUpIcon","WandIcon","WhiteboardIcon","WindowMaximizeIcon","WindowMinimizeIcon","WindowRestoreIcon","WordColorIcon","WordIcon","WorkOrSchoolIcon","YammerIcon","ZoomInIcon","ZoomOutIcon","ZoomToFitIcon","mergeWith","difference","castSlice","charsEndIndex","charsStartIndex","stringToArray","strSymbols","chrSymbols","baseOrderBy","sortBy","iteratees","baseHas","differenceBy","tabBehavior","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","filterUniqueArray","lastIndexOf","assignStyle","baseValue","camelProp","DASH","toUpper","MS","applyStyles","__isFlexItem","CardHeader","symbolObservablePonyfill","arrayEachRight","baseEachRight","createAggregator","groupBy","useCallbackRef","skipInitialResolve","facade","basePlacements","variationPlacements","modifierPhases","isHTMLElement","getWindowScrollBarX","getNodeName","assignedSlot","isScrollParent","_getComputedStyle","listScrollParents","scrollParent","isBody","updatedList","isTableElement","getTrueOffsetParent","html","getOffsetParent","perspective","getContainingBlock","isShadow","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","offsetTop","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","getDocumentRect","getClippingRect","rootBoundary","mainClippingParents","clippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getBasePlacement","getVariation","getMainAxisFromPlacement","variation","commonX","commonY","mainAxis","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","referenceElement","popperRect","popper","clippingClientRect","contextElement","referenceClientRect","popperOffsets","strategy","popperClientRect","elementClientRect","overflowOffsets","offsetData","modifiersData","multiply","getCompositeRect","elementOrVirtualElement","isFixed","isOffsetParentAnElement","getLayoutRect","modifier","requires","requiresIfExists","dep","depModifier","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","cleanupModifierEffects","scrollParents","orderModifiers","merged","mergeByName","_ref3$options","effect","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","unsetSides","mapToStyles","gpuAcceleration","adaptive","_roundOffsets","dpr","roundOffsets","hasX","hasY","sideX","sideY","commonStyles","getOppositePlacement","getOppositeVariationPlacement","within","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","WorkTag","_options$scroll","_options$resize","_options$gpuAccelerat","_options$adaptive","arrow","initialStyles","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","placements","_options$allowedAutoP","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","fittingPlacement","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_preventedOffset","_state$modifiersData$","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","axisProp","centerOffset","_options$element","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","getBoundary","boundariesNode","usePopperOptions","popperOriginalPositionRef","memoFn","onStateUpdate","handleStateUpdate","offsetModifier","userModifiers","scrollParentElement","hasScrollableElement","_state$rects$popper","widthProp","heightProp","applyMaxWidth","applyMaxHeight","_options$enabled","isFirstMount","resolvePopperOptions","popperInstanceRef","handlePopperUpdate","_popperInstanceRef$cu","popperInstance","arrowRef","originalForceUpdate","_popperInstanceRef$cu2","_popperInstanceRef$cu3","_popperInstanceRef$cu4","defaultSelectedIndex","setSelectedIndex","latestProps","onSelectedIndexChange","ItemContentMedia","ItemEndMedia","ItemHeader","ItemHeaderMedia","ItemMedia","sliderBehavior","getA11yValueMessageOnChange","sliderSlotClassNames","sliderClassName","Slider","userInputRef","step","_processInputValues","valueAsPercentage","numericMin","numericMax","numericValue","RadioGroup","setCheckedItem","defaultCheckedValue","checkedValue","setCheckedValue","setShouldFocus","findNextEnabledCheckedItem","checkedValueChange","nextCheckedValue","isNoneValueSelected","onCheckedValueChange","HeaderDescription","Header","description","Description","clientRects","getClientRects","_first2","FocusTrapZone","_previouslyFocusedElementOutsideTrapZone","_previouslyFocusedElementInTrapZone","_firstBumper","_lastBumper","_hasFocus","windowRef","createRef","shouldHandleOutsideClick","isClickableOutsideFocusTrap","focusTriggerOnOutsideClick","_onRootFocus","_onRootBlur","_onFirstBumperFocus","_onBumperFocus","_onLastBumperFocus","isFirstBumper","currentBumper","nextFocusable","_isBumper","_findElementAndFocusAsync","_enableFocusTrapZone","_this$props$disabled","_focusStack","_bringFocusIntoZone","_hideContentFromAccessibilityTree","_this$props$disableFi","disableFirstFocus","_getPreviouslyFocusedElementOutsideTrapZone","_releaseFocusTrapZone","ignoreExternalFocusing","_focusAsync","lastActiveFocusTrap","_showContentInAccessibilityTree","focusPreviouslyFocusedInnerElement","focusSelector","firstFocusableChild","_onFocusCapture","onFocusCapture","_forceFocusInTrap","triggeredElement","_handleOutsideFocus","_handleOutsideClick","clickedElement","isOutsideFocusTrapZone","isOutsideTriggerElement","_onKeyboardHandler","elementToFocusOnDismiss","previouslyFocusedElement","bodyChildren","currentChild","isOrHasFocusTrapZone","isAriaLiveRegion","hiddenElements","_this$props3","forceFocusInsideTrapOnComponentUpdate","forceFocusInsideTrapOnOutsideFocus","prevForceFocusInsideTrap","newForceFocusInsideTrap","prevDisabled","newDisabled","_this$props4","ariaLabelledBy","_this$props4$disabled","bumperProps","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","reIsHostCtor","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","IE_PROTO","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","cloneTypedArray","toPlainObject","mergeFunc","isTyped","typedArrayTags","nativeKeysIn","isProto","baseIsMatch","getMatchData","matchesStrictComparable","matchData","noCustomizer","COMPARE_PARTIAL_FLAG","equalArrays","equalByTag","equalObjects","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","mapToArray","symbolValueOf","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","isStrictComparable","hasIn","baseProperty","basePropertyDeep","spreadableSymbol","isConcatSpreadable","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","reWhitespace","asciiToArray","hasUnicode","unicodeToArray","reHasUnicode","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsSeq","rsSymbol","reUnicode","basePickBy","baseSortBy","compareMultiple","orders","comparer","compareAscending","objCriteria","criteria","othCriteria","ordersLength","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","unstable_now","MessageChannel","unstable_shouldYield","unstable_forceFrameRate","B","C","D","F","G","port2","port1","onmessage","postMessage","H","I","J","K","sortIndex","N","O","P","Q","R","S","T","expirationTime","U","V","priorityLevel","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_Profiling","unstable_UserBlockingPriority","unstable_cancelCallback","unstable_continueExecution","unstable_getCurrentPriorityLevel","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_requestPaint","unstable_runWithPriority","unstable_scheduleCallback","unstable_wrapCallback","uppercasePattern","msPattern","toHyphenLower","hName","cloneDataView","cloneRegExp","cloneSymbol","dataView","reFlags","regexp","baseIsMap","nodeIsMap","baseIsSet","nodeIsSet","_react","_react2","_interopRequireDefault","_propTypes","_perfectScrollbar2","handlerNameByEvent","ScrollBar","_handlerByEvent","_ps","_container","_updateEventHook","_updateClassName","prevCallback","prevHandler","psClassNames","onSync","onScrollY","onScrollX","onScrollUp","onScrollDown","onScrollLeft","onScrollRight","onYReachStart","onYReachEnd","onXReachStart","onXReachEnd","remainProps","Comp","ps","elMatches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","queryChildren","consuming","clicking","scrolling","scrollingClassTimeout","addScrollingClass","removeScrollingClass","isAlive","settings","scrollingThreshold","EventElement","prototypeAccessors","isEmpty","this$1","unbindAll","EventManager","eventElements","CustomEvent","initCustomEvent","processScrollDiff","useScrollingClass","forceFireReachEvent","contentHeight","containerHeight","up","down","reach","dispatchEvent","setScrollingClassInstantly","processScrollDiff$1","eventElement","ee","onceHandler","isWebKit","supportsTouch","maxTouchPoints","DocumentTouch","supportsIePointer","msMaxTouchPoints","isChrome","updateGeometry","roundedScrollTop","containerWidth","contentWidth","scrollbarXRail","scrollbarYRail","suppressScrollX","scrollXMarginOffset","scrollbarXActive","railXWidth","railXMarginWidth","railXRatio","scrollbarXWidth","getThumbSize","scrollbarXLeft","negativeScrollAdjustment","suppressScrollY","scrollYMarginOffset","scrollbarYActive","railYHeight","railYMarginHeight","railYRatio","scrollbarYHeight","scrollbarYTop","xRailOffset","isScrollbarXUsingBottom","scrollbarXBottom","scrollbarXTop","yRailOffset","isScrollbarYUsingRight","scrollbarYRight","scrollbarYOuterWidth","scrollbarYLeft","scrollbarX","railBorderXWidth","scrollbarY","railBorderYWidth","updateCss","thumbSize","minScrollbarLength","maxScrollbarLength","bindMouseScrollHandler","pageY","startingScrollTop","startingMousePageY","mouseMoveHandler","changedTouches","mouseUpHandler","bindMoves","touchMode","pageX","keyboard","contentDocument","shadowRoot","wheelPropagation","shouldPreventDefault","wheel","mousewheelHandler","wheelDeltaX","wheelDeltaY","deltaMode","wheelDelta","getDeltaFromEvent","maxScrollTop","maxScrollLeft","shouldBeConsumedByChild","shouldPrevent","useBothWheelAxes","wheelSpeed","isTop","isRight","onwheel","onmousewheel","startOffset","speed","easingLoop","touchStart","touchMove","PointerEvent","MSPointerEvent","applyTouchMove","differenceX","differenceY","getTouch","targetTouches","shouldHandle","pointerType","MSPOINTER_TYPE_MOUSE","clearInterval","currentOffset","currentTime","timeGap","magnitudeX","magnitudeY","swipeEasing","setInterval","isInitialized","PerfectScrollbar","userSettings","originalScrollLeft","blur","isNegativeScroll","railXStyle","railYStyle","lastScrollTop","lastScrollLeft","removePsClasses","baseRange","baseForOwnRight","baseForRight","arrayAggregator","baseAggregator","initializer","nextParent","stateValue","setStateValue","imageBehavior","ALIGNMENTS","POSITIONS","AUTOSIZES","rtlMapping","AutoFocusZone","findElementAndFocusAsync","matchesByKey","ignoredByTag","isContentEditable","accessibleYellow","accessibleGreen","accessibleCyan","avatarVariables","buttonVariables","chatMessageVariables","checkboxVariables","dialogVariables","embedVariables","headerVariables","radioGroupItemVariables","segmentVariables","textVariables","reactionVariables","providerVariables","labelVariables","tooltipContentVariables","datepickerCalendarCellVariables","datepickerCalendarCellButtonVariables","teamsHighContrastTheme","headerDescriptionVariables","svgIconVariables","teamsDarkTheme","themeInput","Event","initEvent","createNewEvent","currentValue","currentInput","eventTimer","ignoreMap","inputMap","keydown","keyup","mousedown","mousemove","MSPointerDown","MSPointerMove","isBuffering","pointerMap","supportsPassive","addListeners","eventTarget","setInput","eventBuffer","eventKey","ignoreMatch","doUpdate","detectWheel","setUpWhatInput","targetWindow","initializedTimes","tryCleanupWhatInput","setWhatInputSource","newInput","getDefinedProps","definedProps","managerFactory","_options$sideEffects","latestActions","latestManager","initialState","partitionHTMLProps","_options$htmlProps","htmlProps","_options$includeAria","includeAria","possibleAria","behaviorData","defaultAriaLabelledBy","defaultAriaDescribedBy","getDefaultAriaDescribedBy","headerId","contentId","FormDropdown","FormRadioGroup","tabListBehavior","ToolbarVariablesContext","ToolbarVariablesProvider","ToolbarCustomItem","parentVariables","ToolbarDivider","hasPopup","performWrapperClick","doNotNavigateNextToolbarItem","toolbarMenuRadioGroupBehavior","ToolbarMenuItemIcon","ToolbarMenuContext","ToolbarMenuContextProvider","ToolbarMenuItemContent","toolbarMenuItemSlotClassNames","toolbarMenuItemClassName","ToolbarMenuItem","activeIndicator","submenuIndicator","menuPositioningProps","mergedVariables","outsideClickHandler","isItemClick","isNestedClick","handleMenuOverrides","popupElement","toolbarMenuRadioGroupWrapperBehavior","ToolbarMenuRadioGroupWrapper","ToolbarMenuRadioGroup","toolbarMenuDividerBehavior","ToolbarMenuDivider","handleRadioGroupOverrides","ToolbarItemWrapper","ToolbarItemIcon","handleWrapperClick","handleOutsideClick","itemElement","submenuElement","ToolbarRadioGroup","itemRefs","setFocusedItem","filteredRadioItems","currentFocusedIndex","nextIndex","nextItemToFocus","toolbarItem","Toolbar","overflowContainerRef","overflowItemWrapperRef","overflowSentinelRef","offsetMeasureRef","lastVisibleItemIndex","animationFrameId","hide","firstFocusableItem","wasFocusable","show","hideOverflowItems","$overflowContainer","$overflowItem","$overflowSentinel","$offsetMeasure","scrollTo","$lastVisibleItem","lastVisibleItemRect","$items","overflowContainerBoundingRect","overflowItemBoundingRect","offsetMeasureBoundingRect","absolutePositioningOffset","isOverflowing","$item","itemBoundingRect","containerBoundingRect","isItemOverflowing","wouldCollide","actualWindow","itemLeftMargin","itemRightMargin","wouldItemCollide","lastVisibleItemMarginLeft","lastVisibleItemRightMargin","setOverflowPosition","handleWindowResize","customItem","_context$target$defau","_predefinedProps$menu","renderOverflowItem","CustomItem","MenuItemSubmenuIndicator","MenuItemActiveIndicator","MenuRadioGroup","MenuRadioGroupWrapper","_stylesheet","InjectionMode","REUSE_STYLE_NODE","_global","_rtl","Stylesheet","_rules","_preservedRules","_rulesToInsert","_counter","_keyToClassName","_onResetCallbacks","_classNameToArgs","injectionMode","defaultPrefix","namespace","cspSettings","classNameCache","getInstance","_lastStyleElement","fabricConfig","FabricConfig","mergeStyles","setConfig","onReset","getClassName","cacheClassName","classNameFromKey","getClassNameCache","argsFromClassName","insertedRulesFromClassName","_getStyleElement","onInsertRule","getRules","includePreservedRules","resetKeys","_styleElement","_createStyleElement","styleElement","placeholderStyleTag","_findPlaceholderStyleTag","getRTL","getStyleOptions","_vendorSettings","autoPrefixNames","prefixRules","rulePairs","vendorSettings","nav","isWebkit","isMoz","isOpera","getVendorSettings","NON_PIXEL_NUMBER_PROPS","provideUnits","isNonPixelProp","isVariableOrPrefixed","LEFT","RIGHT","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","rtlifyRules","name_1","flipQuad","partIndex","numberVal","negateNum","rootStyle","globalSelectorRegExp","expandSelector","newSelector","currentSelector","extractSelector","__order","extractRules","selectorWithGlobals","replacementInfo","findGlobal","matchIndex","matchEndIndex","replacement","expandCommaSeparatedGlobals","separatedSelector","currentRules","args_1","expandedRules","expandQuads","getKeyForRules","serialized","hasProps","rulesForSelector","repeatString","serializeRuleEntries","ruleEntries","allEntries","styleToRegistration","registration","rulesToInsert","applyRegistration","specificityMultiplier","processedRule","mergeCss","objects","_processArgs","argsList","argsList_1","translatedArgs","extractStyleParts","styleToClassName","findScrollableParent","startingElement","statusBehavior","AvatarStatusIcon","AvatarStatus","avatarImageClassName","AvatarImage","AvatarIcon","avatarlabelClassName","AvatarLabel","hasGlyph","initials","cardBehavior","CardColumn","CardPreview","CardTopControls","cardRef","focusCard","Preview","TopControls","Column","ExpandableBox","NestingContext","NestingChildInner","getContextRefs","RefStack","refId","NestingRoot","parentRef","NestingAuto","dismissAction","bodyId","alertWarningBehavior","alertBaseBehavior","alertSlotClassNames","alertClassName","bodyContent","defaultVisible","handleDismissOverrides","buttonProps","onVisibleChange","DismissAction","gridRowNestedBehavior","row","contextMenu","triggerId","openAndFocusFirst","openAndFocusLast","menuButtonSlotClassNames","menuButtonClassName","MenuButton","openAndFocus","popupProps","handleOpenChange","onMenuItemClick","hasPassiveEvents","passiveTestOptions","isIosDevice","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","rawEvent","restoreOverflowSetting","disableBodyScroll","ontouchstart","ontouchmove","isTargetElementTotallyScrolled","handleScroll","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","setOverflowHidden","DialogFooter","dialogSlotClassNames","dialogClassName","Dialog","cancelButton","closeOnOutsideClick","confirmButton","overlayRef","handleDialogCancel","handleOverlayClick","isInsideContentClick","isInsideOverlayClick","handleDocumentKeydown","lastOverlayRef","isLastOpenedDialog","cancelElement","confirmElement","handleDialogConfirm","dialogActions","dialogContent","contentNode","onCancel","onConfirm","onOpen","elementContainsAttribute","elementMatch","findElementRecursive","matchFunction","testElement","textAreaBehavior","FormField","messageElement","controlElement","shouldControlAppearFirst","Form","onSubmit","TooltipContent","setTooltipOpen","triggerAriaLabel","getContentOverrideProps","shouldStayOpen","popperProps","tooltipContent","DividerContent","tableRowBehavior","tableSlotClassNames","tableClassName","Table","Cell","Row","useMergedRefs","mergedCallback","usesRenderProps","proposedPlacement","latestPlacement","computedPlacement","setComputedPlacement","_props$pointerTargetR"],"mappings":"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","file":"vendors~config~index.18e6714d10166793fcce-1741098161373.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\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}\n","/*!\n  Copyright (c) 2017 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export var iconClassNames = {\n  filled: 'ui-icon__filled',\n  outline: 'ui-icon__outline'\n};\n//# sourceMappingURL=iconClassNames.js.map\n","import * as React from 'react';\n\n// Provides a minimal functionality to render components without styles and without runtime errors.\nvar NoopProvider = function NoopProvider(props) {\n  return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);\n};\n\nexport var noopRenderer = {\n  registerUsage: function registerUsage() {},\n  unregisterUsage: function unregisterUsage() {},\n  renderFont: function renderFont() {},\n  renderGlobal: function renderGlobal() {},\n  renderRule: function renderRule() {\n    return '';\n  },\n  Provider: NoopProvider\n};\n//# sourceMappingURL=noopRenderer.js.map\n","export var callable = function callable(possibleFunction) {\n  return function () {\n    return typeof possibleFunction === 'function' ? possibleFunction.apply(void 0, arguments) : possibleFunction;\n  };\n};\n//# sourceMappingURL=callable.js.map\n","var isObject = function isObject(o) {\n  return o !== null && typeof o === 'object' && !Array.isArray(o);\n};\n\nvar isValid = function isValid(k) {\n  return k !== '__proto__' && k !== 'prototype' && k !== 'constructor';\n}; // Heads Up!\n// Changes here need to consider breaking all object references.\n// Merging should result in a themes that are non-mutated and have broken references.\n\n\nexport var deepmerge = function deepmerge() {\n  var inner = function inner(target, source) {\n    Object.keys(source).forEach(function (k) {\n      if (isValid(k)) {\n        if (isObject(source[k])) {\n          if (!isObject(target[k])) {\n            target[k] = {};\n          }\n\n          inner(target[k], source[k]);\n        } else {\n          target[k] = source[k]; // TODO: do deep clone for arrays? We currently do not have any deep arrays in variables\n        }\n      }\n    });\n    return target;\n  };\n\n  for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n    sources[_key] = arguments[_key];\n  }\n\n  return sources.filter(Boolean).reduce(function (acc, src) {\n    return inner(acc, src);\n  }, {});\n};\n//# sourceMappingURL=deepmerge.js.map\n","import { isEnabled as isDebugEnabled } from './debugEnabled';\nexport var withDebugId = process.env.NODE_ENV === 'production' ? function (data, debugId) {\n  return data;\n} : function (data, debugId) {\n  if (!isDebugEnabled || debugId === undefined) {\n    return data;\n  }\n\n  if (typeof data === 'object' && data !== null) {\n    if (!Object.prototype.hasOwnProperty.call(data, '_debugId')) {\n      var copy = Object.assign({}, data);\n      Object.defineProperty(copy, '_debugId', {\n        value: debugId,\n        writable: false,\n        enumerable: false\n      });\n      return copy;\n    }\n  }\n\n  if (typeof data === 'function') {\n    return function () {\n      var result = data.apply(void 0, arguments);\n      return withDebugId(result, debugId);\n    };\n  }\n\n  return data;\n};\n//# sourceMappingURL=withDebugId.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _forEach from \"lodash/forEach\";\nimport _keys from \"lodash/keys\";\nimport _map from \"lodash/map\";\nimport _union from \"lodash/union\";\nimport _merge from \"lodash/merge\";\nimport { callable } from './callable';\nimport { isEnabled as isDebugEnabled } from './debugEnabled';\nimport { deepmerge } from './deepmerge';\nimport { objectKeyToValues } from './objectKeysToValues';\nimport { toCompactArray } from './toCompactArray';\nimport { withDebugId } from './withDebugId';\nexport var emptyTheme = {\n  siteVariables: {\n    fontSizes: {}\n  },\n  componentVariables: {},\n  componentStyles: {},\n  fontFaces: [],\n  staticStyles: [],\n  animations: {}\n}; // ----------------------------------------\n// Component level merge functions\n// ----------------------------------------\n\n/**\n * Merges a single component's styles (keyed by component part) with another component's styles.\n */\n\nexport var mergeComponentStyles__PROD = function mergeComponentStyles__PROD(stylesA, stylesB) {\n  var result = {};\n\n  if (stylesA) {\n    Object.keys(stylesA).forEach(function (partName) {\n      var slotA = stylesA[partName];\n      var slotB = stylesB == null ? void 0 : stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n      if (typeof slotA === 'undefined' || slotA === null) {\n        return;\n      } // no target means source doesn't need to merge onto anything\n      // just ensure source is callable (prepared format)\n\n\n      if (typeof slotB === 'undefined' || slotB === null) {\n        result[partName] = typeof slotA === 'function' ? slotA : function () {\n          return slotA;\n        };\n        return;\n      }\n\n      if (slotA === slotB) {\n        result[partName] = typeof slotA === 'function' ? slotA : function () {\n          return slotA;\n        };\n      }\n    });\n  }\n\n  if (stylesB) {\n    Object.keys(stylesB).forEach(function (partName) {\n      var slotA = stylesA == null ? void 0 : stylesA[partName];\n      var slotB = stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n      if (typeof slotB === 'undefined' || slotB === null) {\n        return;\n      } // no target means source doesn't need to merge onto anything\n      // just ensure source is callable (prepared format)\n\n\n      if (typeof slotA === 'undefined' || slotA === null) {\n        result[partName] = typeof slotB === 'function' ? slotB : function () {\n          return slotB;\n        };\n        return;\n      }\n\n      if (slotA === slotB) {\n        return;\n      } // We have both target and source, replace with merge fn\n\n\n      result[partName] = function mergedStyleFunction(styleParam) {\n        // originalTarget is always prepared, fn is guaranteed\n        return _merge(typeof slotA === 'function' ? slotA(styleParam) : slotA, typeof slotB === 'function' ? slotB(styleParam) : slotB);\n      };\n    });\n  }\n\n  return result;\n};\nexport var mergeComponentStyles__DEV = function mergeComponentStyles__DEV(stylesA, stylesB) {\n  if (!isDebugEnabled) {\n    return mergeComponentStyles__PROD(stylesA, stylesB);\n  }\n\n  var mergedKeys = [].concat(stylesA ? Object.keys(stylesA) : [], stylesB ? Object.keys(stylesB) : []);\n  var result = {};\n  mergedKeys.forEach(function (slotName) {\n    var slotA = function slotA(styleParam) {\n      var _ref = callable(stylesA == null ? void 0 : stylesA[slotName])(styleParam) || {},\n          _ref$_debug = _ref._debug,\n          _debug = _ref$_debug === void 0 ? undefined : _ref$_debug,\n          styles = _objectWithoutPropertiesLoose(_ref, [\"_debug\"]); // new object required to prevent circular JSON structure error in <Debug />\n\n\n      return Object.assign({}, styles, {\n        _debug: _debug || [{\n          styles: Object.assign({}, styles),\n          debugId: stylesA._debugId\n        }]\n      });\n    };\n\n    var slotB = function slotB(styleParam) {\n      var _ref2 = callable(stylesB == null ? void 0 : stylesB[slotName])(styleParam) || {},\n          _ref2$_debug = _ref2._debug,\n          _debug = _ref2$_debug === void 0 ? undefined : _ref2$_debug,\n          styles = _objectWithoutPropertiesLoose(_ref2, [\"_debug\"]); // new object required to prevent circular JSON structure error in <Debug />\n\n\n      return Object.assign({}, styles, {\n        _debug: _debug || [{\n          styles: Object.assign({}, styles),\n          debugId: stylesB._debugId\n        }]\n      });\n    };\n\n    if (stylesA != null && stylesA[slotName] && stylesB != null && stylesB[slotName]) {\n      // We have both, replace with merge fn\n      result[slotName] = function (styleParam) {\n        // slot* are always prepared, fn is guaranteed, _debug always exists\n        var _slotA = slotA(styleParam),\n            debugA = _slotA._debug,\n            resolvedStylesA = _objectWithoutPropertiesLoose(_slotA, [\"_debug\"]);\n\n        var _slotB = slotB(styleParam),\n            debugB = _slotB._debug,\n            resolvedStylesB = _objectWithoutPropertiesLoose(_slotB, [\"_debug\"]);\n\n        var merged = _merge(resolvedStylesA, resolvedStylesB);\n\n        merged._debug = debugA.concat(debugB || {\n          styles: resolvedStylesB,\n          debugId: resolvedStylesB._debugId\n        });\n        return merged;\n      };\n    } else if (stylesA != null && stylesA[slotName]) {\n      result[slotName] = slotA;\n    } else if (stylesB != null && stylesB[slotName]) {\n      result[slotName] = slotB;\n    }\n  });\n  return result;\n};\nexport var mergeComponentStyles = process.env.NODE_ENV === 'production' ? mergeComponentStyles__PROD : mergeComponentStyles__DEV;\n/**\n * Merges a single component's variables with another component's variables.\n */\n\nexport var mergeComponentVariables__PROD = function mergeComponentVariables__PROD() {\n  var initial = function initial() {\n    return {};\n  }; // filtering is required as some arguments can be undefined\n\n\n  for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n    sources[_key] = arguments[_key];\n  }\n\n  var filteredSources = sources.filter(Boolean); // a short circle to avoid calls of deepmerge()\n\n  if (filteredSources.length === 1) {\n    return typeof filteredSources[0] === 'function' ? filteredSources[0] : callable(filteredSources[0]);\n  }\n\n  return filteredSources.reduce(function (acc, next) {\n    return function mergeComponentVariables() {\n      var accumulatedVariables = acc.apply(void 0, arguments);\n      var fn = typeof next === 'function' ? next : callable(next);\n      var computedComponentVariables = fn.apply(void 0, arguments);\n      return deepmerge(accumulatedVariables, computedComponentVariables);\n    };\n  }, initial);\n};\nexport var mergeComponentVariables__DEV = function mergeComponentVariables__DEV() {\n  for (var _len2 = arguments.length, sources = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    sources[_key2] = arguments[_key2];\n  }\n\n  if (!isDebugEnabled) {\n    return mergeComponentVariables__PROD.apply(void 0, sources);\n  }\n\n  var initial = function initial() {\n    return {};\n  };\n\n  return sources.reduce(function (acc, next) {\n    return function (siteVariables) {\n      var _acc = acc(siteVariables),\n          _acc$_debug = _acc._debug,\n          _debug = _acc$_debug === void 0 ? [] : _acc$_debug,\n          accumulatedVariables = _objectWithoutPropertiesLoose(_acc, [\"_debug\"]);\n\n      var _ref3 = callable(next)(siteVariables) || {},\n          _ref3$_debug = _ref3._debug,\n          computedDebug = _ref3$_debug === void 0 ? undefined : _ref3$_debug,\n          _ref3$_debugId = _ref3._debugId,\n          _debugId = _ref3$_debugId === void 0 ? undefined : _ref3$_debugId,\n          computedComponentVariables = _objectWithoutPropertiesLoose(_ref3, [\"_debug\", \"_debugId\"]);\n\n      var merged = deepmerge(accumulatedVariables, computedComponentVariables);\n      merged._debug = _debug.concat(computedDebug || {\n        resolved: computedComponentVariables,\n        debugId: _debugId,\n        input: siteVariables ? siteVariables._invertedKeys && callable(next)(siteVariables._invertedKeys) : callable(next)()\n      });\n      return merged;\n    };\n  }, initial);\n};\nexport var mergeComponentVariables = process.env.NODE_ENV === 'production' ? mergeComponentVariables__PROD : mergeComponentVariables__DEV; // ----------------------------------------\n// Theme level merge functions\n// ----------------------------------------\n\n/**\n * Site variables can safely be merged at each Provider in the tree.\n * They are flat objects and do not depend on render-time values, such as props.\n */\n\nexport var mergeSiteVariables__PROD = function mergeSiteVariables__PROD() {\n  var initial = {\n    fontSizes: {}\n  };\n\n  for (var _len3 = arguments.length, sources = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n    sources[_key3] = arguments[_key3];\n  }\n\n  return deepmerge.apply(void 0, [initial].concat(sources));\n};\nexport var mergeSiteVariables__DEV = function mergeSiteVariables__DEV() {\n  for (var _len4 = arguments.length, sources = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n    sources[_key4] = arguments[_key4];\n  }\n\n  if (!isDebugEnabled) {\n    return mergeSiteVariables__PROD.apply(void 0, sources);\n  }\n\n  var initial = {\n    fontSizes: {}\n  };\n  return sources.reduce(function (acc, next) {\n    var _acc$_debug2 = acc._debug,\n        _debug = _acc$_debug2 === void 0 ? [] : _acc$_debug2,\n        accumulatedSiteVariables = _objectWithoutPropertiesLoose(acc, [\"_debug\"]);\n\n    var _ref4 = next || {},\n        _ref4$_debug = _ref4._debug,\n        computedDebug = _ref4$_debug === void 0 ? undefined : _ref4$_debug,\n        _ref4$_invertedKeys = _ref4._invertedKeys,\n        _invertedKeys = _ref4$_invertedKeys === void 0 ? undefined : _ref4$_invertedKeys,\n        _ref4$_debugId = _ref4._debugId,\n        _debugId = _ref4$_debugId === void 0 ? undefined : _ref4$_debugId,\n        nextSiteVariables = _objectWithoutPropertiesLoose(_ref4, [\"_debug\", \"_invertedKeys\", \"_debugId\"]);\n\n    var merged = deepmerge(Object.assign({}, accumulatedSiteVariables, {\n      _invertedKeys: undefined\n    }), nextSiteVariables);\n    merged._debug = _debug.concat(computedDebug || {\n      resolved: nextSiteVariables,\n      debugId: _debugId\n    });\n    merged._invertedKeys = _invertedKeys || objectKeyToValues(merged, function (key) {\n      return \"siteVariables.\" + key;\n    });\n    return merged;\n  }, initial);\n};\nexport var mergeSiteVariables = process.env.NODE_ENV === 'production' ? mergeSiteVariables__PROD : mergeSiteVariables__DEV;\n/**\n * Component variables can be objects, functions, or an array of these.\n * The functions must be called with the final result of siteVariables, otherwise\n *   the component variable objects would have no ability to apply siteVariables.\n * Therefore, componentVariables must be resolved by the component at render time.\n * We instead pass down call stack of component variable functions to be resolved later.\n */\n\nexport var mergeThemeVariables__PROD = function mergeThemeVariables__PROD() {\n  for (var _len5 = arguments.length, sources = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n    sources[_key5] = arguments[_key5];\n  }\n\n  var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n  return displayNames.reduce(function (componentVariables, displayName) {\n    componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, displayName));\n    return componentVariables;\n  }, {});\n};\nexport var mergeThemeVariables__DEV = function mergeThemeVariables__DEV() {\n  for (var _len6 = arguments.length, sources = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n    sources[_key6] = arguments[_key6];\n  }\n\n  if (!isDebugEnabled) {\n    return mergeThemeVariables__PROD.apply(void 0, sources);\n  }\n\n  var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n  return displayNames.reduce(function (componentVariables, displayName) {\n    componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, function (source) {\n      return source && withDebugId(source[displayName], source._debugId);\n    }));\n    return componentVariables;\n  }, {});\n};\nexport var mergeThemeVariables = process.env.NODE_ENV === 'production' ? mergeThemeVariables__PROD : mergeThemeVariables__DEV;\n/**\n * See mergeThemeVariables() description.\n * Component styles adhere to the same pattern as component variables, except\n *   that they return style objects.\n */\n\nexport var mergeThemeStyles = function mergeThemeStyles() {\n  var initial = {};\n\n  for (var _len7 = arguments.length, sources = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n    sources[_key7] = arguments[_key7];\n  }\n\n  return sources.reduce(function (themeComponentStyles, next) {\n    _forEach(next, function (stylesByPart, displayName) {\n      themeComponentStyles[displayName] = mergeComponentStyles(themeComponentStyles[displayName], withDebugId(stylesByPart, next._debugId));\n    });\n\n    return themeComponentStyles;\n  }, initial);\n};\nexport var mergeFontFaces = function mergeFontFaces() {\n  return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeStaticStyles = function mergeStaticStyles() {\n  return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeAnimations = function mergeAnimations() {\n  for (var _len8 = arguments.length, sources = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n    sources[_key8] = arguments[_key8];\n  }\n\n  return Object.assign.apply(Object, [{}].concat(sources));\n};\nexport var mergeStyles = function mergeStyles() {\n  for (var _len9 = arguments.length, sources = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n    sources[_key9] = arguments[_key9];\n  }\n\n  return function () {\n    for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n      args[_key10] = arguments[_key10];\n    }\n\n    return sources.reduce(function (acc, next) {\n      return _merge(acc, callable(next).apply(void 0, args));\n    }, {});\n  };\n};\nexport var mergeThemes = function mergeThemes() {\n  for (var _len11 = arguments.length, themes = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n    themes[_key11] = arguments[_key11];\n  }\n\n  return themes.reduce(function (acc, next) {\n    if (!next) return acc;\n    var nextDebugId = next['_debugId'];\n    acc.siteVariables = mergeSiteVariables(acc.siteVariables, withDebugId(next.siteVariables, nextDebugId));\n    acc.componentVariables = mergeThemeVariables(acc.componentVariables, withDebugId(next.componentVariables, nextDebugId));\n    acc.componentStyles = mergeThemeStyles(acc.componentStyles, withDebugId(next.componentStyles, nextDebugId));\n    acc.fontFaces = mergeFontFaces.apply(void 0, acc.fontFaces.concat(next.fontFaces || []));\n    acc.staticStyles = mergeStaticStyles.apply(void 0, acc.staticStyles.concat(next.staticStyles || []));\n    acc.animations = mergeAnimations(acc.animations, next.animations);\n    return acc;\n  }, // .reduce() will modify \"emptyTheme\" object, so we should clone it before actual usage\n  Object.assign({}, emptyTheme));\n};\n//# sourceMappingURL=mergeThemes.js.map\n","import { noopRenderer } from '@fluentui/react-northstar-styles-renderer';\nimport { emptyTheme } from '@fluentui/styles';\nimport * as React from 'react';\nexport var defaultPerformanceFlags = {\n  enableSanitizeCssPlugin: process.env.NODE_ENV !== 'production',\n  enableStylesCaching: true,\n  enableVariablesCaching: true,\n  enableBooleanVariablesCaching: false\n};\nexport var defaultContextValue = {\n  // A default value for `rtl` is undefined to let compute `Provider` a proper one\n  rtl: undefined,\n  disableAnimations: false,\n  performance: defaultPerformanceFlags,\n  renderer: noopRenderer,\n  theme: emptyTheme,\n  telemetry: undefined,\n  target: undefined\n};\nvar FluentContext = /*#__PURE__*/React.createContext(defaultContextValue);\nexport function useFluentContext() {\n  return React.useContext(FluentContext);\n}\nexport var Unstable_FluentContextProvider = FluentContext.Provider;\n//# sourceMappingURL=context.js.map\n","import { callable, mergeComponentVariables, withDebugId } from '@fluentui/styles';\nvar variablesCache = new WeakMap();\nexport var resolveVariables = function resolveVariables(displayNames, theme, variables, enabledVariablesCaching) {\n  var componentThemeVariables; // Filter out components that doesn't have defined variables in theme\n\n  var effectiveDisplayNames = displayNames.filter(function (displayName) {\n    return !!theme.componentVariables[displayName];\n  }); //\n  // Simple caching model, works only if there is no `props.variables`\n  // Resolves variables for this component, cache the result in provider\n  //\n\n  if (enabledVariablesCaching) {\n    if (!variablesCache.has(theme)) {\n      variablesCache.set(theme, {});\n    }\n\n    var variablesThemeCache = variablesCache.get(theme) || {}; // const displayNames = { Foo: variables, Bar: undefined, Baz: undefined }\n    // This allows to avoid creating useless cache entries for `Bar` & `Baz` components\n\n    var handlingDisplayName = effectiveDisplayNames[effectiveDisplayNames.length - 1];\n\n    if (!variablesThemeCache[handlingDisplayName]) {\n      // A short circle to avoid additional merging for non-composed components\n      if (effectiveDisplayNames.length === 1) {\n        variablesThemeCache[handlingDisplayName] = callable(theme.componentVariables[handlingDisplayName])(theme.siteVariables);\n      } else {\n        variablesThemeCache[handlingDisplayName] = mergeComponentVariables.apply(void 0, effectiveDisplayNames.map(function (displayName) {\n          return theme.componentVariables[displayName];\n        }))(theme.siteVariables);\n      }\n\n      variablesCache.set(theme, variablesThemeCache);\n    }\n\n    componentThemeVariables = variablesThemeCache[handlingDisplayName];\n  } else if (effectiveDisplayNames.length === 1) {\n    componentThemeVariables = callable(theme.componentVariables[effectiveDisplayNames[0]])(theme.siteVariables) || {};\n  } else {\n    componentThemeVariables = mergeComponentVariables.apply(void 0, effectiveDisplayNames.map(function (displayName) {\n      return theme.componentVariables[displayName];\n    }))(theme.siteVariables);\n  }\n\n  if (variables === undefined) {\n    return componentThemeVariables;\n  }\n\n  return mergeComponentVariables(componentThemeVariables, withDebugId(variables, 'props.variables'))(theme.siteVariables);\n};\n//# sourceMappingURL=resolveVariables.js.map\n","import _isNil from \"lodash/isNil\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport { isDebugEnabled, mergeComponentStyles, withDebugId } from '@fluentui/styles';\nimport cx from 'classnames';\n// this weak map is used as cache for the classes\nvar classesCache = new WeakMap(); // this weak map is used as cache for the styles\n\nvar stylesCache = new WeakMap();\n/**\n * Both resolvedStyles and classes are objects of getters with lazy evaluation\n *\n * Additionally if the cacheEnabled option is provided, than the resolved styles\n * and classes are caching the results in WeakMaps. The key of the maps contains the following:\n * - theme\n * - displayName\n * - slot name\n * - styling props\n * - rtl mode\n * - disable animations mode\n */\n\nexport var resolveStyles = function resolveStyles(options, resolvedVariables) {\n  var allDisplayNames = options.allDisplayNames,\n      componentClassName = options.className,\n      theme = options.theme,\n      primaryDisplayName = options.primaryDisplayName,\n      componentProps = options.componentProps,\n      inlineStylesProps = options.inlineStylesProps,\n      rtl = options.rtl,\n      disableAnimations = options.disableAnimations,\n      renderer = options.renderer,\n      performanceFlags = options.performance,\n      telemetry = options.telemetry;\n  var className = inlineStylesProps.className,\n      design = inlineStylesProps.design,\n      styles = inlineStylesProps.styles,\n      variables = inlineStylesProps.variables;\n  var noInlineStylesOverrides = !(design || styles);\n  var noVariableOverrides = performanceFlags.enableBooleanVariablesCaching || !variables;\n  /* istanbul ignore else */\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (!performanceFlags.enableStylesCaching && performanceFlags.enableBooleanVariablesCaching) {\n      throw new Error('@fluentui/react-northstar: Please check your \"performance\" settings on \"Provider\", to enable \"enableBooleanVariablesCaching\" you need to enable \"enableStylesCaching\"');\n    }\n  }\n\n  if (performanceFlags.enableBooleanVariablesCaching) {\n    if (_isPlainObject(variables)) {\n      var hasOnlyBooleanVariables = Object.keys(variables).every(function (variableName) {\n        return variables[variableName] === null || typeof variables[variableName] === 'undefined' || typeof variables[variableName] === 'boolean';\n      });\n\n      if (!hasOnlyBooleanVariables) {\n        noVariableOverrides = false;\n      }\n    } else if (!_isNil(variables)) {\n      noVariableOverrides = false;\n    }\n  }\n\n  var cacheEnabled = performanceFlags.enableStylesCaching && noInlineStylesOverrides && noVariableOverrides; // Merge theme styles with inline overrides if any\n\n  var mergedStyles;\n\n  if (allDisplayNames.length === 1) {\n    mergedStyles = theme.componentStyles[allDisplayNames[0]] || {\n      root: function root() {\n        return {};\n      }\n    };\n  } else {\n    var _styles = allDisplayNames.map(function (displayName) {\n      return theme.componentStyles[displayName];\n    }).filter(Boolean);\n\n    if (_styles.length > 0) {\n      mergedStyles = _styles.reduce(function (acc, styles) {\n        return mergeComponentStyles(acc, styles);\n      }, {});\n    } else {\n      mergedStyles = {\n        root: function root() {\n          return {};\n        }\n      };\n    }\n  }\n\n  if (!noInlineStylesOverrides) {\n    mergedStyles = mergeComponentStyles(mergedStyles, mergeComponentStyles(design && withDebugId({\n      root: design\n    }, 'props.design'), styles && withDebugId({\n      root: styles\n    }, 'props.styles')));\n  }\n\n  var styleParam = {\n    props: componentProps,\n    variables: resolvedVariables,\n    theme: theme,\n    rtl: rtl,\n    disableAnimations: disableAnimations\n  }; // Heads Up! Keep in sync with Design.tsx render logic\n\n  var rendererParam = {\n    direction: rtl ? 'rtl' : 'ltr',\n    disableAnimations: disableAnimations,\n    displayName: allDisplayNames.join(':'),\n    // does not affect styles, only used by useEnhancedRenderer in docs\n    sanitizeCss: performanceFlags.enableSanitizeCssPlugin\n  };\n  var resolvedStylesDebug = {};\n\n  if (cacheEnabled && theme) {\n    if (!stylesCache.has(theme)) {\n      stylesCache.set(theme, {});\n    }\n\n    if (!classesCache.has(theme)) {\n      classesCache.set(theme, {});\n    }\n  }\n\n  var propsCacheKey = cacheEnabled ? JSON.stringify(componentProps) : '';\n  var variablesCacheKey = cacheEnabled && performanceFlags.enableBooleanVariablesCaching ? JSON.stringify(variables) : '';\n  var componentCacheKey = cacheEnabled ? allDisplayNames.join(':') + \":\" + propsCacheKey + \":\" + variablesCacheKey + \":\" + styleParam.rtl + styleParam.disableAnimations : '';\n\n  if (typeof Proxy === 'undefined') {\n    //\n    //\n    // IE11 branch of code, feel free to remove later.\n    // Keep it sync with another branch below!\n    //\n    //\n    var _resolvedStyles = {};\n    var _classes = {};\n    Object.keys(mergedStyles).forEach(function (slotName) {\n      // resolve/render slot styles once and cache\n      var lazyEvaluationKey = slotName + \"__return\";\n      var slotCacheKey = componentCacheKey + slotName;\n      Object.defineProperty(_resolvedStyles, slotName, {\n        enumerable: false,\n        configurable: false,\n        set: function set(val) {\n          // Add to the cache if it's enabled\n          if (cacheEnabled && theme) {\n            var _Object$assign;\n\n            stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign = {}, _Object$assign[slotCacheKey] = val, _Object$assign)));\n          }\n\n          _resolvedStyles[lazyEvaluationKey] = val;\n        },\n        get: function get() {\n          // If caching enabled and entry exists, get from cache, avoid lazy evaluation\n          if (cacheEnabled && theme) {\n            var stylesThemeCache = stylesCache.get(theme) || {};\n\n            if (stylesThemeCache[slotCacheKey]) {\n              return stylesThemeCache[slotCacheKey];\n            }\n          }\n\n          if (_resolvedStyles[lazyEvaluationKey]) {\n            return _resolvedStyles[lazyEvaluationKey];\n          }\n\n          var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0; // resolve/render slot styles once and cache\n\n          _resolvedStyles[lazyEvaluationKey] = mergedStyles[slotName](styleParam);\n\n          if (cacheEnabled && theme) {\n            var _Object$assign2;\n\n            stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign2 = {}, _Object$assign2[slotCacheKey] = _resolvedStyles[lazyEvaluationKey], _Object$assign2)));\n          }\n\n          if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n            resolvedStylesDebug[slotName] = _resolvedStyles[slotName]['_debug'];\n            delete _resolvedStyles[slotName]['_debug'];\n          }\n\n          if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n            telemetry.performance[primaryDisplayName].msResolveStylesTotal += performance.now() - telemetryPartStart;\n          }\n\n          return _resolvedStyles[lazyEvaluationKey];\n        }\n      });\n      Object.defineProperty(_classes, slotName, {\n        enumerable: false,\n        configurable: false,\n        set: function set(val) {\n          if (cacheEnabled && theme) {\n            var _Object$assign3;\n\n            classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign3 = {}, _Object$assign3[slotCacheKey] = val, _Object$assign3)));\n          }\n\n          _classes[lazyEvaluationKey] = val;\n        },\n        get: function get() {\n          if (cacheEnabled && theme) {\n            var classesThemeCache = classesCache.get(theme) || {}; //\n            // Cached styles\n            //\n\n            if (classesThemeCache[slotCacheKey] || classesThemeCache[slotCacheKey] === '') {\n              if (telemetry != null && telemetry.performance[primaryDisplayName]) {\n                if (slotName === 'root') {\n                  telemetry.performance[primaryDisplayName].stylesRootCacheHits++;\n                } else {\n                  telemetry.performance[primaryDisplayName].stylesSlotsCacheHits++;\n                }\n              }\n\n              return slotName === 'root' ? cx(componentClassName, classesThemeCache[slotCacheKey], className) : classesThemeCache[slotCacheKey];\n            }\n          } //\n          // Lazy eval\n          //\n\n\n          if (_classes[lazyEvaluationKey]) {\n            return slotName === 'root' ? cx(componentClassName, _classes[lazyEvaluationKey], className) : _classes[lazyEvaluationKey];\n          } // this resolves the getter magic\n\n\n          var styleObj = _resolvedStyles[slotName];\n          var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n\n          if (styleObj) {\n            _classes[lazyEvaluationKey] = renderer.renderRule(styleObj, rendererParam);\n\n            if (cacheEnabled && theme) {\n              var _Object$assign4;\n\n              classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign4 = {}, _Object$assign4[slotCacheKey] = _classes[lazyEvaluationKey], _Object$assign4)));\n            }\n          }\n\n          var resultClassName = slotName === 'root' ? cx(componentClassName, _classes[lazyEvaluationKey], className) : _classes[lazyEvaluationKey];\n\n          if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n            telemetry.performance[primaryDisplayName].msRenderStylesTotal += performance.now() - telemetryPartStart;\n          }\n\n          return resultClassName;\n        }\n      });\n    });\n    return {\n      resolvedStyles: _resolvedStyles,\n      resolvedStylesDebug: resolvedStylesDebug,\n      classes: _classes\n    };\n  }\n\n  var resolvedStyles = new Proxy({}, {\n    get: function get(target, slotName) {\n      var _mergedStyles$slotNam, _mergedStyles;\n\n      var slotCacheKey = componentCacheKey + slotName; // If caching enabled and entry exists, get from cache, avoid lazy evaluation\n\n      if (cacheEnabled && theme) {\n        var stylesThemeCache = stylesCache.get(theme) || {};\n\n        if (stylesThemeCache[slotCacheKey]) {\n          return stylesThemeCache[slotCacheKey];\n        }\n      }\n\n      if (target[slotName]) {\n        return target[slotName];\n      }\n\n      var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0; // resolve/render slot styles once and cache\n\n      target[slotName] = (_mergedStyles$slotNam = (_mergedStyles = mergedStyles)[slotName]) == null ? void 0 : _mergedStyles$slotNam.call(_mergedStyles, styleParam);\n\n      if (cacheEnabled && theme) {\n        var _Object$assign5;\n\n        stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign5 = {}, _Object$assign5[slotCacheKey] = target[slotName], _Object$assign5)));\n      }\n\n      if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n        resolvedStylesDebug[slotName] = target[slotName]['_debug'];\n        delete target[slotName]['_debug'];\n      }\n\n      if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n        telemetry.performance[primaryDisplayName].msResolveStylesTotal += performance.now() - telemetryPartStart;\n      }\n\n      return target[slotName];\n    }\n  });\n  var classes = new Proxy({}, {\n    get: function get(target, slotName) {\n      var slotCacheKey = componentCacheKey + slotName;\n\n      if (cacheEnabled && theme) {\n        var classesThemeCache = classesCache.get(theme) || {}; //\n        // Cached styles\n        //\n\n        if (classesThemeCache[slotCacheKey] || classesThemeCache[slotCacheKey] === '') {\n          if (telemetry != null && telemetry.performance[primaryDisplayName]) {\n            if (slotName === 'root') {\n              telemetry.performance[primaryDisplayName].stylesRootCacheHits++;\n            } else {\n              telemetry.performance[primaryDisplayName].stylesSlotsCacheHits++;\n            }\n          }\n\n          return slotName === 'root' ? cx(componentClassName, classesThemeCache[slotCacheKey], className) : classesThemeCache[slotCacheKey];\n        }\n      } //\n      // Lazy eval\n      //\n\n\n      if (target[slotName]) {\n        return slotName === 'root' ? cx(componentClassName, target[slotName], className) : target[slotName];\n      } // this resolves the getter magic\n\n\n      var styleObj = resolvedStyles[slotName];\n      var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n\n      if (styleObj) {\n        target[slotName] = renderer.renderRule(styleObj, rendererParam);\n\n        if (cacheEnabled && theme) {\n          var _Object$assign6;\n\n          classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign6 = {}, _Object$assign6[slotCacheKey] = target[slotName], _Object$assign6)));\n        }\n      }\n\n      var resultClassName = slotName === 'root' ? cx(componentClassName, target[slotName], className) : target[slotName];\n\n      if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n        telemetry.performance[primaryDisplayName].msRenderStylesTotal += performance.now() - telemetryPartStart;\n      }\n\n      return resultClassName;\n    }\n  });\n  return {\n    resolvedStyles: resolvedStyles,\n    resolvedStylesDebug: resolvedStylesDebug,\n    classes: classes\n  };\n};\n//# sourceMappingURL=resolveStyles.js.map\n","import _isEmpty from \"lodash/isEmpty\";\nimport _filter from \"lodash/filter\";\nimport { isDebugEnabled } from '@fluentui/styles';\nimport { resolveVariables } from './resolveVariables';\nimport { resolveStyles } from './resolveStyles';\nexport var getStyles = function getStyles(options) {\n  var primaryDisplayName = options.primaryDisplayName,\n      telemetry = options.telemetry; //\n  // To compute styles we are going through three stages:\n  // - resolve variables (siteVariables => componentVariables + props.variables)\n  // - resolve styles (with resolvedVariables & props.styles & props.design)\n  // - compute classes (with resolvedStyles)\n  // - conditionally add sources for evaluating debug information to component\n\n  var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n  var resolvedVariables = resolveVariables(options.allDisplayNames, options.theme, options.inlineStylesProps.variables, options.performance.enableVariablesCaching);\n\n  if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n    telemetry.performance[primaryDisplayName].msResolveVariablesTotal += performance.now() - telemetryPartStart;\n  }\n\n  var _resolveStyles = resolveStyles(options, resolvedVariables),\n      classes = _resolveStyles.classes,\n      resolvedStyles = _resolveStyles.resolvedStyles,\n      resolvedStylesDebug = _resolveStyles.resolvedStylesDebug; // conditionally add sources for evaluating debug information to component\n\n\n  if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n    options.saveDebug({\n      componentName: options.allDisplayNames.join(':'),\n      componentVariables: _filter(resolvedVariables._debug, function (variables) {\n        return !_isEmpty(variables.resolved);\n      }),\n      componentStyles: resolvedStylesDebug,\n      siteVariables: _filter(options.theme.siteVariables._debug, function (siteVars) {\n        if (_isEmpty(siteVars) || _isEmpty(siteVars.resolved)) {\n          return false;\n        }\n\n        var keys = Object.keys(siteVars.resolved);\n\n        if (keys.length === 1 && keys.pop() === 'fontSizes' && _isEmpty(siteVars.resolved['fontSizes'])) {\n          return false;\n        }\n\n        return true;\n      })\n    });\n  }\n\n  return {\n    classes: classes,\n    variables: resolvedVariables,\n    styles: resolvedStyles,\n    theme: options.theme\n  };\n};\n//# sourceMappingURL=getStyles.js.map\n","import * as React from 'react';\nimport { useFluentContext, useStyles, getUnhandledProps } from '@fluentui/react-bindings';\nexport var svgIconClassName = 'ui-icon';\nexport var svgIconDisplayName = 'SvgIcon';\nexport var svgIconHandledProps = ['bordered', 'className', 'circular', 'design', 'disabled', 'outline', 'size', 'rotate', 'styles', 'variables', 'xSpacing'];\nexport var createSvgIcon = function createSvgIcon(_ref) {\n  var svg = _ref.svg,\n      displayName = _ref.displayName,\n      _ref$handledProps = _ref.handledProps,\n      handledProps = _ref$handledProps === void 0 ? [] : _ref$handledProps;\n\n  var Component = function Component(props) {\n    var context = useFluentContext();\n    var alt = props.alt,\n        ariaLabel = props['aria-label'],\n        bordered = props.bordered,\n        circular = props.circular,\n        className = props.className,\n        design = props.design,\n        disabled = props.disabled,\n        outline = props.outline,\n        _props$rotate = props.rotate,\n        rotate = _props$rotate === void 0 ? 0 : _props$rotate,\n        _props$size = props.size,\n        size = _props$size === void 0 ? 'medium' : _props$size,\n        styles = props.styles,\n        variables = props.variables,\n        xSpacing = props.xSpacing;\n\n    var _useStyles = useStyles(svgIconDisplayName, {\n      className: svgIconClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          bordered: bordered,\n          circular: circular,\n          disabled: disabled,\n          outline: outline,\n          rotate: rotate,\n          size: size,\n          xSpacing: xSpacing\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var unhandledProps = getUnhandledProps([].concat(svgIconHandledProps, handledProps), props);\n    return /*#__PURE__*/React.createElement('span', Object.assign({\n      role: 'img',\n      'aria-hidden': alt || ariaLabel ? undefined : 'true',\n      'aria-label': ariaLabel,\n      className: classes.root\n    }, unhandledProps), svg({\n      classes: classes,\n      rtl: context.rtl,\n      props: props\n    }));\n  };\n\n  Component.displayName = displayName;\n  Component.handledProps = [].concat(svgIconHandledProps, handledProps);\n  return Component;\n};\n//# sourceMappingURL=createSvgIcon.js.map\n","import * as React from 'react';\nimport { useFluentContext } from '../context';\nimport { getStyles } from '../styles/getStyles';\nexport var useStyles = function useStyles(displayName, options) {\n  var _composeOptions$mapPr;\n\n  var context = useFluentContext();\n  var _options$className = options.className,\n      className = _options$className === void 0 ? process.env.NODE_ENV === 'production' ? '' : 'no-classname-🙉' : _options$className,\n      composeOptions = options.composeOptions,\n      _options$mapPropsToSt = options.mapPropsToStyles,\n      mapPropsToStyles = _options$mapPropsToSt === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToSt,\n      _options$mapPropsToIn = options.mapPropsToInlineStyles,\n      mapPropsToInlineStyles = _options$mapPropsToIn === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToIn,\n      _options$unstable_pro = options.unstable_props,\n      unstable_props = _options$unstable_pro === void 0 ? {} : _options$unstable_pro,\n      _options$rtl = options.rtl,\n      rtl = _options$rtl === void 0 ? false : _options$rtl;\n  var componentStylesProps = mapPropsToStyles(); // `composeProps` should include all props including stylesProps as they can contain state\n\n  var composeProps = Object.assign({}, unstable_props, componentStylesProps);\n  var composeStylesProps = composeOptions == null ? void 0 : (_composeOptions$mapPr = composeOptions.mapPropsToStylesPropsChain) == null ? void 0 : _composeOptions$mapPr.reduce(function (acc, fn) {\n    return Object.assign({}, acc, fn(composeProps));\n  }, {}); // Stores debug information for component.\n\n  var debug = React.useRef({\n    fluentUIDebug: null\n  });\n\n  var _getStyles = getStyles({\n    // Input values\n    allDisplayNames: (composeOptions == null ? void 0 : composeOptions.displayNames) || [displayName],\n    className: (composeOptions == null ? void 0 : composeOptions.className) || className,\n    primaryDisplayName: (composeOptions == null ? void 0 : composeOptions.displayName) || displayName,\n    componentProps: Object.assign({}, componentStylesProps, composeStylesProps),\n    inlineStylesProps: mapPropsToInlineStyles(),\n    // Context values\n    disableAnimations: context.disableAnimations,\n    renderer: context.renderer,\n    rtl: rtl,\n    saveDebug: function saveDebug(fluentUIDebug) {\n      return debug.current = {\n        fluentUIDebug: fluentUIDebug\n      };\n    },\n    theme: context.theme,\n    performance: context.performance,\n    telemetry: context.telemetry\n  }),\n      classes = _getStyles.classes,\n      resolvedStyles = _getStyles.styles;\n\n  return {\n    classes: classes,\n    styles: resolvedStyles\n  };\n};\n//# sourceMappingURL=useStyles.js.map\n","import _difference from \"lodash/difference\";\nimport _trim from \"lodash/trim\";\nimport _isObject from \"lodash/isObject\";\nimport _pick from \"lodash/pick\";\nimport _keys from \"lodash/keys\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _compact from \"lodash/compact\";\nimport _first from \"lodash/first\";\nimport _isNil from \"lodash/isNil\";\nimport _min from \"lodash/min\";\nimport _sum from \"lodash/sum\";\nimport _map from \"lodash/map\";\nimport _sortBy from \"lodash/sortBy\";\nimport _take from \"lodash/take\";\nimport _memoize from \"lodash/memoize\";\nimport * as PropTypes from 'prop-types';\nimport leven from './leven';\n\nvar typeOf = function typeOf(x) {\n  return Object.prototype.toString.call(x);\n};\n/**\n * Ensure a prop is a valid DOM node.\n */\n\n\nexport var domNode = function domNode(props, propName) {\n  // skip if prop is undefined\n  if (props[propName] === undefined) return undefined; // skip if prop is null\n\n  if (props[propName] === null) return null; // skip if prop is valid\n\n  if (props[propName] instanceof Element) return undefined;\n  return new Error(\"Invalid prop \\\"\" + propName + \"\\\" supplied, expected a DOM node.\");\n};\n/**\n * Similar to PropTypes.oneOf but shows closest matches.\n * Word order is ignored allowing `left chevron` to match `chevron left`.\n * Useful for very large lists of options (e.g. Icon name, Flag name, etc.)\n * @param suggestions - An array of allowed values.\n */\n\nexport var suggest = function suggest(suggestions) {\n  if (!Array.isArray(suggestions)) {\n    throw new Error('Invalid argument supplied to suggest, expected an instance of array.');\n  }\n\n  var findBestSuggestions = _memoize(function (str) {\n    var propValueWords = str.split(' ');\n    return _take(_sortBy(_map(suggestions, function (suggestion) {\n      var suggestionWords = suggestion.split(' ');\n\n      var propValueScore = _sum(_map(_map(propValueWords, function (x) {\n        return _map(suggestionWords, function (y) {\n          return leven(x, y);\n        });\n      }), _min));\n\n      var suggestionScore = _sum(_map(_map(suggestionWords, function (x) {\n        return _map(propValueWords, function (y) {\n          return leven(x, y);\n        });\n      }), _min));\n\n      return {\n        suggestion: suggestion,\n        score: propValueScore + suggestionScore\n      };\n    }), ['score', 'suggestion']), 3);\n  }); // Convert the suggestions list into a hash map for O(n) lookup times. Ensure\n  // the words in each key are sorted alphabetically so that we have a consistent\n  // way of looking up a value in the map, i.e. we can sort the words in the\n  // incoming propValue and look that up without having to check all permutations.\n\n\n  var suggestionsLookup = suggestions.reduce(function (acc, key) {\n    acc[key.split(' ').sort().join(' ')] = true;\n    return acc;\n  }, {});\n  return function (props, propName, componentName) {\n    var propValue = props[propName]; // skip if prop is undefined or is included in the suggestions\n\n    if (!propValue || suggestionsLookup[propValue]) return undefined; // check if the words were correct but ordered differently.\n    // Since we're matching for classNames we need to allow any word order\n    // to pass validation, e.g. `left chevron` vs `chevron left`.\n\n    var propValueSorted = propValue.split(' ').sort().join(' ');\n    if (suggestionsLookup[propValueSorted]) return undefined; // find best suggestions\n\n    var bestMatches = findBestSuggestions(propValue); // skip if a match scored 0\n\n    if (bestMatches.some(function (x) {\n      return x.score === 0;\n    })) return undefined;\n    return new Error([\"Invalid prop `\" + propName + \"` of value `\" + propValue + \"` supplied to `\" + componentName + \"`.\", \"\\n\\nInstead of `\" + propValue + \"`, did you mean:\", bestMatches.map(function (x) {\n      return \"\\n  - \" + x.suggestion;\n    }).join(''), '\\n'].join(''));\n  };\n};\n/**\n * The prop cannot be used.\n * Similar to `deprecate` but with different error message.\n */\n\nexport var never = function never(props, propName, componentName) {\n  if (_isNil(props[propName]) || props[propName] === false) return undefined;\n  return new Error(\"Prop `\" + propName + \"` in `\" + componentName + \"` cannot be used.\");\n};\n/**\n * Disallow other props from being defined with this prop.\n * @param disallowedProps - An array of props that cannot be used with this prop.\n */\n\nexport var disallow = function disallow(disallowedProps) {\n  return function (props, propName, componentName) {\n    if (!Array.isArray(disallowedProps)) {\n      throw new Error(['Invalid argument supplied to disallow, expected an instance of array.', \" See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(''));\n    } // skip if prop is undefined\n\n\n    if (_isNil(props[propName]) || props[propName] === false) return undefined; // find disallowed props with values\n\n    var disallowed = disallowedProps.reduce(function (acc, disallowedProp) {\n      if (!_isNil(props[disallowedProp]) && props[disallowedProp] !== false) {\n        return [].concat(acc, [disallowedProp]);\n      }\n\n      return acc;\n    }, []);\n\n    if (disallowed.length > 0) {\n      return new Error([\"Prop `\" + propName + \"` in `\" + componentName + \"` conflicts with props: `\" + disallowed.join('`, `') + \"`.\", 'They cannot be defined together, choose one or the other.'].join(' '));\n    }\n\n    return undefined;\n  };\n};\n/**\n * Ensure a prop adherers to multiple prop type validators.\n * @param validators - An array of propType functions.\n */\n\nexport var every = function every(validators) {\n  return function (props, propName, componentName) {\n    for (var _len = arguments.length, args = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n      args[_key - 3] = arguments[_key];\n    }\n\n    if (!Array.isArray(validators)) {\n      throw new Error(['Invalid argument supplied to every, expected an instance of array.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n    }\n\n    return _first(_compact(_map(validators, function (validator) {\n      if (typeof validator !== 'function') {\n        throw new Error(\"every() argument \\\"validators\\\" should contain functions, found: \" + typeOf(validator) + \".\");\n      }\n\n      return validator.apply(void 0, [props, propName, componentName].concat(args));\n    }))); // we can only return one error at a time\n  };\n};\n/**\n * Ensure a prop adherers to at least one of the given prop type validators.\n * @param validators - An array of propType functions.\n */\n\nexport var some = function some(validators) {\n  return function (props, propName, componentName) {\n    for (var _len2 = arguments.length, args = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n      args[_key2 - 3] = arguments[_key2];\n    }\n\n    if (!Array.isArray(validators)) {\n      throw new Error(['Invalid argument supplied to some, expected an instance of array.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n    }\n\n    var errors = _compact(_map(validators, function (validator) {\n      if (!_isFunction(validator)) {\n        throw new Error(\"some() argument \\\"validators\\\" should contain functions, found: \" + typeOf(validator) + \".\");\n      }\n\n      return validator.apply(void 0, [props, propName, componentName].concat(args));\n    })); // fail only if all validators failed\n\n\n    if (errors.length === validators.length) {\n      var error = new Error('One of these validators must pass:');\n      error.message += \"\\n\" + _map(errors, function (err) {\n        return \"- \" + err.message;\n      }).join('\\n');\n      return error;\n    }\n\n    return undefined;\n  };\n};\n/**\n * Ensure a validator passes only when a component has a given propsShape.\n * @param propsShape - An object describing the prop shape.\n * @param validator - A propType function.\n */\n\nexport var givenProps = function givenProps(propsShape, validator) {\n  return function (props, propName, componentName) {\n    for (var _len3 = arguments.length, args = new Array(_len3 > 3 ? _len3 - 3 : 0), _key3 = 3; _key3 < _len3; _key3++) {\n      args[_key3 - 3] = arguments[_key3];\n    }\n\n    if (!_isPlainObject(propsShape)) {\n      throw new Error(['Invalid argument supplied to givenProps, expected an object.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n    }\n\n    if (typeof validator !== 'function') {\n      throw new Error(['Invalid argument supplied to givenProps, expected a function.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n    }\n\n    var shouldValidate = _keys(propsShape).every(function (key) {\n      var val = propsShape[key]; // require propShape validators to pass or prop values to match\n\n      return typeof val === 'function' ? !val.apply(void 0, [props, key, componentName].concat(args)) : val === props[propName];\n    });\n\n    if (!shouldValidate) return undefined;\n    var error = validator.apply(void 0, [props, propName, componentName].concat(args));\n\n    if (error) {\n      // poor mans shallow pretty print, prevents JSON circular reference errors\n      var prettyProps = \"{ \" + _keys(_pick(props, _keys(propsShape))).map(function (key) {\n        var val = props[key];\n        var renderedValue = val;\n        if (typeof val === 'string') renderedValue = \"\\\"\" + val + \"\\\"\";else if (Array.isArray(val)) renderedValue = \"[\" + val.join(', ') + \"]\";else if (_isObject(val)) renderedValue = '{...}';\n        return key + \": \" + renderedValue;\n      }).join(', ') + \" }\";\n      error.message = \"Given props \" + prettyProps + \": \" + error.message;\n      return error;\n    }\n  };\n};\n/**\n * Define prop dependencies by requiring other props.\n * @param requiredProps - An array of required prop names.\n */\n\nexport var demand = function demand(requiredProps) {\n  return function (props, propName, componentName) {\n    if (!Array.isArray(requiredProps)) {\n      throw new Error(['Invalid `requiredProps` argument supplied to require, expected an instance of array.', \" See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(''));\n    } // skip if prop is undefined\n\n\n    if (props[propName] === undefined) return undefined;\n    var missingRequired = requiredProps.filter(function (requiredProp) {\n      return props[requiredProp] === undefined;\n    });\n\n    if (missingRequired.length > 0) {\n      return new Error(\"`\" + propName + \"` prop in `\" + componentName + \"` requires props: `\" + missingRequired.join('`, `') + \"`.\");\n    }\n\n    return undefined;\n  };\n};\n/**\n * Ensure an multiple prop contains a string with only possible values.\n * @param possible - An array of possible values to prop.\n */\n\nexport var multipleProp = function multipleProp(possible) {\n  return function (props, propName, componentName) {\n    if (!Array.isArray(possible)) {\n      throw new Error(['Invalid argument supplied to some, expected an instance of array.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n    }\n\n    var propValue = props[propName]; // skip if prop is undefined\n\n    if (_isNil(propValue) || propValue === false) return undefined;\n    var values = propValue.replace('large screen', 'large-screen').replace(/ vertically/g, '-vertically').split(' ').map(function (val) {\n      return _trim(val).replace('-', ' ');\n    });\n\n    var invalid = _difference(values, possible); // fail only if there are invalid values\n\n\n    if (invalid.length > 0) {\n      return new Error(\"`\" + propName + \"` prop in `\" + componentName + \"` has invalid values: `\" + invalid.join('`, `') + \"`.\");\n    }\n\n    return undefined;\n  };\n};\n/**\n * Ensure a component can render as a node passed as a prop value in place of children.\n */\n\nexport var nodeContent = every([disallow(['children']), PropTypes.node]);\nexport var wrapperShorthand = PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.node, PropTypes.object]))]);\n/**\n * A shorthand prop which can be used together with `children`.\n */\n\nexport var shorthandAllowingChildren = PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.func]);\nexport var shorthandObjectAllowingChildren = PropTypes.oneOfType([PropTypes.object, PropTypes.func]);\n/**\n * ObjectItemShorthand is a description of a component that can be\n * a props object or a render function.\n */\n\nexport var objectItemShorthand = every([disallow(['children']), shorthandAllowingChildren]);\n/**\n * Item shorthand is a description of a component that can be a literal,\n * a props object, an element or a render function.\n */\n\nexport var itemShorthand = every([disallow(['children']), shorthandAllowingChildren]);\nexport var itemShorthandWithKindProp = function itemShorthandWithKindProp(kindPropValues) {\n  return every([disallow(['children']), PropTypes.oneOfType([PropTypes.node, PropTypes.shape({\n    kind: PropTypes.oneOf(kindPropValues)\n  }), PropTypes.func])]);\n};\nexport var itemShorthandWithoutJSX = every([disallow(['children']), PropTypes.oneOfType([PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.oneOf([false])])]);\n/**\n * Collection shorthand ensures a prop is an array of item shorthand.\n */\n\nexport var collectionObjectShorthand = every([disallow(['children']), PropTypes.arrayOf(objectItemShorthand)]);\n/**\n * Collection shorthand ensures a prop is an array of item shorthand.\n */\n\nexport var collectionShorthand = every([disallow(['children']), PropTypes.arrayOf(itemShorthand)]);\nexport var collectionShorthandWithKindProp = function collectionShorthandWithKindProp(kindPropValues) {\n  return every([disallow(['children']), PropTypes.arrayOf(itemShorthandWithKindProp(kindPropValues))]);\n};\n/**\n * Show a deprecated warning for component props with a help message and optional validator.\n * @param help - A help message to display with the deprecation warning.\n * @param validator - A propType function.\n */\n\nexport var deprecate = function deprecate(help, validator) {\n  return function (props, propName, componentName) {\n    if (typeof help !== 'string') {\n      throw new Error(['Invalid `help` argument supplied to deprecate, expected a string.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n    } // skip if prop is undefined\n\n\n    if (props[propName] === undefined) return undefined; // deprecation error and help\n\n    var error = new Error(\"The `\" + propName + \"` prop in `\" + componentName + \"` is deprecated.\");\n    if (help) error.message += \" \" + help; // add optional validation error message\n\n    if (validator) {\n      if (typeof validator === 'function') {\n        for (var _len4 = arguments.length, args = new Array(_len4 > 3 ? _len4 - 3 : 0), _key4 = 3; _key4 < _len4; _key4++) {\n          args[_key4 - 3] = arguments[_key4];\n        }\n\n        var validationError = validator.apply(void 0, [props, propName, componentName].concat(args));\n\n        if (validationError) {\n          error.message = error.message + \" \" + validationError.message;\n        }\n      } else {\n        throw new Error(['Invalid argument supplied to deprecate, expected a function.', \"See `\" + propName + \"` prop in `\" + componentName + \"`.\"].join(' '));\n      }\n    }\n\n    return error;\n  };\n};\nexport var accessibility = PropTypes.func;\nexport var size = PropTypes.oneOf(['smallest', 'smaller', 'small', 'medium', 'large', 'larger', 'largest']);\nexport var align = PropTypes.oneOf(['start', 'end', 'center', 'justify']);\nexport var animation = PropTypes.oneOfType([// Validator is broken in the latest @react/types\nPropTypes.shape({\n  name: PropTypes.string.isRequired,\n  delay: PropTypes.string,\n  direction: PropTypes.string,\n  duration: PropTypes.string,\n  fillMode: PropTypes.string,\n  iterationCount: PropTypes.string,\n  playState: PropTypes.string,\n  timingFunction: PropTypes.string\n}), PropTypes.string]); // Heads Up!\n// Keep in sync with packages/react/src/themes/types.ts\n\nexport var design = PropTypes.shape({\n  position: PropTypes.string,\n  display: PropTypes.string,\n  top: PropTypes.string,\n  right: PropTypes.string,\n  bottom: PropTypes.string,\n  left: PropTypes.string,\n  padding: PropTypes.string,\n  paddingTop: PropTypes.string,\n  paddingRight: PropTypes.string,\n  paddingBottom: PropTypes.string,\n  paddingLeft: PropTypes.string,\n  margin: PropTypes.string,\n  marginTop: PropTypes.string,\n  marginRight: PropTypes.string,\n  marginBottom: PropTypes.string,\n  marginLeft: PropTypes.string,\n  width: PropTypes.string,\n  height: PropTypes.string,\n  minWidth: PropTypes.string,\n  maxWidth: PropTypes.string,\n  minHeight: PropTypes.string,\n  maxHeight: PropTypes.string\n});\n/** A checker that matches the React.Ref type. */\n\nexport var ref = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\n//# sourceMappingURL=index.js.map\n","var baseInvoke = require('./_baseInvoke'),\n    baseRest = require('./_baseRest');\n\n/**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\nvar invoke = baseRest(baseInvoke);\n\nmodule.exports = invoke;\n","import { useState, useRef, useEffect } from 'react';\n\nfunction 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 useMemoOne(getResult, inputs) {\n  var initial = useState(function () {\n    return {\n      inputs: inputs,\n      result: getResult()\n    };\n  })[0];\n  var isFirstRun = useRef(true);\n  var committed = useRef(initial);\n  var useCache = isFirstRun.current || Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));\n  var cache = useCache ? committed.current : {\n    inputs: inputs,\n    result: getResult()\n  };\n  useEffect(function () {\n    isFirstRun.current = false;\n    committed.current = cache;\n  }, [cache]);\n  return cache.result;\n}\nfunction useCallbackOne(callback, inputs) {\n  return useMemoOne(function () {\n    return callback;\n  }, inputs);\n}\nvar useMemo = useMemoOne;\nvar useCallback = useCallbackOne;\n\nexport { useCallback, useCallbackOne, useMemo, useMemoOne };\n","/**\n * Mapping from numeric key code to key name. If the value is an array, the first element is the\n * primary key name, and the second element is the key name when shift is pressed.\n */\nexport var codes = {\n  // ----------------------------------------\n  // By Code\n  // ----------------------------------------\n  3: 'Cancel',\n  6: 'Help',\n  8: 'Backspace',\n  9: 'Tab',\n  12: 'Clear',\n  13: 'Enter',\n  16: 'Shift',\n  17: 'Control',\n  18: 'Alt',\n  19: 'Pause',\n  20: 'CapsLock',\n  27: 'Escape',\n  28: 'Convert',\n  29: 'NonConvert',\n  30: 'Accept',\n  31: 'ModeChange',\n  32: ' ',\n  33: 'PageUp',\n  34: 'PageDown',\n  35: 'End',\n  36: 'Home',\n  37: 'ArrowLeft',\n  38: 'ArrowUp',\n  39: 'ArrowRight',\n  40: 'ArrowDown',\n  41: 'Select',\n  42: 'Print',\n  43: 'Execute',\n  44: 'PrintScreen',\n  45: 'Insert',\n  46: 'Delete',\n  48: ['0', ')'],\n  49: ['1', '!'],\n  50: ['2', '@'],\n  51: ['3', '#'],\n  52: ['4', '$'],\n  53: ['5', '%'],\n  54: ['6', '^'],\n  55: ['7', '&'],\n  56: ['8', '*'],\n  57: ['9', '('],\n  65: ['a', 'A'],\n  66: ['b', 'B'],\n  67: ['c', 'C'],\n  68: ['d', 'D'],\n  69: ['e', 'E'],\n  70: ['f', 'F'],\n  71: ['g', 'G'],\n  72: ['h', 'H'],\n  73: ['i', 'I'],\n  74: ['j', 'J'],\n  75: ['k', 'K'],\n  76: ['l', 'L'],\n  77: ['m', 'M'],\n  78: ['n', 'N'],\n  79: ['o', 'O'],\n  80: ['p', 'P'],\n  81: ['q', 'Q'],\n  82: ['r', 'R'],\n  83: ['s', 'S'],\n  84: ['t', 'T'],\n  85: ['u', 'U'],\n  86: ['v', 'V'],\n  87: ['w', 'W'],\n  88: ['x', 'X'],\n  89: ['y', 'Y'],\n  90: ['z', 'Z'],\n  91: 'OS',\n  93: 'ContextMenu',\n  112: 'F1',\n  113: 'F2',\n  114: 'F3',\n  115: 'F4',\n  116: 'F5',\n  117: 'F6',\n  118: 'F7',\n  119: 'F8',\n  120: 'F9',\n  121: 'F10',\n  122: 'F11',\n  123: 'F12',\n  124: 'F13',\n  125: 'F14',\n  126: 'F15',\n  127: 'F16',\n  128: 'F17',\n  129: 'F18',\n  130: 'F19',\n  131: 'F20',\n  132: 'F21',\n  133: 'F22',\n  134: 'F23',\n  135: 'F24',\n  144: 'NumLock',\n  145: 'ScrollLock',\n  181: 'VolumeMute',\n  182: 'VolumeDown',\n  183: 'VolumeUp',\n  186: [';', ':'],\n  187: ['=', '+'],\n  188: [',', '<'],\n  189: ['-', '_'],\n  190: ['.', '>'],\n  191: ['/', '?'],\n  192: ['`', '~'],\n  219: ['[', '{'],\n  220: ['\\\\', '|'],\n  221: [']', '}'],\n  222: [\"'\", '\"'],\n  224: 'Meta',\n  225: 'AltGraph',\n  246: 'Attn',\n  247: 'CrSel',\n  248: 'ExSel',\n  249: 'EraseEof',\n  250: 'Play',\n  251: 'ZoomOut'\n};\n//# sourceMappingURL=codes.js.map\n","import { codes } from './codes';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar isObject = function isObject(val) {\n  return val !== null && !Array.isArray(val) && typeof val === 'object';\n};\n/**\n * Get the `keyCode` or `which` value from a keyboard event or `key` name.\n * If an object is provided, the precedence of properties is `keyCode`, `which`, `key`.\n * @param eventOrKey - A keyboard event-like object or `key` name. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\n\n\nexport function getCode(eventOrKey) {\n  if (isObject(eventOrKey)) {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    return eventOrKey.keyCode || eventOrKey.which || keyboardKey[eventOrKey.key];\n  } // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n  return keyboardKey[eventOrKey];\n}\n/**\n * Get the key name from a keyboard event, `keyCode`, or `which` value.\n * If an object is provided, the precedence of properties is `key`, `keyCode`, `which`.\n * @param eventOrCode - A keyboard event-like object or key code. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\n\nexport function getKey(eventOrCode) {\n  var isEvent = isObject(eventOrCode);\n  var event = eventOrCode; // handle events with a `key` already defined\n\n  if (isEvent && event.key) {\n    return event.key;\n  }\n\n  var name = codes[isEvent ? event.keyCode || event.which : eventOrCode];\n\n  if (Array.isArray(name)) {\n    if (isEvent) {\n      name = name[event.shiftKey ? 1 : 0];\n    } else {\n      name = name[0];\n    }\n  }\n\n  return name;\n}\n/**\n * Mapping of keyboard keys with aliases and codes.\n */\n\nexport var keyboardKey = {}; // Populate names on keyboardKey.\n\nfor (var code in codes) {\n  if (codes.hasOwnProperty(code)) {\n    var value = codes[code];\n\n    if (typeof value === 'string') {\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      keyboardKey[value] = Number(code);\n    } else {\n      // Array of valid values which map to the same code.\n      for (var i = 0; i < value.length; i++) {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        keyboardKey[value[i]] = Number(code);\n      }\n    }\n  }\n} // As single exports for keys that normally have special functionality attached to them.\n\n\nexport var SpacebarKey = keyboardKey[' '];\nexport var Digit0Key = keyboardKey['0'];\nexport var Digit1Key = keyboardKey['1'];\nexport var Digit2Key = keyboardKey['2'];\nexport var Digit3Key = keyboardKey['3'];\nexport var Digit4Key = keyboardKey['4'];\nexport var Digit5Key = keyboardKey['5'];\nexport var Digit6Key = keyboardKey['6'];\nexport var Digit7Key = keyboardKey['7'];\nexport var Digit8Key = keyboardKey['8'];\nexport var Digit9Key = keyboardKey['9'];\nexport var TildeKey = keyboardKey['~'];\nexport var GraveAccentKey = keyboardKey['`'];\nexport var ExclamationPointKey = keyboardKey['!'];\nexport var AtSignKey = keyboardKey['@'];\nexport var PoundSignKey = keyboardKey['#'];\nexport var PercentSignKey = keyboardKey['%'];\nexport var CaretKey = keyboardKey['^'];\nexport var AmpersandKey = keyboardKey['&'];\nexport var PlusSignKey = keyboardKey['+'];\nexport var MinusSignKey = keyboardKey['-'];\nexport var EqualsSignKey = keyboardKey['='];\nexport var DivisionSignKey = keyboardKey['/'];\nexport var MultiplicationSignKey = keyboardKey['*'];\nexport var CommaKey = keyboardKey[','];\nexport var DecimalKey = keyboardKey['.'];\nexport var ColonKey = keyboardKey[':'];\nexport var SemicolonKey = keyboardKey[';'];\nexport var PipeKey = keyboardKey['|'];\nexport var BackSlashKey = keyboardKey['\\\\'];\nexport var QuestionMarkKey = keyboardKey['?'];\nexport var SingleQuoteKey = keyboardKey[\"'\"];\nexport var DoubleQuoteKey = keyboardKey['\"'];\nexport var LeftCurlyBraceKey = keyboardKey['{'];\nexport var RightCurlyBraceKey = keyboardKey['}'];\nexport var LeftParenthesisKey = keyboardKey['('];\nexport var RightParenthesisKey = keyboardKey[')'];\nexport var LeftAngleBracketKey = keyboardKey['<'];\nexport var RightAngleBracketKey = keyboardKey['>'];\nexport var LeftSquareBracketKey = keyboardKey['['];\nexport var RightSquareBracketKey = keyboardKey[']'];\nexport var ArrowDownKey = keyboardKey.ArrowDown;\nexport var ArrowLeftKey = keyboardKey.ArrowLeft;\nexport var ArrowRightKey = keyboardKey.ArrowRight;\nexport var ArrowUpKey = keyboardKey.ArrowUp;\nexport var EndKey = keyboardKey.End;\nexport var EnterKey = keyboardKey.Enter;\nexport var HomeKey = keyboardKey.Home;\nexport var PageDownKey = keyboardKey.PageDown;\nexport var PageUpKey = keyboardKey.PageUp;\nexport var TabKey = keyboardKey.Tab;\n//# sourceMappingURL=index.js.map\n","var _rtlKeyMap;\n\nimport { keyboardKey } from '@fluentui/accessibility';\nimport { shouldHandleOnKeys } from './shouldHandleOnKeys';\nvar rtlKeyMap = (_rtlKeyMap = {}, _rtlKeyMap[keyboardKey.ArrowRight] = keyboardKey.ArrowLeft, _rtlKeyMap[keyboardKey.ArrowLeft] = keyboardKey.ArrowRight, _rtlKeyMap);\n/**\n * Assigns onKeyDown handler to the slot element, based on Component's actions\n * and keys mappings defined in Accessibility behavior\n * @param {AccessibilityActionHandlers} componentActionHandlers Actions handlers defined in a component.\n * @param {KeyActions} behaviorActions Mappings of actions and keys defined in Accessibility behavior.\n * @param {boolean} isRtlEnabled Indicates if Left and Right arrow keys should be swapped in RTL mode.\n */\n\nexport var getKeyDownHandlers = function getKeyDownHandlers(componentActionHandlers, behaviorActions, isRtlEnabled) {\n  var slotKeyHandlers = {};\n\n  if (!componentActionHandlers || !behaviorActions) {\n    return slotKeyHandlers;\n  }\n\n  var componentHandlerNames = Object.keys(componentActionHandlers);\n  Object.keys(behaviorActions).forEach(function (slotName) {\n    var behaviorSlotActions = behaviorActions[slotName];\n    var handledActions = Object.keys(behaviorSlotActions).filter(function (actionName) {\n      var slotAction = behaviorSlotActions[actionName];\n      var actionHasKeyCombinations = Array.isArray(slotAction.keyCombinations) && slotAction.keyCombinations.length > 0;\n      var actionHandledByComponent = componentHandlerNames.indexOf(actionName) !== -1;\n      return actionHasKeyCombinations && actionHandledByComponent;\n    });\n\n    if (handledActions.length > 0) {\n      slotKeyHandlers[slotName] = {\n        onKeyDown: function onKeyDown(event) {\n          handledActions.forEach(function (actionName) {\n            var keyCombinations = behaviorSlotActions[actionName].keyCombinations;\n\n            if (keyCombinations) {\n              if (isRtlEnabled) {\n                keyCombinations = keyCombinations.map(function (keyCombination) {\n                  var keyToRtlKey = rtlKeyMap[keyCombination.keyCode];\n\n                  if (keyToRtlKey) {\n                    keyCombination.keyCode = keyToRtlKey;\n                  }\n\n                  return keyCombination;\n                });\n              }\n\n              if (shouldHandleOnKeys(event, keyCombinations)) {\n                componentActionHandlers[actionName](event);\n              }\n            }\n          });\n        }\n      };\n    }\n  });\n  return slotKeyHandlers;\n};\n//# sourceMappingURL=getKeyDownHandlers.js.map\n","// This is a type-only import and this package depends on @types/react\n// eslint-disable-next-line import/no-extraneous-dependencies\n// Heads up! Keep in sync with FocusZone.types.ts\nexport var FocusZoneTabbableElements;\n\n(function (FocusZoneTabbableElements) {\n  FocusZoneTabbableElements[FocusZoneTabbableElements[\"none\"] = 0] = \"none\";\n  FocusZoneTabbableElements[FocusZoneTabbableElements[\"all\"] = 1] = \"all\";\n  FocusZoneTabbableElements[FocusZoneTabbableElements[\"inputOnly\"] = 2] = \"inputOnly\";\n})(FocusZoneTabbableElements || (FocusZoneTabbableElements = {}));\n\nexport var FocusZoneDirection;\n\n(function (FocusZoneDirection) {\n  FocusZoneDirection[FocusZoneDirection[\"vertical\"] = 0] = \"vertical\";\n  FocusZoneDirection[FocusZoneDirection[\"horizontal\"] = 1] = \"horizontal\";\n  FocusZoneDirection[FocusZoneDirection[\"bidirectional\"] = 2] = \"bidirectional\";\n  FocusZoneDirection[FocusZoneDirection[\"bidirectionalDomOrder\"] = 3] = \"bidirectionalDomOrder\";\n})(FocusZoneDirection || (FocusZoneDirection = {}));\n//# sourceMappingURL=types.js.map\n","import { getCode } from '@fluentui/accessibility';\n\nvar isKeyModifiersMatch = function isKeyModifiersMatch(modifierValue, combinationValue) {\n  if (combinationValue === undefined) {\n    return true;\n  }\n\n  return modifierValue === combinationValue;\n};\n\nexport var shouldHandleOnKeys = function shouldHandleOnKeys(event, keysCombinations) {\n  return keysCombinations.some(function (keysCombination) {\n    return keysCombination.keyCode === getCode(event) && isKeyModifiersMatch(event.altKey, keysCombination.altKey) && isKeyModifiersMatch(event.shiftKey, keysCombination.shiftKey) && isKeyModifiersMatch(event.metaKey, keysCombination.metaKey) && isKeyModifiersMatch(event.ctrlKey, keysCombination.ctrlKey);\n  });\n};\n//# sourceMappingURL=shouldHandleOnKeys.js.map\n","import { getKeyDownHandlers } from './getKeyDownHandlers';\nvar emptyBehavior = {\n  attributes: {},\n  keyHandlers: {}\n};\nexport var getAccessibility = function getAccessibility(displayName, behavior, behaviorProps, isRtlEnabled, actionHandlers) {\n  if (behavior === null || behavior === undefined) {\n    return emptyBehavior;\n  }\n\n  var definition = behavior(behaviorProps);\n  var keyHandlers = actionHandlers && definition.keyActions ? getKeyDownHandlers(actionHandlers, definition.keyActions, isRtlEnabled) : {};\n\n  if (definition.focusZone) {\n    definition.focusZone.props = Object.assign({\n      // maintain behavior of focus zone in v7 behaviors\n      preventFocusRestoration: true\n    }, definition.focusZone.props);\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    // For the non-production builds we enable the runtime accessibility attributes validator.\n    // We're adding the data-aa-class attribute which is being consumed by the validator, the\n    // schema is located in @fluentui/ability-attributes package.\n    if (definition.attributes) {\n      Object.keys(definition.attributes).forEach(function (slotName) {\n        var validatorName = definition.attributes[slotName]['data-aa-class'] || \"\" + displayName + (slotName === 'root' ? '' : \"__\" + slotName);\n\n        if (!definition.attributes[slotName]) {\n          definition.attributes[slotName] = {};\n        }\n\n        definition.attributes[slotName]['data-aa-class'] = validatorName;\n      });\n    }\n  }\n\n  return Object.assign({}, emptyBehavior, definition, {\n    keyHandlers: keyHandlers\n  });\n};\n//# sourceMappingURL=getAccessibility.js.map\n","export var IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nexport var IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\n//# sourceMappingURL=attributes.js.map\n","function _createForOfIteratorHelperLoose(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; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\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 { IS_FOCUSABLE_ATTRIBUTE } from '@fluentui/accessibility';\nimport { getParent, getWindow } from '@uifabric/utilities';\nexport var IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nexport var FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nexport var FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\nexport var HIDDEN_FROM_ACC_TREE = 'data-is-hidden-from-acc-tree';\nexport { getDocument, getParent, getWindow } from '@uifabric/utilities';\n/**\n * Gets the first focusable element.\n *\n * @public\n */\n\nexport function getFirstFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n  return getNextElement(rootElement, currentElement, true\n  /* checkNode */\n  , false\n  /* suppressParentTraversal */\n  , false\n  /* suppressChildTraversal */\n  , includeElementsInFocusZones);\n}\n/**\n * Gets the last focusable element.\n *\n * @public\n */\n\nexport function getLastFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n  return getPreviousElement(rootElement, currentElement, true\n  /* checkNode */\n  , false\n  /* suppressParentTraversal */\n  , true\n  /* traverseChildren */\n  , includeElementsInFocusZones);\n}\n/**\n * Gets the first tabbable element.\n * The difference between focusable and tabbable is that tabbable elements are focusable elements that also have tabIndex != -1.\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at.  This element is the first one checked,\n * and iteration continues forward.  Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @public\n */\n\nexport function getFirstTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n  return getNextElement(rootElement, currentElement, checkNode, false\n  /* suppressParentTraversal */\n  , false\n  /* suppressChildTraversal */\n  , includeElementsInFocusZones, true\n  /* tabbable */\n  );\n}\n/**\n * Gets the last tabbable element.\n * The difference between focusable and tabbable is that tabbable elements are focusable elements that also have tabIndex != -1.\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at.  This element is the first one checked,\n * and iteration continues in reverse.  Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @public\n */\n\nexport function getLastTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n  return getPreviousElement(rootElement, currentElement, checkNode, false\n  /* suppressParentTraversal */\n  , true\n  /* traverseChildren */\n  , includeElementsInFocusZones, true\n  /* tabbable */\n  );\n}\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\n\nexport function getPreviousElement(rootElement, currentElement, checkNode, suppressParentTraversal, traverseChildren, includeElementsInFocusZones, tabbable) {\n  if (!currentElement || currentElement === rootElement) {\n    return null;\n  }\n\n  var isCurrentElementVisible = isElementVisible(currentElement); // Check its children.\n\n  if (traverseChildren && isCurrentElementVisible && (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n    var childMatch = getPreviousElement(rootElement, currentElement.lastElementChild, true, true, true, includeElementsInFocusZones, tabbable);\n\n    if (childMatch) {\n      if (tabbable && isElementTabbable(childMatch, true) || !tabbable) {\n        return childMatch;\n      }\n\n      var childMatchSiblingMatch = getPreviousElement(rootElement, childMatch.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n      if (childMatchSiblingMatch) {\n        return childMatchSiblingMatch;\n      }\n\n      var childMatchParent = childMatch.parentElement; // At this point if we have not found any potential matches\n      // start looking at the rest of the subtree under the currentParent.\n      // NOTE: We do not want to recurse here because doing so could\n      // cause elements to get skipped.\n\n      while (childMatchParent && childMatchParent !== currentElement) {\n        var childMatchParentMatch = getPreviousElement(rootElement, childMatchParent.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n        if (childMatchParentMatch) {\n          return childMatchParentMatch;\n        }\n\n        childMatchParent = childMatchParent.parentElement;\n      }\n    }\n  } // Check the current node, if it's not the first traversal.\n\n\n  if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n    return currentElement;\n  } // Check its previous sibling.\n\n\n  var siblingMatch = getPreviousElement(rootElement, currentElement.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n  if (siblingMatch) {\n    return siblingMatch;\n  } // Check its parent.\n\n\n  if (!suppressParentTraversal) {\n    return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones, tabbable);\n  }\n\n  return null;\n}\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\n\nexport function getNextElement(rootElement, currentElement, checkNode, suppressParentTraversal, suppressChildTraversal, includeElementsInFocusZones, tabbable) {\n  if (!currentElement || currentElement === rootElement && suppressChildTraversal) {\n    return null;\n  }\n\n  var isCurrentElementVisible = isElementVisible(currentElement); // Check the current node, if it's not the first traversal.\n\n  if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n    return currentElement;\n  } // Check its children.\n\n\n  if (!suppressChildTraversal && isCurrentElementVisible && (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n    var childMatch = getNextElement(rootElement, currentElement.firstElementChild, true, true, false, includeElementsInFocusZones, tabbable);\n\n    if (childMatch) {\n      return childMatch;\n    }\n  }\n\n  if (currentElement === rootElement) {\n    return null;\n  } // Check its sibling.\n\n\n  var siblingMatch = getNextElement(rootElement, currentElement.nextElementSibling, true, true, false, includeElementsInFocusZones, tabbable);\n\n  if (siblingMatch) {\n    return siblingMatch;\n  }\n\n  if (!suppressParentTraversal) {\n    return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones, tabbable);\n  }\n\n  return null;\n}\n/**\n * Determines if an element is visible.\n *\n * @public\n */\n\nexport function isElementVisible(element) {\n  // If the element is not valid, return false.\n  if (!element || !element.getAttribute) {\n    return false;\n  }\n\n  var visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE); // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n\n  if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n    return visibilityAttribute === 'true';\n  } // Fallback to other methods of determining actual visibility.\n\n\n  return element.offsetHeight !== 0 || element.offsetParent !== null || // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  element.isVisible === true; // used as a workaround for testing.\n}\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key, meaning tabIndex != -1.\n *\n * @public\n */\n\nexport function isElementTabbable(element, checkTabIndex) {\n  // If this element is null or is disabled, it is not considered tabbable.\n  if (!element || element.disabled) {\n    return false;\n  }\n\n  var tabIndex = 0;\n  var tabIndexAttributeValue = null;\n\n  if (element && element.getAttribute) {\n    tabIndexAttributeValue = element.getAttribute('tabIndex');\n\n    if (tabIndexAttributeValue) {\n      tabIndex = parseInt(tabIndexAttributeValue, 10);\n    }\n  }\n\n  var isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n  var isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n  var result = !!element && isFocusableAttribute !== 'false' && (element.tagName === 'A' || element.tagName === 'BUTTON' || element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || isFocusableAttribute === 'true' || isTabIndexSet || element.getAttribute && element.getAttribute('role') === 'button');\n  return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\n\nexport function isElementFocusZone(element) {\n  return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\n\nexport function isElementFocusSubZone(element) {\n  return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\nvar targetToFocusOnNextRepaint = undefined;\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\n\nexport function focusAsync(element) {\n  if (element) {\n    // An element was already queued to be focused, so replace that one with the new element\n    if (targetToFocusOnNextRepaint) {\n      targetToFocusOnNextRepaint = element;\n      return;\n    }\n\n    targetToFocusOnNextRepaint = element;\n    var win = getWindow(element);\n\n    if (win) {\n      // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n      win.requestAnimationFrame(function () {\n        targetToFocusOnNextRepaint && targetToFocusOnNextRepaint.focus(); // We are done focusing for this frame, so reset the queued focus element\n\n        targetToFocusOnNextRepaint = undefined;\n      });\n    }\n  }\n}\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\n\nexport function getFocusableByIndexPath(parent, path) {\n  var element = parent;\n\n  for (var _iterator = _createForOfIteratorHelperLoose(path), _step; !(_step = _iterator()).done;) {\n    var index = _step.value;\n    var nextChild = element.children[Math.min(index, element.children.length - 1)];\n\n    if (!nextChild) {\n      break;\n    }\n\n    element = nextChild;\n  }\n\n  element = isElementTabbable(element) && isElementVisible(element) ? element : getNextElement(parent, element, true) || getPreviousElement(parent, element);\n  return element;\n}\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\n\nexport function getElementIndexPath(fromElement, toElement) {\n  var path = [];\n  var currentElement = toElement;\n\n  while (currentElement && fromElement && currentElement !== fromElement) {\n    var parent = getParent(currentElement, false);\n\n    if (parent === null) {\n      return [];\n    }\n\n    path.unshift(Array.prototype.indexOf.call(parent.children, currentElement));\n    currentElement = parent;\n  }\n\n  return path;\n}\n//# sourceMappingURL=focusUtilities.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _keys from \"lodash/keys\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport { FocusZoneDirection, FocusZoneTabbableElements, IS_ENTER_DISABLED_ATTRIBUTE, IS_FOCUSABLE_ATTRIBUTE, getCode, keyboardKey, SpacebarKey } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport cx from 'classnames';\nimport * as ReactDOM from 'react-dom';\nimport * as PropTypes from 'prop-types';\nimport { elementContains, findScrollableParent, getDocument as _getDocument, getParent, getWindow, raiseClick, shouldWrapFocus as _shouldWrapFocus } from '@uifabric/utilities';\nimport { getElementType } from '../utils/getElementType';\nimport { getUnhandledProps } from '../utils/getUnhandledProps';\nimport { getNextElement, getPreviousElement, isElementFocusZone, isElementFocusSubZone, isElementTabbable, getElementIndexPath, getFocusableByIndexPath, FOCUSZONE_ID_ATTRIBUTE } from './focusUtilities';\nvar TABINDEX = 'tabindex';\nvar NO_VERTICAL_WRAP = 'data-no-vertical-wrap';\nvar NO_HORIZONTAL_WRAP = 'data-no-horizontal-wrap';\nvar LARGE_DISTANCE_FROM_CENTER = 999999999;\nvar LARGE_NEGATIVE_DISTANCE_FROM_CENTER = -999999999;\nvar _allInstances = {};\nvar outerZones = {\n  _windowToOuterZoneMap: new Map(),\n  register: function register(window, FZ) {\n    var _this$_windowToOuterZ2;\n\n    if (this._windowToOuterZoneMap.get(window)) {\n      var _this$_windowToOuterZ;\n\n      (_this$_windowToOuterZ = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ.add(FZ);\n    } else {\n      this._windowToOuterZoneMap.set(window, new Set([FZ]));\n    }\n\n    return (_this$_windowToOuterZ2 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ2.size;\n  },\n  unregister: function unregister(window, FZ) {\n    var _this$_windowToOuterZ3, _this$_windowToOuterZ4;\n\n    (_this$_windowToOuterZ3 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ3.delete(FZ);\n\n    if (((_this$_windowToOuterZ4 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ4.size) === 0) {\n      this._windowToOuterZoneMap.delete(window);\n    }\n  },\n  getOutZone: function getOutZone(window) {\n    return this._windowToOuterZoneMap.get(window);\n  }\n};\nvar ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\nvar ALLOW_VIRTUAL_ELEMENTS = false;\n/**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n */\n\nfunction _onKeyDownCapture(ev) {\n  if (getCode(ev) === keyboardKey.Tab) {\n    var _outerZones$getOutZon;\n\n    (_outerZones$getOutZon = outerZones.getOutZone(getWindow(ev.target))) == null ? void 0 : _outerZones$getOutZon.forEach(function (zone) {\n      return zone.updateTabIndexes();\n    });\n  }\n}\n\nexport var FocusZone = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(FocusZone, _React$Component);\n\n  /** The most recently focused child element. */\n\n  /**\n   * The index path to the last focused child element.\n   */\n\n  /**\n   * Flag to define when we've intentionally parked focus on the root element to temporarily\n   * hold focus until items appear within the zone.\n   */\n\n  /** The child element with tabindex=0. */\n\n  /** Used to allow us to move to next focusable element even when we're focusing on a input element when pressing tab */\n  function FocusZone(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    _this._root = {\n      current: null\n    };\n    _this._id = void 0;\n    _this._activeElement = void 0;\n    _this._lastIndexPath = void 0;\n    _this._isParked = false;\n    _this._parkedTabIndex = void 0;\n    _this._defaultFocusElement = void 0;\n    _this._focusAlignment = void 0;\n    _this._isInnerZone = void 0;\n    _this._processingTabKey = void 0;\n    _this.windowElement = void 0;\n\n    _this.setRef = function (elem) {\n      // findDOMNode needed to get correct DOM ref with react-hot-loader, see https://github.com/gaearon/react-hot-loader/issues/964\n      _this._root.current = ReactDOM.findDOMNode(elem);\n    };\n\n    _this._onBlur = function () {\n      _this.setParkedFocus(false);\n    };\n\n    _this._onFocus = function (ev) {\n      var _this$props = _this.props,\n          onActiveElementChanged = _this$props.onActiveElementChanged,\n          stopFocusPropagation = _this$props.stopFocusPropagation,\n          shouldFocusInnerElementWhenReceivedFocus = _this$props.shouldFocusInnerElementWhenReceivedFocus,\n          defaultTabbableElement = _this$props.defaultTabbableElement;\n      var newActiveElement;\n\n      var isImmediateDescendant = _this.isImmediateDescendantOfZone(ev.target);\n\n      if (isImmediateDescendant) {\n        newActiveElement = ev.target;\n      } else {\n        var parentElement = ev.target;\n\n        while (parentElement && parentElement !== _this._root.current) {\n          if (isElementTabbable(parentElement) && _this.isImmediateDescendantOfZone(parentElement)) {\n            newActiveElement = parentElement;\n            break;\n          }\n\n          parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n        }\n      } // If an inner focusable element should be focused when FocusZone container receives focus\n\n\n      if (shouldFocusInnerElementWhenReceivedFocus && ev.target === _this._root.current) {\n        var maybeElementToFocus = defaultTabbableElement && typeof defaultTabbableElement === 'function' && defaultTabbableElement(_this._root.current); // try to focus defaultTabbable element\n\n        if (maybeElementToFocus && isElementTabbable(maybeElementToFocus)) {\n          newActiveElement = maybeElementToFocus;\n          maybeElementToFocus.focus();\n        } else {\n          // force focus on first focusable element\n          _this.focus(true);\n\n          if (_this._activeElement) {\n            // set to null as new active element was handled in method above\n            newActiveElement = null;\n          }\n        }\n      }\n\n      if (newActiveElement && newActiveElement !== _this._activeElement) {\n        _this._activeElement = newActiveElement;\n\n        if (isImmediateDescendant) {\n          _this.setFocusAlignment(_this._activeElement);\n\n          _this.updateTabIndexes();\n        }\n      }\n\n      if (onActiveElementChanged) {\n        onActiveElementChanged(_this._activeElement, ev);\n      }\n\n      if (stopFocusPropagation) {\n        ev.stopPropagation();\n      }\n\n      _invoke(_this.props, 'onFocus', ev);\n    };\n\n    _this._onMouseDown = function (ev) {\n      var disabled = _this.props.disabled;\n\n      if (disabled) {\n        return;\n      }\n\n      var target = ev.target;\n      var path = [];\n\n      while (target && target !== _this._root.current) {\n        path.push(target);\n        target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n      }\n\n      while (path.length) {\n        target = path.pop();\n\n        if (target && isElementTabbable(target)) {\n          _this.setActiveElement(target, true);\n        }\n\n        if (isElementFocusZone(target)) {\n          // Stop here since the focus zone will take care of its own children.\n          break;\n        }\n      }\n    };\n\n    _this._onKeyDown = function (ev) {\n      var _this$props2 = _this.props,\n          direction = _this$props2.direction,\n          disabled = _this$props2.disabled,\n          shouldEnterInnerZone = _this$props2.shouldEnterInnerZone,\n          pagingSupportDisabled = _this$props2.pagingSupportDisabled;\n\n      if (disabled) {\n        return undefined;\n      }\n\n      var doc = _getDocument(_this._root.current);\n\n      if (_this.props.onKeyDown) {\n        _this.props.onKeyDown(ev);\n      } // @ts-ignore\n\n\n      if (doc.activeElement === _this._root.current && _this._isInnerZone) {\n        // If this element has focus, it is being controlled by a parent.\n        // Ignore the keystroke.\n        return undefined;\n      } // If the default has been prevented, do not process keyboard events.\n\n\n      if (ev.isDefaultPrevented()) {\n        return undefined;\n      }\n\n      if (shouldEnterInnerZone && shouldEnterInnerZone(ev) && _this.isImmediateDescendantOfZone(ev.target)) {\n        // Try to focus\n        var innerZone = _this.getFirstInnerZone();\n\n        if (innerZone) {\n          if (!innerZone.focus(true)) {\n            return undefined;\n          }\n        } else if (isElementFocusSubZone(ev.target)) {\n          if (!_this.focusElement(getNextElement(ev.target, ev.target.firstChild, true))) {\n            return undefined;\n          }\n        } else {\n          return undefined;\n        }\n      } else if (ev.altKey) {\n        return undefined;\n      } else {\n        switch (getCode(ev)) {\n          case SpacebarKey:\n            // @ts-ignore\n            if (_this.tryInvokeClickForFocusable(ev.target)) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowLeft:\n            if (direction !== FocusZoneDirection.vertical) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusLeft()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowRight:\n            if (direction !== FocusZoneDirection.vertical) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusRight()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowUp:\n            if (direction !== FocusZoneDirection.horizontal) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusUp()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowDown:\n            if (direction !== FocusZoneDirection.horizontal) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusDown()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.PageDown:\n            if (!pagingSupportDisabled && _this.moveFocusPaging(true)) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.PageUp:\n            if (!pagingSupportDisabled && _this.moveFocusPaging(false)) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.Tab:\n            if (_this.props.handleTabKey === FocusZoneTabbableElements.all || _this.props.handleTabKey === FocusZoneTabbableElements.inputOnly && _this.isElementInput(ev.target)) {\n              var focusChanged = false;\n              _this._processingTabKey = true;\n\n              if (direction === FocusZoneDirection.vertical || !_this.shouldWrapFocus(_this._activeElement, NO_HORIZONTAL_WRAP)) {\n                focusChanged = ev.shiftKey ? _this.moveFocusUp() : _this.moveFocusDown();\n              } else {\n                var tabWithDirection = _this.props.isRtl ? !ev.shiftKey : ev.shiftKey;\n                focusChanged = tabWithDirection ? _this.moveFocusLeft() : _this.moveFocusRight();\n              }\n\n              _this._processingTabKey = false;\n\n              if (focusChanged) {\n                break;\n              }\n            } else if (_this.props.shouldResetActiveElementWhenTabFromZone) {\n              _this._activeElement = null;\n            }\n\n            return undefined;\n\n          case keyboardKey.Home:\n            if (_this.isContentEditableElement(ev.target) || _this.isElementInput(ev.target) && !_this.shouldInputLoseFocus(ev.target, false)) {\n              return false;\n            }\n\n            var firstChild = _this._root.current && _this._root.current.firstChild;\n\n            if (_this._root.current && firstChild && _this.focusElement(getNextElement(_this._root.current, firstChild, true))) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.End:\n            if (_this.isContentEditableElement(ev.target) || _this.isElementInput(ev.target) && !_this.shouldInputLoseFocus(ev.target, false)) {\n              return false;\n            }\n\n            var lastChild = _this._root.current && _this._root.current.lastChild;\n\n            if (_this._root.current && _this.focusElement(getPreviousElement(_this._root.current, lastChild, true, true, true))) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.Enter:\n            // @ts-ignore\n            if (_this.tryInvokeClickForFocusable(ev.target)) {\n              break;\n            }\n\n            return undefined;\n\n          default:\n            return undefined;\n        }\n      }\n\n      ev.preventDefault();\n      ev.stopPropagation();\n      return undefined;\n    };\n\n    _this.getHorizontalDistanceFromCenter = function (isForward, activeRect, targetRect) {\n      var leftAlignment = _this._focusAlignment.left; // ClientRect values can be floats that differ by very small fractions of a decimal.\n      // If the difference between top and bottom are within a pixel then we should treat\n      // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n      // but without Math.Floor they will be handled incorrectly.\n\n      var targetRectTop = Math.floor(targetRect.top);\n      var activeRectBottom = Math.floor(activeRect.bottom);\n      var targetRectBottom = Math.floor(targetRect.bottom);\n      var activeRectTop = Math.floor(activeRect.top);\n      var isValidCandidateOnpagingDown = isForward && targetRectTop > activeRectBottom;\n      var isValidCandidateOnpagingUp = !isForward && targetRectBottom < activeRectTop;\n\n      if (isValidCandidateOnpagingDown || isValidCandidateOnpagingUp) {\n        if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n          return 0;\n        }\n\n        return Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n      }\n\n      if (!_this.shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n        return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n      }\n\n      return LARGE_DISTANCE_FROM_CENTER;\n    };\n\n    _this._id = _uniqueId('FocusZone');\n    _this._focusAlignment = {\n      left: 0,\n      top: 0\n    };\n    _this._processingTabKey = false;\n    return _this;\n  }\n\n  var _proto = FocusZone.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    _allInstances[this._id] = this;\n    this.setRef(this); // called here to support functional components, we only need HTMLElement ref anyway\n\n    if (!this._root.current) {\n      return;\n    } // @ts-ignore\n\n\n    this.windowElement = getWindow(this._root.current);\n    var parentElement = getParent(this._root.current, ALLOW_VIRTUAL_ELEMENTS);\n\n    var doc = _getDocument(this._root.current); // @ts-ignore\n\n\n    while (parentElement && parentElement !== doc.body && parentElement.nodeType === 1) {\n      if (isElementFocusZone(parentElement)) {\n        this._isInnerZone = true;\n        break;\n      }\n\n      parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n    }\n\n    if (!this._isInnerZone && this.windowElement) {\n      var _outerZones$getOutZon2;\n\n      outerZones.register(this.windowElement, this);\n\n      if (((_outerZones$getOutZon2 = outerZones.getOutZone(this.windowElement)) == null ? void 0 : _outerZones$getOutZon2.size) === 1) {\n        this.windowElement.addEventListener('keydown', _onKeyDownCapture, true);\n      }\n    }\n\n    this._root.current.addEventListener('blur', this._onBlur, true); // Assign initial tab indexes so that we can set initial focus as appropriate.\n\n\n    this.updateTabIndexes();\n\n    if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {\n      this._activeElement = this.getDocument().querySelector(this.props.defaultTabbableElement);\n    }\n\n    if (this.props.shouldFocusOnMount) {\n      this.focus();\n    }\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate() {\n    if (!this._root.current) {\n      return;\n    }\n\n    var doc = _getDocument(this._root.current);\n\n    if (doc && this._lastIndexPath && (doc.activeElement === doc.body || doc.activeElement === null || !this.props.preventFocusRestoration && doc.activeElement === this._root.current)) {\n      // The element has been removed after the render, attempt to restore focus.\n      var elementToFocus = getFocusableByIndexPath(this._root.current, this._lastIndexPath);\n\n      if (elementToFocus) {\n        this.setActiveElement(elementToFocus, true);\n        elementToFocus.focus();\n        this.setParkedFocus(false);\n      } else {\n        // We had a focus path to restore, but now that path is unresolvable. Park focus\n        // on the container until we can try again.\n        this.setParkedFocus(true);\n      }\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    delete _allInstances[this._id];\n    outerZones.unregister(this.windowElement, this);\n\n    if (!this._isInnerZone) {\n      if (this.windowElement && !outerZones.getOutZone(this.windowElement)) {\n        this.windowElement.removeEventListener('keydown', _onKeyDownCapture, true);\n      }\n    }\n\n    if (this._root.current) {\n      this._root.current.removeEventListener('blur', this._onBlur, true);\n    }\n\n    this._activeElement = null;\n    this._defaultFocusElement = null;\n  };\n\n  _proto.render = function render() {\n    var className = this.props.className;\n    var ElementType = getElementType(this.props);\n    var unhandledProps = getUnhandledProps(_keys(FocusZone.propTypes), this.props); // Note, right before rendering/reconciling proceeds, we need to record if focus\n    // was in the zone before the update. This helper will track this and, if focus\n    // was actually in the zone, what the index path to the element is at this time.\n    // Then, later in componentDidUpdate, we can evaluate if we need to restore it in\n    // the case the element was removed.\n\n    this.evaluateFocusBeforeRender();\n    return /*#__PURE__*/React.createElement(ElementType, _extends({}, unhandledProps, {\n      className: cx(FocusZone.className, className),\n      \"data-focuszone-id\": this._id,\n      onKeyDown: this._onKeyDown,\n      onFocus: this._onFocus,\n      onMouseDownCapture: this._onMouseDown\n    }), this.props.children);\n  }\n  /**\n   * Sets focus to the first tabbable item in the zone.\n   * @param forceIntoFirstElement - If true, focus will be forced into the first element, even if focus is already in the focus zone.\n   * @returns True if focus could be set to an active element, false if no operation was taken.\n   */\n  ;\n\n  _proto.focus = function focus(forceIntoFirstElement) {\n    if (forceIntoFirstElement === void 0) {\n      forceIntoFirstElement = false;\n    }\n\n    if (this._root.current) {\n      if (!forceIntoFirstElement && this._root.current.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' && this._isInnerZone) {\n        var ownerZoneElement = this.getOwnerZone(this._root.current);\n\n        if (ownerZoneElement !== this._root.current) {\n          var ownerZone = _allInstances[ownerZoneElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n\n          return !!ownerZone && ownerZone.focusElement(this._root.current);\n        }\n\n        return false;\n      }\n\n      if (!forceIntoFirstElement && this._activeElement && elementContains(this._root.current, this._activeElement, ALLOW_VIRTUAL_ELEMENTS) && isElementTabbable(this._activeElement)) {\n        this._activeElement.focus();\n\n        return true;\n      }\n\n      var firstChild = this._root.current.firstChild;\n      return this.focusElement(getNextElement(this._root.current, firstChild, true));\n    }\n\n    return false;\n  }\n  /**\n   * Sets focus to the last tabbable item in the zone.\n   * @returns True if focus could be set to an active element, false if no operation was taken.\n   */\n  ;\n\n  _proto.focusLast = function focusLast() {\n    if (this._root.current) {\n      var lastChild = this._root.current && this._root.current.lastChild;\n      return this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true));\n    }\n\n    return false;\n  }\n  /**\n   * Sets focus to a specific child element within the zone. This can be used in conjunction with\n   * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n   * location and then focus.)\n   * @param element - The child element within the zone to focus.\n   * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n   * @returns True if focus could be set to an active element, false if no operation was taken.\n   */\n  ;\n\n  _proto.focusElement = function focusElement(element, forceAlignment) {\n    var shouldReceiveFocus = this.props.shouldReceiveFocus;\n\n    if (shouldReceiveFocus && !shouldReceiveFocus(element)) {\n      return false;\n    }\n\n    if (element) {\n      this.setActiveElement(element, forceAlignment);\n\n      if (this._activeElement) {\n        this._activeElement.focus();\n      }\n\n      return true;\n    }\n\n    return false;\n  };\n\n  // Record if focus was in the zone, what the index path to the element is at this time.\n  _proto.evaluateFocusBeforeRender = function evaluateFocusBeforeRender() {\n    if (!this._root.current) {\n      return;\n    }\n\n    var doc = _getDocument(this._root.current);\n\n    if (!doc) {\n      return;\n    }\n\n    var focusedElement = doc.activeElement; // Only update the index path if we are not parked on the root.\n\n    if (focusedElement !== this._root.current) {\n      var shouldRestoreFocus = elementContains(this._root.current, focusedElement, ALLOW_VIRTUAL_ELEMENTS);\n      this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(this._root.current, doc.activeElement) : undefined;\n    }\n  }\n  /**\n   * When focus is in the zone at render time but then all focusable elements are removed,\n   * we \"park\" focus temporarily on the root. Once we update with focusable children, we restore\n   * focus to the closest path from previous. If the user tabs away from the parked container,\n   * we restore focusability to the pre-parked state.\n   */\n  ;\n\n  _proto.setParkedFocus = function setParkedFocus(isParked) {\n    if (this._root.current && this._isParked !== isParked) {\n      this._isParked = isParked;\n\n      if (isParked) {\n        if (!this.props.allowFocusRoot) {\n          this._parkedTabIndex = this._root.current.getAttribute('tabindex');\n\n          this._root.current.setAttribute('tabindex', '-1');\n        }\n\n        this._root.current.focus();\n      } else if (!this.props.allowFocusRoot) {\n        if (this._parkedTabIndex) {\n          this._root.current.setAttribute('tabindex', this._parkedTabIndex);\n\n          this._parkedTabIndex = undefined;\n        } else {\n          this._root.current.removeAttribute('tabindex');\n        }\n      }\n    }\n  };\n\n  _proto.setActiveElement = function setActiveElement(element, forceAlignment) {\n    var previousActiveElement = this._activeElement;\n    this._activeElement = element;\n\n    if (previousActiveElement) {\n      if (isElementFocusZone(previousActiveElement)) {\n        this.updateTabIndexes(previousActiveElement);\n      }\n\n      previousActiveElement.tabIndex = -1;\n    }\n\n    if (this._activeElement) {\n      if (!this._focusAlignment || forceAlignment) {\n        this.setFocusAlignment(element, true, true);\n      }\n\n      this._activeElement.tabIndex = 0;\n    }\n  };\n\n  _proto.preventDefaultWhenHandled = function preventDefaultWhenHandled(ev) {\n    this.props.preventDefaultWhenHandled && ev.preventDefault();\n  }\n  /**\n   * Handle the keystrokes.\n   */\n  ;\n\n  /**\n   * Walk up the dom try to find a focusable element.\n   */\n  _proto.tryInvokeClickForFocusable = function tryInvokeClickForFocusable(targetElement) {\n    var target = targetElement;\n\n    if (target === this._root.current || !this.props.shouldRaiseClicks) {\n      return false;\n    }\n\n    do {\n      if (target.tagName === 'BUTTON' || target.tagName === 'A' || target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') {\n        return false;\n      }\n\n      if (this.isImmediateDescendantOfZone(target) && target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' && target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true') {\n        raiseClick(target);\n        return true;\n      }\n\n      target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n    } while (target !== this._root.current);\n\n    return false;\n  }\n  /**\n   * Traverse to find first child zone.\n   */\n  ;\n\n  _proto.getFirstInnerZone = function getFirstInnerZone(forRootElement) {\n    var rootElement = forRootElement || this._activeElement || this._root.current;\n\n    if (!rootElement) {\n      return null;\n    }\n\n    if (isElementFocusZone(rootElement)) {\n      return _allInstances[rootElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n    }\n\n    var child = rootElement.firstElementChild;\n\n    while (child) {\n      if (isElementFocusZone(child)) {\n        return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n      }\n\n      var match = this.getFirstInnerZone(child);\n\n      if (match) {\n        return match;\n      }\n\n      child = child.nextElementSibling;\n    }\n\n    return null;\n  };\n\n  _proto.moveFocus = function moveFocus(isForward, getDistanceFromCenter, // @ts-ignore\n  ev, useDefaultWrap) {\n    if (useDefaultWrap === void 0) {\n      useDefaultWrap = true;\n    }\n\n    var element = this._activeElement;\n    var candidateDistance = -1;\n    var candidateElement = undefined;\n    var changedFocus = false;\n    var isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\n\n    if (!element || !this._root.current) {\n      return false;\n    }\n\n    if (this.isElementInput(element)) {\n      if (!this.shouldInputLoseFocus(element, isForward)) {\n        return false;\n      }\n    }\n\n    var activeRect = isBidirectional ? element.getBoundingClientRect() : null;\n\n    do {\n      element = isForward ? getNextElement(this._root.current, element) : getPreviousElement(this._root.current, element);\n\n      if (isBidirectional) {\n        if (element) {\n          var _targetRect = element.getBoundingClientRect();\n\n          var elementDistance = getDistanceFromCenter(activeRect, _targetRect);\n\n          if (elementDistance === -1 && candidateDistance === -1) {\n            candidateElement = element;\n            break;\n          }\n\n          if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          }\n\n          if (candidateDistance >= 0 && elementDistance < 0) {\n            break;\n          }\n        }\n      } else {\n        candidateElement = element;\n        break;\n      }\n    } while (element); // Focus the closest candidate\n\n\n    if (candidateElement && candidateElement !== this._activeElement) {\n      changedFocus = true;\n      this.focusElement(candidateElement);\n    } else if (this.props.isCircularNavigation && useDefaultWrap) {\n      if (isForward) {\n        return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n      }\n\n      return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n    }\n\n    return changedFocus;\n  };\n\n  _proto.moveFocusDown = function moveFocusDown() {\n    var _this2 = this;\n\n    var targetTop = -1;\n    var leftAlignment = this._focusAlignment.left;\n\n    if (this.moveFocus(true, function (activeRect, targetRect) {\n      var distance = -1; // ClientRect values can be floats that differ by very small fractions of a decimal.\n      // If the difference between top and bottom are within a pixel then we should treat\n      // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n      // but without Math.Floor they will be handled incorrectly.\n\n      var targetRectTop = Math.floor(targetRect.top);\n      var activeRectBottom = Math.floor(activeRect.bottom);\n\n      if (targetRectTop < activeRectBottom) {\n        if (!_this2.shouldWrapFocus(_this2._activeElement, NO_VERTICAL_WRAP)) {\n          return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n        }\n\n        return LARGE_DISTANCE_FROM_CENTER;\n      }\n\n      if (targetTop === -1 && targetRectTop >= activeRectBottom || targetRectTop === targetTop) {\n        targetTop = targetRectTop;\n\n        if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n          distance = 0;\n        } else {\n          distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n        }\n      }\n\n      return distance;\n    })) {\n      this.setFocusAlignment(this._activeElement, true, true);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusUp = function moveFocusUp() {\n    var _this3 = this;\n\n    var targetTop = -1;\n    var leftAlignment = this._focusAlignment.left;\n\n    if (this.moveFocus(false, function (activeRect, targetRect) {\n      var distance = -1; // ClientRect values can be floats that differ by very small fractions of a decimal.\n      // If the difference between top and bottom are within a pixel then we should treat\n      // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n      // but without Math.Floor they will be handled incorrectly.\n\n      var targetRectBottom = Math.floor(targetRect.bottom);\n      var targetRectTop = Math.floor(targetRect.top);\n      var activeRectTop = Math.floor(activeRect.top);\n\n      if (targetRectBottom > activeRectTop) {\n        if (!_this3.shouldWrapFocus(_this3._activeElement, NO_VERTICAL_WRAP)) {\n          return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n        }\n\n        return LARGE_DISTANCE_FROM_CENTER;\n      }\n\n      if (targetTop === -1 && targetRectBottom <= activeRectTop || targetRectTop === targetTop) {\n        targetTop = targetRectTop;\n\n        if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n          distance = 0;\n        } else {\n          distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n        }\n      }\n\n      return distance;\n    })) {\n      this.setFocusAlignment(this._activeElement, true, true);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusLeft = function moveFocusLeft() {\n    var _this4 = this;\n\n    var shouldWrap = this.shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n    if (this.moveFocus( // @ts-ignore\n    this.props.isRtl, function (activeRect, targetRect) {\n      var distance = -1;\n      var topBottomComparison;\n\n      if (_this4.props.isRtl) {\n        // When in RTL, this comparison should be the same as the one in moveFocusRight for LTR.\n        // Going left at a leftmost rectangle will go down a line instead of up a line like in LTR.\n        // This is important, because we want to be comparing the top of the target rect\n        // with the bottom of the active rect.\n        topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n      } else {\n        topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n      }\n\n      if (topBottomComparison && targetRect.right <= activeRect.right && _this4.props.direction !== FocusZoneDirection.vertical) {\n        distance = activeRect.right - targetRect.right;\n      } else if (!shouldWrap) {\n        distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n      }\n\n      return distance;\n    }, undefined\n    /* ev */\n    , shouldWrap)) {\n      this.setFocusAlignment(this._activeElement, true, false);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusRight = function moveFocusRight() {\n    var _this5 = this;\n\n    var shouldWrap = this.shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n    if (this.moveFocus(!this.props.isRtl, function (activeRect, targetRect) {\n      var distance = -1;\n      var topBottomComparison;\n\n      if (_this5.props.isRtl) {\n        // When in RTL, this comparison should be the same as the one in moveFocusLeft for LTR.\n        // Going right at a rightmost rectangle will go up a line instead of down a line like in LTR.\n        // This is important, because we want to be comparing the bottom of the target rect\n        // with the top of the active rect.\n        topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n      } else {\n        topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n      }\n\n      if (topBottomComparison && targetRect.left >= activeRect.left && _this5.props.direction !== FocusZoneDirection.vertical) {\n        distance = targetRect.left - activeRect.left;\n      } else if (!shouldWrap) {\n        distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n      }\n\n      return distance;\n    }, undefined\n    /* ev */\n    , shouldWrap)) {\n      this.setFocusAlignment(this._activeElement, true, false);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusPaging = function moveFocusPaging(isForward, useDefaultWrap) {\n    if (useDefaultWrap === void 0) {\n      useDefaultWrap = true;\n    }\n\n    var element = this._activeElement;\n\n    if (!element || !this._root.current) {\n      return false;\n    }\n\n    if (this.isElementInput(element)) {\n      if (!this.shouldInputLoseFocus(element, isForward)) {\n        return false;\n      }\n    }\n\n    var scrollableParent = findScrollableParent(element);\n\n    if (!scrollableParent) {\n      return false;\n    }\n\n    var candidateDistance = -1;\n    var candidateElement = undefined;\n    var targetTop = -1;\n    var targetBottom = -1;\n    var pagesize = scrollableParent.clientHeight;\n    var activeRect = element.getBoundingClientRect();\n\n    do {\n      element = isForward ? getNextElement(this._root.current, element) : getPreviousElement(this._root.current, element);\n\n      if (element) {\n        var _targetRect2 = element.getBoundingClientRect();\n\n        var targetRectTop = Math.floor(_targetRect2.top);\n        var activeRectBottom = Math.floor(activeRect.bottom);\n        var targetRectBottom = Math.floor(_targetRect2.bottom);\n        var activeRectTop = Math.floor(activeRect.top);\n        var elementDistance = this.getHorizontalDistanceFromCenter(isForward, activeRect, _targetRect2);\n        var isElementPassedPageSizeOnPagingDown = isForward && targetRectTop > activeRectBottom + pagesize;\n        var isElementPassedPageSizeOnPagingUp = !isForward && targetRectBottom < activeRectTop - pagesize;\n\n        if (isElementPassedPageSizeOnPagingDown || isElementPassedPageSizeOnPagingUp) {\n          break;\n        }\n\n        if (elementDistance > -1) {\n          // for paging down\n          if (isForward && targetRectTop > targetTop) {\n            targetTop = targetRectTop;\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          } else if (!isForward && targetRectBottom < targetBottom) {\n            // for paging up\n            targetBottom = targetRectBottom;\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          } else if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          }\n        }\n      }\n    } while (element);\n\n    var changedFocus = false; // Focus the closest candidate\n\n    if (candidateElement && candidateElement !== this._activeElement) {\n      changedFocus = true;\n      this.focusElement(candidateElement);\n      this.setFocusAlignment(candidateElement, false, true);\n    } else if (this.props.isCircularNavigation && useDefaultWrap) {\n      if (isForward) {\n        return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n      }\n\n      return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n    }\n\n    return changedFocus;\n  };\n\n  _proto.setFocusAlignment = function setFocusAlignment(element, isHorizontal, isVertical) {\n    if (this.props.direction === FocusZoneDirection.bidirectional && (!this._focusAlignment || isHorizontal || isVertical)) {\n      var rect = element.getBoundingClientRect();\n      var left = rect.left + rect.width / 2;\n      var top = rect.top + rect.height / 2;\n\n      if (!this._focusAlignment) {\n        this._focusAlignment = {\n          left: left,\n          top: top\n        };\n      }\n\n      if (isHorizontal) {\n        this._focusAlignment.left = left;\n      }\n\n      if (isVertical) {\n        this._focusAlignment.top = top;\n      }\n    }\n  };\n\n  _proto.isImmediateDescendantOfZone = function isImmediateDescendantOfZone(element) {\n    return this.getOwnerZone(element) === this._root.current;\n  };\n\n  _proto.getOwnerZone = function getOwnerZone(element) {\n    var doc = _getDocument(this._root.current);\n\n    var parentElement = getParent(element, ALLOW_VIRTUAL_ELEMENTS); // @ts-ignore\n\n    while (parentElement && parentElement !== this._root.current && parentElement !== doc.body) {\n      if (isElementFocusZone(parentElement)) {\n        return parentElement;\n      }\n\n      parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n    }\n\n    return this._root.current;\n  };\n\n  _proto.updateTabIndexes = function updateTabIndexes(onElement) {\n    var element = onElement;\n\n    if (!this._activeElement && this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'function') {\n      this._activeElement = this.props.defaultTabbableElement(this._root.current);\n    }\n\n    if (!element && this._root.current) {\n      this._defaultFocusElement = null;\n      element = this._root.current;\n\n      if (this._activeElement && !elementContains(element, this._activeElement, ALLOW_VIRTUAL_ELEMENTS)) {\n        this._activeElement = null;\n      }\n    } // If active element changes state to disabled, set it to null.\n    // Otherwise, we lose keyboard accessibility to other elements in focus zone.\n\n\n    if (this._activeElement && !isElementTabbable(this._activeElement)) {\n      this._activeElement = null;\n    }\n\n    var childNodes = element && element.children;\n\n    for (var childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\n      var child = childNodes[childIndex];\n\n      if (!isElementFocusZone(child)) {\n        // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\n        if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\n          child.setAttribute(TABINDEX, '-1');\n        }\n\n        if (isElementTabbable(child)) {\n          if (this.props.disabled) {\n            child.setAttribute(TABINDEX, '-1');\n          } else if (!this._isInnerZone && (!this._activeElement && !this._defaultFocusElement || this._activeElement === child)) {\n            this._defaultFocusElement = child;\n\n            if (child.getAttribute(TABINDEX) !== '0') {\n              child.setAttribute(TABINDEX, '0');\n            }\n          } else if (child.getAttribute(TABINDEX) !== '-1') {\n            child.setAttribute(TABINDEX, '-1');\n          }\n        } else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\n          // Disgusting IE hack. Sad face.\n          child.setAttribute('focusable', 'false');\n        }\n      } else if (child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n        if (!this._isInnerZone && (!this._activeElement && !this._defaultFocusElement || this._activeElement === child)) {\n          this._defaultFocusElement = child;\n\n          if (child.getAttribute(TABINDEX) !== '0') {\n            child.setAttribute(TABINDEX, '0');\n          }\n        } else if (child.getAttribute(TABINDEX) !== '-1') {\n          child.setAttribute(TABINDEX, '-1');\n        }\n      }\n\n      this.updateTabIndexes(child);\n    }\n  };\n\n  _proto.isContentEditableElement = function isContentEditableElement(element) {\n    return element && element.getAttribute('contenteditable') === 'true';\n  };\n\n  _proto.isElementInput = function isElementInput(element) {\n    if (element && element.tagName && (element.tagName.toLowerCase() === 'input' || element.tagName.toLowerCase() === 'textarea')) {\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.shouldInputLoseFocus = function shouldInputLoseFocus(element, isForward) {\n    // If a tab was used, we want to focus on the next element.\n    if (!this._processingTabKey && element && element.type && ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1) {\n      var selectionStart = element.selectionStart;\n      var selectionEnd = element.selectionEnd;\n      var isRangeSelected = selectionStart !== selectionEnd;\n      var inputValue = element.value;\n      var isReadonly = element.readOnly; // We shouldn't lose focus in the following cases:\n      // 1. There is range selected.\n      // 2. When selection start is larger than 0 and it is backward and not readOnly.\n      // 3. when selection start is not the end of length and it is forward and not readOnly.\n      // 4. We press any of the arrow keys when our handleTabKey isn't none or undefined (only losing focus if we hit tab)\n      // and if shouldInputLoseFocusOnArrowKey is defined, if scenario prefers to not loose the focus which is determined by calling the\n      // callback shouldInputLoseFocusOnArrowKey\n\n      if (isRangeSelected || selectionStart > 0 && !isForward && !isReadonly || selectionStart !== inputValue.length && isForward && !isReadonly || !!this.props.handleTabKey && !(this.props.shouldInputLoseFocusOnArrowKey && this.props.shouldInputLoseFocusOnArrowKey(element))) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  _proto.shouldWrapFocus = function shouldWrapFocus(element, noWrapDataAttribute) {\n    return !!this.props.checkForNoWrap ? _shouldWrapFocus(element, noWrapDataAttribute) : true;\n  };\n\n  _proto.getDocument = function getDocument() {\n    return _getDocument(this._root.current);\n  };\n\n  return FocusZone;\n}(React.Component);\nFocusZone.propTypes = {\n  className: PropTypes.string,\n  direction: PropTypes.number,\n  defaultTabbableElement: PropTypes.func,\n  shouldFocusOnMount: PropTypes.bool,\n  shouldResetActiveElementWhenTabFromZone: PropTypes.bool,\n  shouldRaiseClicks: PropTypes.bool,\n  shouldFocusInnerElementWhenReceivedFocus: PropTypes.bool,\n  disabled: PropTypes.bool,\n  as: PropTypes.elementType,\n  isCircularNavigation: PropTypes.bool,\n  shouldEnterInnerZone: PropTypes.func,\n  onActiveElementChanged: PropTypes.func,\n  shouldReceiveFocus: PropTypes.func,\n  handleTabKey: PropTypes.number,\n  shouldInputLoseFocusOnArrowKey: PropTypes.func,\n  stopFocusPropagation: PropTypes.bool,\n  onFocus: PropTypes.func,\n  preventDefaultWhenHandled: PropTypes.bool,\n  isRtl: PropTypes.bool,\n  preventFocusRestoration: PropTypes.bool,\n  pagingSupportDisabled: PropTypes.bool\n};\nFocusZone.defaultProps = {\n  isCircularNavigation: false,\n  direction: FocusZoneDirection.bidirectional,\n  as: 'div',\n  preventDefaultWhenHandled: true,\n  shouldRaiseClicks: false\n};\nFocusZone.displayName = 'FocusZone';\nFocusZone.className = 'ms-FocusZone';\nFocusZone.outerZones = outerZones;\n//# sourceMappingURL=FocusZone.js.map\n","/**\n * Returns a createElement() type based on the props of the Component.\n * Useful for calculating what type a component should render as.\n *\n * @param props - A ReactElement props object\n * @returns A ReactElement type\n */\nexport function getElementType(props) {\n  // ----------------------------------------\n  // use defaultProp or 'div'\n  return props.as || 'div';\n}\n//# sourceMappingURL=getElementType.js.map\n","import * as React from 'react'; // useLayoutEffect() produces a warning with SSR rendering\n// https://medium.com/@alexandereardon/uselayouteffect-and-ssr-192986cdcf7a\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' ? React.useLayoutEffect : React.useEffect;\n//# sourceMappingURL=useIsomorphicLayoutEffect.js.map\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport chunk from \"lodash/chunk\";\nimport { Alert, Box, Checkbox, Dropdown, Flex, FormDropdown as FluentUIFormDropdown, FormRadioGroup as FluentUIFormRadioGroup, Input, selectableListBehavior, Text, TextArea, } from \"@fluentui/react-northstar\";\nimport { ExclamationCircleIcon, ExclamationTriangleIcon, } from \"@fluentui/react-icons-northstar\";\nimport { getText } from \"../../translations\";\n/**\n * An inline input’s width.\n * @public\n */\nexport var EInputWidth;\n(function (EInputWidth) {\n    /**\n     * The input should share the width with the other inline inputs.\n     */\n    EInputWidth[\"split\"] = \"split\";\n    /**\n     * The input should occupy the full width of the Form\n     */\n    EInputWidth[\"full\"] = \"full\";\n})(EInputWidth || (EInputWidth = {}));\n/**\n * The types of inline inputs.\n * @public\n */\nexport var EInlineInputType;\n(function (EInlineInputType) {\n    EInlineInputType[\"text\"] = \"text\";\n    EInlineInputType[\"dropdown\"] = \"dropdown\";\n})(EInlineInputType || (EInlineInputType = {}));\n/**\n * The types of input blocks.\n * @public\n */\nexport var EInputBlockType;\n(function (EInputBlockType) {\n    EInputBlockType[\"inlineInputs\"] = \"inline-inputs\";\n    EInputBlockType[\"dropdown\"] = \"dropdown\";\n    EInputBlockType[\"multilineText\"] = \"multiline-text\";\n    EInputBlockType[\"radioButtons\"] = \"radio-buttons\";\n    EInputBlockType[\"checkboxes\"] = \"checkboxes\";\n})(EInputBlockType || (EInputBlockType = {}));\nexport var MaxWidth = function (_a) {\n    var children = _a.children, styles = _a.styles, flush = _a.flush, _b = _a.align, align = _b === void 0 ? \"center\" : _b;\n    return (React.createElement(Box, { styles: __assign({ margin: (function () {\n                switch (align) {\n                    case \"left\":\n                        return \"0 auto 0 0\";\n                    default:\n                        return \"0 auto\";\n                }\n            })(), maxWidth: flush ? \"none\" : \"29.75rem\", padding: flush ? 0 : \"2rem\" }, styles) }, children));\n};\nvar errorId = function (describesId) { return describesId + \"__error\"; };\nvar labelId = function (describesId) { return describesId + \"__label\"; };\nvar fullInputId = function (inputId) { return \"input_\" + inputId; };\nvar ErrorMessage = function (_a) {\n    var excludeIcon = _a.excludeIcon, message = _a.message, id = _a.id, t = _a.t, styles = _a.styles;\n    return (React.createElement(Box, __assign({ variables: function (_a) {\n            var colorScheme = _a.colorScheme;\n            return ({\n                color: colorScheme.red.foreground,\n            });\n        } }, (id && { id: id }), { styles: __assign({ paddingLeft: \".375rem\" }, styles) }),\n        !excludeIcon && (React.createElement(ExclamationCircleIcon, { outline: true, size: \"small\", styles: { marginRight: \".25rem\" } })),\n        React.createElement(Text, { size: \"small\", content: getText(t === null || t === void 0 ? void 0 : t.locale, message) })));\n};\nvar DropdownBlock = function (props) {\n    var options = props.options, t = props.t, inputId = props.inputId, title = props.title, errors = props.errors, formState = props.formState, setFormState = props.setFormState;\n    var id = fullInputId(inputId);\n    var error = get(errors, inputId, false);\n    var selectedValues = Array.isArray(formState[inputId])\n        ? formState[inputId]\n        : formState[inputId]\n            ? [formState[inputId]]\n            : [];\n    var items = options.map(function (_a) {\n        var title = _a.title, value = _a.value;\n        return ({\n            key: inputId + \"__\" + value,\n            selected: selectedValues.includes(value),\n            header: getText(t === null || t === void 0 ? void 0 : t.locale, title),\n            \"data-value\": value,\n        });\n    });\n    return (React.createElement(FluentUIFormDropdown, __assign({ fluid: true, id: id, label: getText(t === null || t === void 0 ? void 0 : t.locale, title), styles: { marginBottom: \".75rem\" }, onChange: function (_e, props) {\n            if (props.multiple) {\n                var values = get(props, \"value\", []).map(function (selectedItemProps) {\n                    return get(selectedItemProps, \"data-value\");\n                });\n                values.length\n                    ? (formState[inputId] = values)\n                    : delete formState[inputId];\n            }\n            else {\n                formState[inputId] = get(props, [\"value\", \"data-value\"]);\n            }\n            setFormState(formState);\n        }, defaultValue: props.multiple\n            ? items.filter(function (_a) {\n                var value = _a[\"data-value\"];\n                return selectedValues.includes(value);\n            })\n            : items.find(function (_a) {\n                var value = _a[\"data-value\"];\n                return selectedValues.includes(value);\n            }), items: items }, (props.multiple && { multiple: true }), (error && {\n        error: true,\n        errorMessage: React.createElement(ErrorMessage, { message: error, t: t }),\n    }))));\n};\nvar splitQuery = function (rowSize, breakpointOffset) {\n    return \"@media (min-width: \" + (16 * 8.25 * rowSize + 16 * breakpointOffset) + \"px)\";\n};\nvar textInputStyles = function (rowSize, group, breakpointOffset) {\n    var _a;\n    if (breakpointOffset === void 0) { breakpointOffset = 0; }\n    return (__assign((_a = { flex: \"1 0 auto\", marginRight: \".75rem\", marginBottom: group === 0 ? \".25rem\" : \".75rem\", width: \"100%\" }, _a[splitQuery(rowSize, breakpointOffset)] = {\n        order: group,\n        width: \"calc(\" + (100 / rowSize).toFixed(1) + \"% - .75rem)\",\n    }, _a), (group === 0 && { alignSelf: \"flex-end\" })));\n};\nvar InlineInputsBlock = function (_a) {\n    var _b, _c;\n    var fields = _a.fields, t = _a.t, errors = _a.errors, formState = _a.formState, setFormState = _a.setFormState, breakpointOffset = _a.breakpointOffset;\n    var rows = [];\n    var i = 0;\n    while (i < fields.length) {\n        switch ((_b = fields[i]) === null || _b === void 0 ? void 0 : _b.width) {\n            case \"split\":\n                var j = i + 1;\n                while (((_c = fields[j]) === null || _c === void 0 ? void 0 : _c.width) === \"split\") {\n                    j += 1;\n                }\n                Array.prototype.push.apply(rows, chunk(fields.slice(i, j + 1), 3));\n                i = j;\n                break;\n            default:\n                rows.push([fields[i]]);\n                i += 1;\n                break;\n        }\n    }\n    return (React.createElement(React.Fragment, null, rows.map(function (rowFields, r) {\n        var _a;\n        // TODO: row should have a stable field to use as the key, since the key\n        // will be incorrect if the rows are shuffled. I've used the index for\n        // now since it's more (but not totally) correct than the previous\n        // behavior of using a generated id that changed on each render.\n        return (React.createElement(Box, { key: \"form-content__row-\" + r, styles: (_a = {\n                    display: \"flex\",\n                    flexFlow: \"row wrap\"\n                },\n                _a[splitQuery(rowFields.length, breakpointOffset || 0)] = {\n                    marginRight: \"-.75rem\",\n                },\n                _a) }, rowFields.map(function (field) {\n            var inputId = field.inputId, title = field.title, type = field.type;\n            var id = fullInputId(inputId);\n            var error = get(errors, inputId, false);\n            return (React.createElement(React.Fragment, { key: \"form-content__\" + inputId },\n                React.createElement(Input.Label, { htmlFor: id, id: labelId(id), styles: textInputStyles(rowFields.length, 0, breakpointOffset) }, getText(t === null || t === void 0 ? void 0 : t.locale, title)),\n                (function () {\n                    switch (type) {\n                        case \"dropdown\":\n                            var _a = field, options = _a.options, multiple = _a.multiple;\n                            var selectedValues_1 = Array.isArray(formState[inputId])\n                                ? formState[inputId]\n                                : formState[inputId]\n                                    ? [formState[inputId]]\n                                    : [];\n                            var items = options.map(function (_a) {\n                                var title = _a.title, value = _a.value;\n                                return ({\n                                    key: inputId + \"__\" + value,\n                                    selected: selectedValues_1.includes(value),\n                                    header: getText(t === null || t === void 0 ? void 0 : t.locale, title),\n                                    \"data-value\": value,\n                                });\n                            });\n                            return (React.createElement(Dropdown, __assign({ fluid: true, id: id, label: getText(t === null || t === void 0 ? void 0 : t.locale, title), styles: __assign(__assign({}, textInputStyles(rowFields.length, 1, breakpointOffset)), (error && { marginBottom: 0 })), onChange: function (_e, props) {\n                                    if (props.multiple) {\n                                        var values = get(props, \"value\", []).map(function (selectedItemProps) {\n                                            return get(selectedItemProps, \"data-value\");\n                                        });\n                                        values.length\n                                            ? (formState[inputId] = values)\n                                            : delete formState[inputId];\n                                    }\n                                    else {\n                                        formState[inputId] = get(props, [\n                                            \"value\",\n                                            \"data-value\",\n                                        ]);\n                                    }\n                                    setFormState(formState);\n                                }, defaultValue: multiple\n                                    ? items.filter(function (_a) {\n                                        var value = _a[\"data-value\"];\n                                        return selectedValues_1.includes(value);\n                                    })\n                                    : items.find(function (_a) {\n                                        var value = _a[\"data-value\"];\n                                        return selectedValues_1.includes(value);\n                                    }), items: items }, (multiple && { multiple: true }), (error && { error: true }))));\n                        case \"text\":\n                            var placeholder = field.placeholder;\n                            return (React.createElement(Input, __assign({ fluid: true, id: id }, (placeholder && {\n                                placeholder: getText(t.locale, placeholder),\n                            }), (error && { error: true }), { styles: __assign(__assign({}, textInputStyles(rowFields.length, 1, breakpointOffset)), (error && { marginBottom: 0 })), \"aria-labelledby\": [labelId(id)]\n                                    .concat(error ? errorId(id) : [])\n                                    .join(\" \"), value: formState[inputId], onChange: function (e, props) {\n                                    if (props && \"value\" in props) {\n                                        formState[inputId] = props.value.toString();\n                                        setFormState(formState);\n                                    }\n                                } })));\n                        default:\n                            return null;\n                    }\n                })(),\n                error ? (React.createElement(ErrorMessage, { message: error, t: t, id: errorId(id), styles: textInputStyles(rowFields.length, 2, breakpointOffset) })) : (React.createElement(Box, { styles: __assign(__assign({}, textInputStyles(rowFields.length, 2, breakpointOffset)), { marginBottom: 0 }) }))));\n        })));\n    })));\n};\nvar CheckboxesBlock = function (_a) {\n    var options = _a.options, title = _a.title, t = _a.t, inputId = _a.inputId, errors = _a.errors, formState = _a.formState, setFormState = _a.setFormState;\n    var id = fullInputId(inputId);\n    var error = get(errors, inputId, false);\n    return (React.createElement(Box, { styles: { marginBottom: \".75rem\" } },\n        React.createElement(Input.Label, { htmlFor: id, id: labelId(id) }, getText(t === null || t === void 0 ? void 0 : t.locale, title)),\n        React.createElement(Box, { id: id, accessibility: selectableListBehavior, \"aria-labelledby\": [labelId(id)]\n                .concat(error ? errorId(id) : [])\n                .join(\" \"), \"aria-multiselectable\": \"true\" }, options.map(function (_a) {\n            var _b;\n            var title = _a.title, value = _a.value;\n            var selected = (_b = formState[inputId]) === null || _b === void 0 ? void 0 : _b.includes(value);\n            return (React.createElement(Box, { key: id + \"__\" + value },\n                React.createElement(Checkbox, { role: \"option\", \"aria-selected\": selected ? \"true\" : \"false\", checked: selected, variables: { layout: \"radio-like\" }, label: getText(t === null || t === void 0 ? void 0 : t.locale, title), \"data-value\": value, onChange: function (e, props) {\n                        var value = get(props, \"data-value\");\n                        if (props === null || props === void 0 ? void 0 : props.checked) {\n                            Array.isArray(formState[inputId])\n                                ? formState[inputId].push(value)\n                                : (formState[inputId] = [value]);\n                        }\n                        else {\n                            var next_values = formState[inputId].filter(function (v) { return v !== value; });\n                            next_values.length > 0\n                                ? (formState[inputId] = next_values)\n                                : delete formState[inputId];\n                        }\n                        setFormState(formState);\n                    } })));\n        })),\n        error && React.createElement(ErrorMessage, { message: error, t: t, id: errorId(id) })));\n};\nvar MultilineTextBlock = function (_a) {\n    var title = _a.title, placeholder = _a.placeholder, t = _a.t, inputId = _a.inputId, errors = _a.errors, formState = _a.formState, setFormState = _a.setFormState;\n    var id = fullInputId(inputId);\n    var error = get(errors, inputId, false);\n    return (React.createElement(Box, { styles: { marginBottom: \".75rem\" } },\n        React.createElement(Input.Label, { htmlFor: id, id: labelId(id) }, getText(t === null || t === void 0 ? void 0 : t.locale, title)),\n        React.createElement(TextArea, __assign({ fluid: true, resize: \"vertical\", id: id, value: formState[inputId] || \"\" }, (placeholder && { placeholder: getText(t === null || t === void 0 ? void 0 : t.locale, placeholder) }), { onChange: function (e, props) {\n                props && props.value\n                    ? (formState[inputId] = props.value)\n                    : delete formState[inputId];\n                setFormState(formState);\n            } })),\n        error && React.createElement(ErrorMessage, { message: error, t: t })));\n};\nvar RadioButtonsBlock = function (_a) {\n    var options = _a.options, t = _a.t, inputId = _a.inputId, title = _a.title, errors = _a.errors, formState = _a.formState, setFormState = _a.setFormState;\n    var id = fullInputId(inputId);\n    var error = get(errors, inputId, false);\n    return (React.createElement(FluentUIFormRadioGroup, __assign({ id: id, vertical: true, styles: { marginBottom: \".75rem\" }, label: getText(t === null || t === void 0 ? void 0 : t.locale, title) }, (error && { errorMessage: React.createElement(ErrorMessage, { message: error, t: t }) }), { items: options.map(function (_a) {\n            var title = _a.title, value = _a.value;\n            var label = getText(t === null || t === void 0 ? void 0 : t.locale, title);\n            var key = inputId + \"__\" + value;\n            var name = label;\n            var checked = formState[inputId] === value;\n            var onChange = function (_e, props) {\n                if (props && props.checked && props.value)\n                    formState[inputId] = props.value.toString();\n                setFormState(formState);\n            };\n            return { key: key, value: value, label: label, name: name, checked: checked, onChange: onChange };\n        }) })));\n};\nvar FormInputBlock = function (props) {\n    switch (props.type) {\n        case \"inline-inputs\":\n            return React.createElement(InlineInputsBlock, __assign({}, props));\n        case \"multiline-text\":\n            return React.createElement(MultilineTextBlock, __assign({}, props));\n        case \"dropdown\":\n            return React.createElement(DropdownBlock, __assign({}, props));\n        case \"checkboxes\":\n            return React.createElement(CheckboxesBlock, __assign({}, props));\n        case \"radio-buttons\":\n            return React.createElement(RadioButtonsBlock, __assign({}, props));\n        default:\n            return null;\n    }\n};\nvar FormSection = function (props) {\n    var _a;\n    var errors = props.errors, header = props.header, section = props.section, t = props.t;\n    return (React.createElement(React.Fragment, null,\n        section.title && (React.createElement(Text, { as: header ? \"h1\" : \"h2\", weight: header ? \"bold\" : \"semibold\", size: header ? \"large\" : \"medium\" }, getText(t.locale, section.title))),\n        section.preface && (React.createElement(Text, { as: \"p\", variables: function (_a) {\n                var colorScheme = _a.colorScheme;\n                return ({\n                    color: colorScheme.default.foreground2,\n                });\n            } }, getText(t.locale, section.preface))),\n        ((_a = section.inputBlocks) === null || _a === void 0 ? void 0 : _a.length) &&\n            section.inputBlocks.map(function (inputBlock, gi) { return (React.createElement(FormInputBlock, __assign({}, inputBlock, {\n                t: t,\n                errors: errors,\n                formState: props.formState,\n                setFormState: props.setFormState,\n                breakpointOffset: props.breakpointOffset,\n            }, { key: props.keyPrefix + \"__Group-\" + gi }))); })));\n};\nexport var setInitialValue = function (acc, field) {\n    if (field.hasOwnProperty(\"initialValue\") &&\n        field.initialValue)\n        acc[field.inputId] = field.initialValue;\n    else if (field.hasOwnProperty(\"initialValues\"))\n        acc[field.inputId] =\n            field.initialValues || [];\n    return acc;\n};\nexport var FormContent = React.memo(function (_a) {\n    var topError = _a.topError, flush = _a.flush, t = _a.t, headerSection = _a.headerSection, sections = _a.sections, errors = _a.errors, formState = _a.formState, setFormState = _a.setFormState, align = _a.align, breakpointOffset = _a.breakpointOffset;\n    return (React.createElement(MaxWidth, __assign({}, { flush: flush, align: align }),\n        topError && (React.createElement(Alert, { danger: true, visible: true, dismissible: true, content: React.createElement(Flex, { vAlign: \"center\" },\n                React.createElement(ExclamationTriangleIcon, { outline: true, styles: { marginRight: \".25rem\" } }),\n                React.createElement(Text, { styles: { margin: \".25rem 0\" }, content: getText(t.locale, topError) })) })),\n        headerSection && (React.createElement(FormSection, __assign({ header: true, section: headerSection }, { t: t, errors: errors }))),\n        sections.map(function (section, si) {\n            var key = \"Form__Section-\" + si;\n            return (React.createElement(FormSection, __assign({}, {\n                section: section,\n                t: t,\n                key: key,\n                keyPrefix: key,\n                errors: errors,\n                formState: formState,\n                setFormState: setFormState,\n                breakpointOffset: breakpointOffset,\n            })));\n        })));\n});\n//# sourceMappingURL=FormContent.js.map","import * as React from 'react';\nimport { getAccessibility } from '../accessibility/getAccessibility';\nimport { FocusZone } from '../FocusZone/FocusZone';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\nexport var useAccessibility = function useAccessibility(behavior, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      actionHandlers = _options.actionHandlers,\n      _options$debugName = _options.debugName,\n      debugName = _options$debugName === void 0 ? 'Undefined' : _options$debugName,\n      _options$mapPropsToBe = _options.mapPropsToBehavior,\n      mapPropsToBehavior = _options$mapPropsToBe === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToBe,\n      _options$rtl = _options.rtl,\n      rtl = _options$rtl === void 0 ? false : _options$rtl;\n  var definition = getAccessibility(debugName, behavior, mapPropsToBehavior(), rtl, actionHandlers);\n  var latestDefinition = React.useRef();\n  var slotHandlers = React.useRef({});\n  var slotProps = React.useRef({});\n  useIsomorphicLayoutEffect(function () {\n    latestDefinition.current = definition;\n  });\n\n  var getA11yProps = function getA11yProps(slotName, userProps) {\n    var hasKeyDownHandlers = Boolean(definition.keyHandlers[slotName] || userProps.onKeyDown);\n    var childBehavior = definition.childBehaviors ? definition.childBehaviors[slotName] : undefined;\n    slotProps.current[slotName] = userProps; // We want to avoid adding event handlers until it's really needed\n\n    if (hasKeyDownHandlers) {\n      if (!slotHandlers.current[slotName]) {\n        slotHandlers.current[slotName] = function (e) {\n          var _latestDefinition$cur, _latestDefinition$cur2;\n\n          var accessibilityHandler = (_latestDefinition$cur = latestDefinition.current) == null ? void 0 : (_latestDefinition$cur2 = _latestDefinition$cur.keyHandlers[slotName]) == null ? void 0 : _latestDefinition$cur2.onKeyDown;\n          var userHandler = slotProps.current[slotName].onKeyDown;\n          if (accessibilityHandler) accessibilityHandler(e);\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          if (userHandler) userHandler.apply(void 0, [e].concat(args));\n        };\n      }\n    } else {\n      delete slotHandlers.current[slotName];\n    }\n\n    var finalProps = Object.assign({}, childBehavior && {\n      accessibility: childBehavior\n    }, definition.attributes[slotName], userProps, {\n      onKeyDown: slotHandlers.current[slotName]\n    });\n    return finalProps;\n  }; // Provides an experimental handling for FocusZone definition in behaviors\n\n\n  getA11yProps.unstable_wrapWithFocusZone = function (element) {\n    if (definition.focusZone) {\n      var child = element;\n\n      if (process.env.NODE_ENV !== 'production') {\n        child = React.Children.only(element);\n      }\n\n      return /*#__PURE__*/React.createElement(FocusZone, Object.assign({}, definition.focusZone.props, child.props, {\n        as: child.type,\n        isRtl: rtl\n      }));\n    }\n\n    return element;\n  };\n\n  getA11yProps.unstable_behaviorDefinition = function () {\n    return definition;\n  };\n\n  return getA11yProps;\n};\n//# sourceMappingURL=useAccessibility.js.map\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React, { useState } from \"react\";\nimport range from \"lodash/range\";\nimport { Avatar, Box, Button, Card, Flex, FocusZoneTabbableElements, Popup, Ref, Text, dialogBehavior, gridCellWithFocusableElementBehavior, } from \"@fluentui/react-northstar\";\nimport { getCode, keyboardKey } from \"@fluentui/keyboard-key\";\nimport { MoreIcon, PaperclipIcon } from \"@fluentui/react-icons-northstar\";\nimport { getText, } from \"../../translations\";\nimport setMultiple from \"../../lib/setMultiple\";\nimport { useAccessibility } from \"@fluentui/react-bindings\";\nvar boardItemBehavior = function (_props) {\n    return setMultiple(gridCellWithFocusableElementBehavior(), {\n        \"focusZone.props\": {\n            handleTabKey: FocusZoneTabbableElements.all,\n            isCircularNavigation: true,\n            shouldEnterInnerZone: function (event) {\n                return getCode(event) === keyboardKey.Enter;\n            },\n        },\n        \"keyActions.root.focus.keyCombinations\": [{ keyCode: keyboardKey.Escape }],\n    });\n};\nvar BoardItemBadges = function (_a) {\n    var badges = _a.badges;\n    return (React.createElement(Box, null, Object.keys(badges).map(function (badgeKey) {\n        switch (badgeKey) {\n            case \"attachments\":\n                return (React.createElement(Flex, { styles: {\n                        height: \"1.75rem\",\n                        color: \"var(--content-color-secondary)\",\n                    }, hAlign: \"center\", vAlign: \"center\", key: \"BoardItem__Badge__\" + badgeKey },\n                    React.createElement(PaperclipIcon, { outline: true }),\n                    React.createElement(Text, { size: \"small\", content: badges[badgeKey], styles: { marginLeft: \".25rem\" } })));\n        }\n    })));\n};\nvar BoardItemUsers = function (_a) {\n    var associatedUserKeys = _a.associatedUserKeys, users = _a.users, locale = _a.locale;\n    // [v-wishow] todo: replace with AvatarGroup compoment to be released in Fluent UI\n    // spec in Figma: https://www.figma.com/file/p5tprlOerFyzQ9YH4aMQBl/Avatar-Group-Fluent-UI?node-id=3%3A123\n    return (React.createElement(React.Fragment, null, range(0, Math.min(associatedUserKeys.length, 3))\n        .reverse()\n        .map(function (i) {\n        var userKey = associatedUserKeys[i];\n        var user = users[userKey];\n        return associatedUserKeys.length > 3 && i === 2 ? (React.createElement(Avatar, { size: \"small\", key: \"BoardItemUserAvatar__overflow\", name: \"+\" + (associatedUserKeys.length - 2), getInitials: function (name) { return name; }, variables: function (_a) {\n                var colorScheme = _a.colorScheme;\n                return ({\n                    borderColor: colorScheme.default.background,\n                });\n            }, styles: { marginLeft: \"-.375rem\", order: i } })) : (React.createElement(Avatar, __assign({ size: \"small\", key: \"BoardItemUserAvatar__\" + userKey, name: getText(locale, user.name), variables: function (_a) {\n                var colorScheme = _a.colorScheme;\n                return ({\n                    borderColor: colorScheme.default.background,\n                });\n            } }, (user.image ? { image: user.image } : {}), { styles: __assign({ order: i }, (i > 0 ? { marginLeft: \"-.375rem\" } : {})) })));\n    })));\n};\nvar BoardItemBody = function (_a) {\n    var locale = _a.locale, textObject = _a.textObject;\n    return React.createElement(Text, null, getText(locale, textObject));\n};\nvar BoardItemPreview = function (_a) {\n    var preview = _a.preview;\n    return (React.createElement(Box, { styles: {\n            backgroundSize: \"cover\",\n            backgroundPosition: \"center center\",\n            width: \"100%\",\n            height: \"6.625rem\",\n            marginBottom: \".75rem\",\n        }, style: {\n            backgroundImage: \"url(\" + preview + \")\",\n        } }));\n};\nexport var BoardItem = React.memo(function (props) {\n    var isDragging = props.isDragging, draggableProps = props.draggableProps, dragHandleProps = props.dragHandleProps, boardItemCardLayout = props.boardItemCardLayout, t = props.t, item = props.item, users = props.users, editItemDialog = props.editItemDialog;\n    var _a = useState(null), itemNode = _a[0], setItemNode = _a[1];\n    var getA11Props = useAccessibility(boardItemBehavior, {\n        actionHandlers: {\n            preventDefault: function (event) {\n                // preventDefault only if event coming from inside the lane\n                if (event.currentTarget !== event.target) {\n                    event.preventDefault();\n                }\n            },\n            focus: function (event) {\n                if (itemNode && event.target !== event.currentTarget) {\n                    itemNode.focus();\n                    event.stopPropagation();\n                }\n            },\n        },\n    });\n    return (React.createElement(Ref, { innerRef: setItemNode }, getA11Props.unstable_wrapWithFocusZone(React.createElement(Card, __assign({}, getA11Props(\"root\", __assign(__assign(__assign(__assign(__assign({ elevated: true, variables: function (_a) {\n            var colorScheme = _a.colorScheme;\n            return ({\n                elevation: isDragging\n                    ? colorScheme.elevations[8]\n                    : colorScheme.elevations[4],\n                hoverElevation: colorScheme.elevations[8],\n                backgroundColor: colorScheme.default.background,\n                borderColor: isDragging\n                    ? colorScheme.default.borderHover\n                    : colorScheme.default.border,\n            });\n        }, styles: {\n            position: \"relative\",\n            zIndex: 1,\n            margin: \"0 1.25rem .5rem 1.25rem\",\n            width: \"auto\",\n            height: \"auto\",\n        } }, draggableProps), dragHandleProps), { \"aria-label\": t[\"board item\"] + \", \" + getText(t.locale, item.title) }), (isDragging ? { \"data-isdragging\": true } : {})), { tabIndex: -1 }))),\n        React.createElement(Box, { styles: {\n                borderRadius: \"4px\",\n                overflow: \"hidden\",\n            } },\n            item.preview && boardItemCardLayout.previewPosition === \"top\" && (React.createElement(BoardItemPreview, { preview: item.preview })),\n            React.createElement(Card.Body, __assign({}, (!item.preview ||\n                boardItemCardLayout.previewPosition !== \"top\"\n                ? { styles: { marginTop: \"1.25rem\" } }\n                : {})),\n                React.createElement(Flex, null,\n                    React.createElement(Box, { styles: { flex: \"1 0 0\" } },\n                        React.createElement(Text, { weight: \"semibold\", as: \"h2\", styles: { margin: 0, fontSize: \"inherit\" } }, getText(t.locale, item.title)),\n                        item.subtitle && (React.createElement(Text, { size: \"small\", variables: function (_a) {\n                                var colorScheme = _a.colorScheme;\n                                return ({\n                                    color: colorScheme.foreground1,\n                                });\n                            } }, getText(t.locale, item.subtitle)))),\n                    React.createElement(Popup, { content: editItemDialog, trigger: React.createElement(Button, { text: true, iconOnly: true, \"data-is-focusable\": \"true\", \"aria-label\": t[\"board item options\"], icon: React.createElement(MoreIcon, { size: \"small\", outline: true }), styles: { minWidth: \"1.25rem\", height: \"1.25rem\" } }), position: \"below\", accessibility: dialogBehavior, autoFocus: true }))),\n            item.preview &&\n                boardItemCardLayout.previewPosition === \"afterHeader\" && (React.createElement(BoardItemPreview, { preview: item.preview })),\n            item.body && (React.createElement(Card.Body, null, Array.isArray(item.body) ? (item.body.map(function (bodyItem, bi) { return (React.createElement(BoardItemBody, { locale: t.locale, textObject: bodyItem, key: \"BoardItem__\" + item.itemKey + \"__\" + bi })); })) : (React.createElement(BoardItemBody, { locale: t.locale, textObject: item.body })))),\n            (item.users || item.badges) && (React.createElement(Card.Footer, null,\n                React.createElement(Flex, null,\n                    React.createElement(Box, { styles: {\n                            flex: \"1 0 auto\",\n                            display: \"flex\",\n                        } }, item.users && (React.createElement(BoardItemUsers, { locale: t.locale, associatedUserKeys: item.users, users: users }))),\n                    item.badges && (React.createElement(BoardItemBadges, { t: t, badges: item.badges }))))),\n            React.createElement(\"b\", { style: {\n                    display: \"block\",\n                    marginTop: \"1.25rem\",\n                }, role: \"presentation\" }))))));\n});\n//# sourceMappingURL=BoardItem.js.map","import React from \"react\";\nimport uniqueId from \"lodash/uniqueId\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { getText } from \"../../translations\";\nimport { FormDialog } from \"../Form/Form\";\nimport { EInlineInputType, EInputBlockType } from \"../Form/FormContent\";\nexport var BoardItemDialogAction;\n(function (BoardItemDialogAction) {\n    BoardItemDialogAction[BoardItemDialogAction[\"Create\"] = 0] = \"Create\";\n    BoardItemDialogAction[BoardItemDialogAction[\"Edit\"] = 1] = \"Edit\";\n})(BoardItemDialogAction || (BoardItemDialogAction = {}));\nexport var BoardItemDialog = function (_a) {\n    var action = _a.action, trigger = _a.trigger, initialState = _a.initialState, arrangedLanes = _a.arrangedLanes, setArrangedItems = _a.setArrangedItems, arrangedItems = _a.arrangedItems, users = _a.users, t = _a.t;\n    return (React.createElement(FormDialog, { trigger: trigger, headerSection: {\n            title: (function () {\n                switch (action) {\n                    case BoardItemDialogAction.Create:\n                        return t[\"add board item\"];\n                    case BoardItemDialogAction.Edit:\n                        return t[\"edit board item\"];\n                }\n            })(),\n        }, sections: [\n            {\n                inputBlocks: [\n                    {\n                        type: EInputBlockType.inlineInputs,\n                        fields: [\n                            {\n                                type: EInlineInputType.text,\n                                title: t[\"title\"],\n                                inputId: \"board-item__title\",\n                                initialValue: getText(t.locale, initialState[\"title\"]),\n                            },\n                        ],\n                    },\n                    {\n                        type: EInputBlockType.inlineInputs,\n                        fields: [\n                            {\n                                type: EInlineInputType.text,\n                                title: t[\"subtitle\"],\n                                inputId: \"board-item__subtitle\",\n                                initialValue: getText(t.locale, initialState[\"subtitle\"]),\n                            },\n                        ],\n                    },\n                    {\n                        type: EInputBlockType.multilineText,\n                        title: t[\"board item body\"],\n                        inputId: \"board-item__body\",\n                        initialValue: getText(t.locale, initialState.body\n                            ? Array.isArray(initialState.body)\n                                ? initialState.body[0]\n                                : initialState.body\n                            : \"\"),\n                    },\n                    {\n                        type: EInputBlockType.dropdown,\n                        title: t[\"board lane\"],\n                        inputId: \"board-item__lane\",\n                        multiple: false,\n                        options: Object.keys(arrangedLanes).map(function (laneKey) { return ({\n                            title: arrangedLanes[laneKey].title,\n                            value: laneKey,\n                        }); }),\n                        initialValue: initialState.lane,\n                    },\n                    {\n                        type: EInputBlockType.dropdown,\n                        title: t[\"board item users\"],\n                        inputId: \"board-item__users\",\n                        multiple: true,\n                        options: Object.keys(users).map(function (userKey) { return ({\n                            title: users[userKey].name,\n                            value: userKey,\n                        }); }),\n                        initialValues: initialState.users,\n                    },\n                ],\n            },\n        ], submit: t[\"save\"], cancel: (function () {\n            switch (action) {\n                case BoardItemDialogAction.Create:\n                    return t[\"discard\"];\n                case BoardItemDialogAction.Edit:\n                    return t[\"cancel\"];\n            }\n        })(), onInteraction: function (_a) {\n            var formState = _a.formState;\n            if (!formState)\n                return;\n            var boardItem = Object.keys(formState).reduce(function (boardItem, inputId) {\n                var _a = inputId.split(\"__\"), _prefix = _a[0], boardItemProperty = _a[1];\n                var value = formState[inputId];\n                if (value)\n                    boardItem[boardItemProperty] = value;\n                return boardItem;\n            }, (function () {\n                switch (action) {\n                    case BoardItemDialogAction.Create:\n                        return {\n                            order: -1,\n                            itemKey: uniqueId(\"nbi\"),\n                        };\n                    case BoardItemDialogAction.Edit:\n                        return cloneDeep(initialState);\n                }\n            })());\n            switch (action) {\n                case BoardItemDialogAction.Create:\n                    arrangedItems[boardItem.lane].push(boardItem);\n                    break;\n                case BoardItemDialogAction.Edit:\n                    var fromPos = arrangedItems[initialState.lane].findIndex(function (laneItem) { return laneItem.itemKey === initialState.itemKey; });\n                    if (boardItem.lane !== initialState.lane) {\n                        arrangedItems[initialState.lane].splice(fromPos, 1);\n                        arrangedItems[boardItem.lane].push(boardItem);\n                    }\n                    else {\n                        arrangedItems[boardItem.lane][fromPos] = boardItem;\n                    }\n            }\n            setArrangedItems(cloneDeep(arrangedItems));\n        } }));\n};\n//# sourceMappingURL=BoardItemDialog.js.map","import { TeamsTheme } from \"../../themes\";\n/**\n * The illustration, text, and actions (if any) to use by default as the content of this component.\n * @public\n */\nexport var CommunicationOptions;\n(function (CommunicationOptions) {\n    CommunicationOptions[\"Default\"] = \"default\";\n    CommunicationOptions[\"Welcome\"] = \"welcome\";\n    CommunicationOptions[\"Hello\"] = \"hello\";\n    CommunicationOptions[\"Empty\"] = \"empty\";\n    CommunicationOptions[\"Error\"] = \"error\";\n    CommunicationOptions[\"Thanks\"] = \"thanks\";\n})(CommunicationOptions || (CommunicationOptions = {}));\n//# sourceMappingURL=CommunicationTypes.js.map","import React from \"react\";\nimport { Flex } from \"@fluentui/react-northstar\";\nexport var Illustration = function (_a) {\n    var option = _a.option;\n    return (React.createElement(Flex, { styles: {\n            width: \"100%\",\n            maxWidth: \"20rem\",\n            height: \"12.5rem\",\n            maxHeight: \"12.5rem\",\n        }, vAlign: \"center\", hAlign: \"center\" }, React.cloneElement(option, {\n        style: { width: \"100%\", height: \"100%\" },\n    })));\n};\n//# sourceMappingURL=Illustration.js.map","var _a;\nimport React from \"react\";\nimport { TeamsTheme } from \"../../../themes\";\nexport var DEFAULT_MESSAGE = {\n    title: \"Primary line of text\",\n    desc: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.\",\n    actions: {\n        primary: {\n            label: \"Primary action\",\n            target: \"primary\",\n        },\n        secondary: {\n            label: \"Secondary action\",\n            target: \"secondary\",\n        },\n        tertiary: {\n            label: \"Tertiary action\",\n            target: \"tertiary\",\n        },\n    },\n};\nexport var DEFAULT_ILLUSTRATIONS = (_a = {},\n    _a[TeamsTheme.Default] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 280 173.2\" },\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M166 126.3l20-93L263.8 50l-20 93z\" }),\n        React.createElement(\"path\", { fill: \"#E66693\", d: \"M175.7 108l14.6-68L257 54.3l-14.7 68z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M166 141.4l34.6-95L280 75.1l-34.6 95.2z\" }),\n        React.createElement(\"path\", { fill: \"#EF9FBB\", d: \"M177.7 124l26-71.3 70 25.5-26 71.3z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M246.8 128.7c.5-4.6 7-6.6 6.5-11.3-.5-4.8-6-6.4-7.4-11.3a22 22 0 01.6-10.7L235.9 81l-2.6 3.8.6-4-17.3 3.6s-2.6 5.6-6.9 8.3-9 1-12.5 4.1-.4 8.4-3.2 12.2c-2.1 3-7.8 1.3-11.6 2.4l-4.6 12.5v.2l70 25.4 4.6-12.8c-2.5-2.7-5.9-5-5.6-8z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M215.7 86.5a17 17 0 00.3 12.7c1.7 3.9 4.8 7 9 8.5h.2a16.2 16.2 0 0020.7-10.2 15 15 0 00-.3-11 13.8 13.8 0 00-7.7-7.4l-4.2-1.6c-2-.7-3.9-.9-5.8-.7-5.3.5-10.2 4.1-12.2 9.7z\" }),\n        React.createElement(\"path\", { fill: \"#FADCBD\", d: \"M218.4 113.6l4-11.1 8 2.8-4 11.1z\" }),\n        React.createElement(\"path\", { fill: \"#FADCBD\", d: \"M224.3 106.8l1.9.7c5.4 2 11.3-.8 13.3-6.2l.6-1.6a9 9 0 00-5.4-11.6l-4.4-1.5a9 9 0 00-11.6 5.3l-.6 1.6c-2 5.4.9 11.3 6.2 13.3z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M215.4 89.6a8 8 0 0013.3-2.2l6.5 2.4a8 8 0 009 10.2c.2-.6-.8-12.3-.8-12.3l-20-7.2s-7.9 8.5-8 9z\" }),\n        React.createElement(\"path\", { fill: \"#E0BB95\", d: \"M228.6 87.4l3.3 1.2a1.8 1.8 0 00-3.3-1.2z\" }),\n        React.createElement(\"radialGradient\", { id: \"a\", cx: \"-7.3\", cy: \"-52.6\", r: \"6.6\", gradientTransform: \"matrix(-.9395 -.3425 .5744 -1.5754 253.3 .5)\", gradientUnits: \"userSpaceOnUse\" },\n            React.createElement(\"stop\", { offset: \"0\", stopColor: \"#9689c1\" }),\n            React.createElement(\"stop\", { offset: \".3\", stopColor: \"#b8afd5\", stopOpacity: \".7\" }),\n            React.createElement(\"stop\", { offset: \"1\", stopColor: \"#fff\", stopOpacity: \"0\" })),\n        React.createElement(\"path\", { fill: \"url(#a)\", d: \"M235.3 79l-3.5 9.6 3.4 1.2a8 8 0 009 10.2c.1-.4-2-5.4.9-12.4l-9.8-8.5z\" }),\n        React.createElement(\"path\", { fill: \"#E0BB95\", d: \"M231.9 88.6l3.3 1.2a1.8 1.8 0 00-3.3-1.2z\" }),\n        React.createElement(\"path\", { fill: \"#8B8CC4\", d: \"M224.6 113.2l-2.7-1a22.2 22.2 0 00-28.5 13.4l-1.4 3.7 44.5 16.2 1.4-3.8a22.2 22.2 0 00-13.3-28.5z\" }),\n        React.createElement(\"path\", { fill: \"#FADCBD\", d: \"M216.1 111c.9 1.9 3.1 3.7 6 4.8 3 1 5.9 1 7.7.2-1.5-1.2-3.3-2-5.2-2.8l-2.7-1c-2-.7-3.9-1-5.8-1.2z\" }),\n        React.createElement(\"path\", { fill: \"#C3C3E1\", d: \"M88.8 0h103.4v133H88.8z\" }),\n        React.createElement(\"path\", { fill: \"#E66693\", d: \"M161.6 11.6H151a1 1 0 00-.8 1.4l5.3 9.2a1 1 0 001.7 0l5.3-9.2a1 1 0 00-.9-1.4z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#E66693\", d: \"M137.5 26.4l-4.9-7.9-14.7 7-1.3-2.7 17.1-8.1 4.9 7.8 14.4-6.8 1.3 2.7z\" })),\n        React.createElement(\"g\", { fill: \"#8B8CC4\" },\n            React.createElement(\"path\", { d: \"M108.1 82.8h64.8v5h-64.8zM108.1 95.6h64.8v5h-64.8zM108.1 108.3h64.8v5h-64.8z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#8B8CC4\", d: \"M177.2 70.4h-69.9v-3h66.9V25.9h3z\" }),\n            React.createElement(\"path\", { fill: \"#8B8CC4\", d: \"M154 29.9h14.2v32H154zM132.8 35.3H147V62h-14.2zM111.6 47.7h14.2v14.2h-14.2z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#F3F2F1\", d: \"M105.1 48l28.2 89.4-96.2 30.2L0 49.8l67.7-21.3z\" }),\n            React.createElement(\"path\", { fill: \"#E1DFDD\", d: \"M105.1 48l-28.4 8.9-9-28.4zM58 84.1l36.7-11.6 1.7 5.4-36.8 11.6zM35.9 106.3l63.2-20 1.7 5.4-63.2 20zM40.3 120l63.2-19.8 1.7 5.3-63.2 20zM44.6 133.9l63.2-20 1.7 5.4-63.2 20zM53.6 70.3l36.8-11.6 1.7 5.4-36.8 11.6z\" }),\n            React.createElement(\"path\", { fill: \"#EF9FBB\", d: \"M46.5 72.6l6 19.2-19.2 6-6-19.1 19.2-6.1\" })))),\n    _a[TeamsTheme.Dark] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 280 173.2\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"path\", { fill: \"#EDEBE9\", d: \"M166 126.3l20-93L263.8 50l-20 93z\" }),\n        React.createElement(\"path\", { fill: \"#E66693\", d: \"M175.6 108l14.7-68 66.6 14.3-14.7 68z\" }),\n        React.createElement(\"path\", { fill: \"#EDEBE9\", d: \"M166 141.4l34.6-95L280 75.2l-34.6 95z\" }),\n        React.createElement(\"path\", { fill: \"#EF9FBB\", d: \"M177.8 124l26-71.3 70 25.4-26 71.4z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M246.8 128.7c.5-4.6 7-6.6 6.5-11.3-.5-4.8-6-6.4-7.4-11.3-1.3-4.8.6-10.7.6-10.7L235.9 81l-2.6 3.8.6-4-17.3 3.6s-2.6 5.6-6.9 8.3-9 1-12.5 4.1-.4 8.4-3.2 12.2c-2.1 3-7.8 1.3-11.6 2.4l-4.6 12.5v.2l70 25.4 4.6-12.8c-2.5-2.7-5.9-5-5.6-8z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M215.7 86.5a17 17 0 00.3 12.7c1.7 3.9 4.8 7 9 8.5h.2a16.2 16.2 0 0020.7-10.2 15 15 0 00-.3-11 13.8 13.8 0 00-7.7-7.4l-4.2-1.6c-2-.7-3.9-.9-5.8-.7-5.3.5-10.2 4.1-12.2 9.7z\" }),\n        React.createElement(\"path\", { fill: \"#8B8CC4\", d: \"M224.6 113.2l-2.7-1a22.2 22.2 0 00-28.5 13.4l-1.4 3.7 44.5 16.2 1.4-3.8a22.2 22.2 0 00-13.3-28.5z\" }),\n        React.createElement(\"path\", { fill: \"#FADCBD\", d: \"M234.7 88.1l-4.4-1.5a9 9 0 00-11.6 5.3l-.6 1.6c-1.5 4.3 0 9 3.4 11.7l-2.3 6.3c-1-.3-2-.4-3-.5.8 1.9 3 3.7 6 4.8 2.9 1 5.8 1 7.6.2-.8-.6-1.7-1.2-2.7-1.7l2.3-6.2c4.4.1 8.5-2.5 10.1-6.8l.6-1.6a9 9 0 00-5.4-11.6z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M215.4 89.6a8 8 0 0013.3-2.2l6.5 2.4a8 8 0 009 10.2c.2-.6-.8-12.3-.8-12.3l-20-7.2s-7.9 8.5-8 9z\" }),\n        React.createElement(\"path\", { fill: \"#E0BB95\", d: \"M228.6 87.4l3.3 1.2a1.8 1.8 0 00-3.3-1.2z\" }),\n        React.createElement(\"radialGradient\", { id: \"a\", cx: \"-768.2\", cy: \"-34.5\", r: \"6.6\", gradientTransform: \"matrix(-.9395 -.3425 .5744 -1.5754 -472 -231.6)\", gradientUnits: \"userSpaceOnUse\" },\n            React.createElement(\"stop\", { offset: \"0\", \"stop-color\": \"#9689c1\" }),\n            React.createElement(\"stop\", { offset: \".3\", \"stop-color\": \"#b8afd5\", stopOpacity: \".7\" }),\n            React.createElement(\"stop\", { offset: \"1\", \"stop-color\": \"#fff\", stopOpacity: \"0\" })),\n        React.createElement(\"path\", { fill: \"url(#a)\", d: \"M235.3 79l-3.5 9.6 3.4 1.2a8 8 0 009 10.2c.1-.4-2-5.4.9-12.4l-9.8-8.5z\" }),\n        React.createElement(\"path\", { fill: \"#E0BB95\", d: \"M231.9 88.6l3.3 1.2a1.8 1.8 0 00-3.3-1.2z\" }),\n        React.createElement(\"path\", { fill: \"#8B8CC7\", d: \"M88.8 0h103.4v133H88.8z\" }),\n        React.createElement(\"path\", { fill: \"#E38BB0\", d: \"M161.6 11.6H151a1 1 0 00-.8 1.4l5.3 9.2a1 1 0 001.7 0l5.3-9.2a1 1 0 00-.9-1.4z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#E38BB0\", d: \"M137.5 26.4l-4.9-7.9-14.7 7-1.3-2.7 17.1-8.1 4.9 7.8 14.4-6.8 1.3 2.7z\" })),\n        React.createElement(\"g\", { fill: \"#6264A7\" },\n            React.createElement(\"path\", { d: \"M108.1 82.8h64.8v5h-64.8zM108.1 95.6h64.8v5h-64.8zM108.1 108.3h64.8v5h-64.8z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#8B8CC4\", d: \"M177.2 70.4h-69.9v-3h66.9V25.9h3z\" }),\n            React.createElement(\"path\", { fill: \"#6264A7\", d: \"M154 29.9h14.2v32H154zM132.8 35.3H147V62h-14.2zM111.6 47.7h14.2v14.2h-14.2z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#EDEBE9\", d: \"M105.1 48l28.2 89.4-96.2 30.2L0 49.8l67.7-21.3z\" }),\n            React.createElement(\"path\", { fill: \"#C8C6C4\", d: \"M105.1 48l-28.4 8.9-9-28.4zM58 84.1l36.8-11.6 1.6 5.4-36.8 11.6zM35.9 106.3l63.2-20 1.7 5.4-63.2 20zM40.3 120l63.2-19.8 1.7 5.3-63.2 20zM44.6 133.9l63.2-20 1.7 5.4-63.2 20zM53.6 70.3l36.8-11.6 1.7 5.4-36.8 11.6z\" }),\n            React.createElement(\"path\", { fill: \"#EF9FBB\", d: \"M46.5 72.6l6 19.2-19.2 6-6-19.1 19.2-6.1\" })))),\n    _a[TeamsTheme.HighContrast] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 281.6 171.8\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"g\", { strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\" },\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", d: \"M166.7 127l20-93 77.7 16.8-20 93z\" }),\n            React.createElement(\"path\", { stroke: \"#FFF\", d: \"M176.4 108.7l14.7-68L257.7 55 243 123z\" })),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M166.8 142.2L201.4 47 280.9 76l-34.6 95z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M178.5 124.9l26-71.4 70 25.4-26 71.5z\" }),\n        React.createElement(\"path\", { d: \"M247.6 129.5c.5-4.7 7-6.6 6.4-11.4s-6-6.4-7.3-11.2a20.4 20.4 0 01.5-10.6v-.2c.6-3.1.3-6.2-.9-9a13.8 13.8 0 00-7.7-7.3l-4.2-1.5c-1.9-.7-3.8-1-5.7-.8-4.7.5-9 3.3-11.4 7.8v.2c-.6 1-3 5.7-6.8 8-4.2 2.7-9 1-12.5 4.2s-.5 8.3-3.3 12.1c-2 3-7.8 1.4-11.6 2.4l-4.5 12.5v.2l69.9 25.4 4.6-12.8c-2.4-2.6-5.8-5-5.5-8z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M225.4 114l-2.8-1a22.2 22.2 0 00-28.4 13.3l-1.4 3.8 44.5 16.2 1.4-3.9a22.2 22.2 0 00-13.3-28.4z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M219.8 92.2l-1 2c-1.3 3.8-.3 8 2.3 10.7.6.7 1 1.8.6 2.7l-.5 1.4a4.2 4.2 0 01-4.3 2.7h0c.8 2 3 3.8 6 4.8 3 1.1 5.8 1 7.7.2 0 0 0 0 0 0a4 4 0 01-1.6-4.7l.5-1.5c.4-1 1.3-1.6 2.3-1.7 3.7-.5 7-3 8.4-6.8l1-2.2\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M219.3 92.5a8 8 0 0010-4.3l6.6 2.3a8 8 0 005 9.8M89.6.8H193v133H89.6z\" }),\n        React.createElement(\"path\", { d: \"M162.4 12.3h-10.6a1 1 0 00-.9 1.5l5.3 9.2a1 1 0 001.7 0l5.3-9.2a1 1 0 00-.8-1.5z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M138.2 27.1l-4.9-7.8-14.7 6.9-1.3-2.7 17.2-8.1 4.9 7.9 14.3-6.8 1.3 2.7z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M108.8 83.6h64.8v5h-64.8zM108.8 96.3h64.8v5h-64.8zM108.8 109.1h64.8v5h-64.8z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M178 71.1h-69.9v-3H175V26.6h3z\" }),\n            React.createElement(\"path\", { d: \"M154.8 30.6H169v32h-14.2zM133.6 36h14.2v26.7h-14.2zM112.3 48.5h14.2v14.2h-14.2z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M105.9 48.7l28.1 89.4-96.1 30.3L.8 50.5l67.7-21.3z\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M105.9 48.7l-28.5 9-8.9-28.5z\" }),\n            React.createElement(\"path\", { d: \"M58.7 85l36.9-11.7 1.6 5.4-36.8 11.6zM36.7 107l63.2-20 1.7 5.4-63.3 20zM41 120.8l63.2-20 1.7 5.4-63.3 20zM45.3 134.6l63.2-20 1.7 5.4L47 140zM54.3 71.1l36.9-11.6 1.6 5.4L56 76.5zM47.2 73.4l6.1 19.2-19.2 6L28 79.4l19.2-6\" })))),\n    _a);\n//# sourceMappingURL=Default.js.map","var _a;\nimport React from \"react\";\nimport { TeamsTheme } from \"../../../themes\";\nexport var EMPTY_MESSAGE = {\n    title: \"You don\\u2019t have any tasks yet\",\n    desc: \"Once you are assigned a task, you can find it here. Until then, enjoy your time off.\",\n};\nexport var EMPTY_ILLUSTRATIONS = (_a = {},\n    _a[TeamsTheme.Default] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 252 182.2\" },\n        React.createElement(\"linearGradient\", { id: \"SVGID_1_\", gradientUnits: \"userSpaceOnUse\", x1: \"136\", y1: \"-3.2\", x2: \"136\", y2: \"68\", gradientTransform: \"matrix(1 0 0 -1 0 184)\" },\n            React.createElement(\"stop\", { offset: \"0\", stopColor: \"#6264a7\" }),\n            React.createElement(\"stop\", { offset: \"1\", stopColor: \"#8b8cc7\" })),\n        React.createElement(\"path\", { d: \"M179.7 182.2H79.2c-4.8 0-8-3.9-7.1-8.7l10-55.3c.9-4.8 5.4-8.7 10.2-8.7h100.5c4.8 0 8 3.9 7.1 8.7l-10 55.3a11 11 0 01-10.2 8.7z\", fill: \"url(#SVGID_1_)\" }),\n        React.createElement(\"path\", { transform: \"rotate(-62.2 200 76.6)\", fill: \"#c8c6c4\", d: \"M156.8 40.6h86.4v72.1h-86.4z\" }),\n        React.createElement(\"path\", { transform: \"rotate(-62.2 203 71)\", fill: \"#edebe9\", d: \"M170.7 39.2h64.7v63.5h-64.7z\" }),\n        React.createElement(\"path\", { d: \"M208.6 47c-4.8-1.5-10.5 1.9-12.7 7.7-1.8 5 2.5 8.7.5 12.8-1.9 4.1-8.1 4.3-8.5 9.6-.4 5.3 2.3 7.3-1.1 13.4l6.4 3.4s0-4.1 2.8-6 9.3-5.3 7.8-10.1c-1.4-4.9 1.5-8.3 3.2-9.4s5-4.7 6.8-8.8c1.9-4.2.1-10.9-5.2-12.6z\", fill: \"#e8d441\" }),\n        React.createElement(\"path\", { d: \"M214.8 62.1c4.5 2.6 4.2 8.7 1.2 12.6-2.5 3.3-7.4 1.9-9.2 4.8-1.8 3 1.3 8.4-2.6 10.5-3.9 2.1-6.7 1.2-8.4 5.5l-5.8-3.1s2.6-1.6 2.1-4.3c-.6-2.7-.7-8.8 3.5-9.7 4.2-1 5.1-4.4 5-6s-.4-5 2.4-8.3c2.8-3.3 8.9-3.6 11.8-2z\", fill: \"#fff\" }),\n        React.createElement(\"path\", { d: \"M194.4 92.1s11.2-19.9 16.6-25\", fill: \"none\", stroke: \"#e8d441\", strokeWidth: \"1.7\", strokeLinecap: \"round\", strokeMiterlimit: \"10\" }),\n        React.createElement(\"path\", { d: \"M201.9 95.5l-16.6-8.8c-.7-.4-1.7.1-1.8 1l-1.4 8.7 13.7 7.2 6.4-6.1c.6-.5.5-1.6-.3-2z\", fill: \"#b3b0ad\" }),\n        React.createElement(\"linearGradient\", { id: \"SVGID_2_\", gradientUnits: \"userSpaceOnUse\", x1: \"89.6\", y1: \"108.9\", x2: \"119.9\", y2: \"120.5\", gradientTransform: \"matrix(1 0 0 -1 0 184)\" },\n            React.createElement(\"stop\", { offset: \"0\", stopColor: \"#e1dfdd\" }),\n            React.createElement(\"stop\", { offset: \".2\", stopColor: \"#eae8e7\" }),\n            React.createElement(\"stop\", { offset: \".6\", stopColor: \"#f6f5f4\" }),\n            React.createElement(\"stop\", { offset: \"1\", stopColor: \"#faf9f8\" })),\n        React.createElement(\"path\", { fill: \"url(#SVGID_2_)\", d: \"M93.3 0l86.8 4.6-5.9 111.8-86.8-4.6z\" }),\n        React.createElement(\"path\", { d: \"M154 23.6c-.3-.5-.9-.8-1.5-.7l-10.1 1.3c-.5.1-1 .4-1.2.9-.2.5-.2 1.1.1 1.6L143 29l-11 7-5.5-6.9-16.3 10.4 2.2 3.4 13.2-8.4 5.5 6.9 14.3-9.1 1.9 2.5c.3.4.7.7 1.2.7h.2c.6-.1 1-.4 1.2-.9L154 25c.3-.5.3-1 0-1.4z\", fill: \"#fae969\" }),\n        React.createElement(\"path\", { fill: \"#e1dfdd\", d: \"M101.5 86.1l.3-4.7 57.7 3 1.8-47.5 4.7.3-2.1 52.2z\" }),\n        React.createElement(\"path\", { fill: \"#e1dfdd\", d: \"M143.9 45.5l12.2.7-1.8 33-12.2-.6zM125.3 51.7l12.2.7-1.4 25.8-12.2-.7zM106.4 62.9l12.2.6-.8 13.7-12.2-.6z\" }),\n        React.createElement(\"path\", { fill: \"#e2e2f6\", d: \"M90.5 42.4l25.8 76.5L34 146.6 0 45.8l57.9-19.5z\" }),\n        React.createElement(\"path\", { fill: \"#bdbde6\", d: \"M90.5 42.4l-24.3 8.2-8.3-24.3z\" }),\n        React.createElement(\"path\", { transform: \"rotate(-18.7 67 71.4)\", fill: \"#c3c3e1\", d: \"M50.4 68.9h33.2v4.9H50.4z\" }),\n        React.createElement(\"path\", { transform: \"rotate(-18.7 59.7 87)\", fill: \"#c3c3e1\", d: \"M31.2 84.6h57v4.9h-57z\" }),\n        React.createElement(\"path\", { transform: \"rotate(-18.7 63.7 98.8)\", fill: \"#c3c3e1\", d: \"M35.1 96.4h57v4.9h-57z\" }),\n        React.createElement(\"path\", { transform: \"rotate(-18.7 63 59.5)\", fill: \"#c3c3e1\", d: \"M46.4 57.1h33.2V62H46.4z\" }),\n        React.createElement(\"path\", { opacity: \".8\", fill: \"#e8d441\", d: \"M40.4 64.6l5.5 16.5-16.4 5.4L24 70.2l16.4-5.6\" }),\n        React.createElement(\"path\", { fill: \"#a6a7dc\", d: \"M179.7 182.2H79.2c-4.8 0-9.3-3.9-10.1-8.6l-9.2-55.2c-.8-4.8 2.4-8.6 7.2-8.6h100.5c4.8 0 9.3 3.9 10.1 8.6l9.2 55.2a7.1 7.1 0 01-7.2 8.6z\" }),\n        React.createElement(\"path\", { fill: \"#a6a7dc\", d: \"M89.2 114.4l-29.1 5.5-2.3-13.8c-.8-4.6 2.3-8.3 6.9-8.3h13.4c4.6 0 8.9 3.7 9.7 8.3l1.4 8.3z\" }))),\n    _a[TeamsTheme.Dark] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 252 182.2\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"path\", { fill: \"#585A96\", d: \"M179.7 182.2H79.2c-4.8 0-8-3.9-7.1-8.7l10-55.3c.9-4.8 5.4-8.7 10.2-8.7h100.5c4.8 0 8 3.9 7.1 8.7l-10 55.3a11 11 0 01-10.2 8.7z\" }),\n        React.createElement(\"path\", { fill: \"#8A8886\", d: \"M148 98l40.2-76.4L252 55l-40.2 76.5z\" }),\n        React.createElement(\"path\", { fill: \"#C8C6C4\", d: \"M159.9 84.8L190 27.5l56.2 29.6-30.1 57.3z\" }),\n        React.createElement(\"path\", { fill: \"#EE8F94\", d: \"M208.6 47c-4.8-1.5-10.5 1.9-12.7 7.7-1.8 5 2.5 8.7.5 12.8-1.9 4.1-8.1 4.3-8.5 9.6-.4 5.3 2.3 7.3-1.1 13.4l6.4 3.4s0-4.1 2.8-6 9.3-5.3 7.8-10.1c-1.4-4.9 1.5-8.3 3.2-9.4s5-4.7 6.8-8.8c1.9-4.2.1-10.9-5.2-12.6z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M214.8 62.1c4.5 2.6 4.2 8.7 1.2 12.6-2.5 3.3-7.4 1.9-9.2 4.8-1.8 3 1.3 8.4-2.6 10.5-3.9 2.1-6.7 1.2-8.4 5.5l-5.8-3.1s2.6-1.6 2.1-4.3c-.6-2.7-.7-8.8 3.5-9.7 4.2-1 5.1-4.4 5-6s-.4-5 2.4-8.3c2.8-3.3 8.9-3.6 11.8-2z\" }),\n        React.createElement(\"path\", { fill: \"#EE8F94\", d: \"M194.4 93c-.1 0-.3 0-.4-.2a.9.9 0 01-.3-1.1c.4-.8 11.3-20 16.7-25.2a.9.9 0 111.2 1.2c-5.3 5-16.3 24.6-16.5 24.8-.1.3-.4.5-.7.5z\" }),\n        React.createElement(\"path\", { fill: \"#979593\", d: \"M201.9 95.5l-16.6-8.8c-.7-.4-1.7.1-1.8 1l-1.4 8.7 13.7 7.2 6.4-6.1c.6-.5.5-1.6-.3-2z\" }),\n        React.createElement(\"path\", { fill: \"#EDEBE9\", d: \"M93.3 0l86.8 4.6-5.9 111.8-86.8-4.6z\" }),\n        React.createElement(\"path\", { fill: \"#F7C6C8\", d: \"M154 23.6c-.3-.5-.9-.8-1.5-.7l-10.1 1.3c-.5.1-1 .4-1.2.9s-.2 1.1.1 1.6L143 29l-11 7-5.5-6.9-16.3 10.4 2.2 3.4 13.2-8.4 5.5 6.9 14.3-9.1 1.9 2.5c.3.4.7.7 1.2.7h.2c.6-.1 1-.4 1.2-.9L154 25c.3-.5.3-1 0-1.4z\" }),\n        React.createElement(\"path\", { fill: \"#C8C6C4\", d: \"M101.5 86.1l.3-4.7 57.7 3 1.8-47.5 4.7.3-2.1 52.2z\" }),\n        React.createElement(\"path\", { fill: \"#C8C6C4\", d: \"M143.9 45.5l12.2.7-1.8 33-12.2-.6zM125.3 51.7l12.2.7-1.4 25.8-12.2-.7zM106.4 62.9l12.2.6-.8 13.7-12.2-.6z\" }),\n        React.createElement(\"path\", { fill: \"#BDBDE6\", d: \"M90.5 42.4l25.8 76.5L34 146.6 0 45.8l57.9-19.5z\" }),\n        React.createElement(\"path\", { fill: \"#BDBDE6\", d: \"M90.5 42.4l-24.3 8.2-8.3-24.3z\" }),\n        React.createElement(\"path\", { fill: \"#A6A7DC\", d: \"M50.5 74.3l31.4-10.6 1.6 4.7L52.1 79zM32 93.8l54-18.2 1.5 4.7-54 18.2zM35.8 105.6l54-18.2 1.6 4.7-54 18.2zM46.5 62.5L77.9 52l1.6 4.7-31.4 10.6z\" }),\n        React.createElement(\"path\", { fill: \"#EE8F94\", d: \"M40.4 64.6l5.5 16.5-16.4 5.4L24 70.2l16.4-5.6\", opacity: \".8\" }),\n        React.createElement(\"path\", { fill: \"#8B8CC7\", d: \"M179.7 182.2H79.2c-4.8 0-9.3-3.9-10.1-8.6l-9.2-55.2c-.8-4.8 2.4-8.6 7.2-8.6h100.5c4.8 0 9.3 3.9 10.1 8.6l9.2 55.2a7.1 7.1 0 01-7.2 8.6z\" }),\n        React.createElement(\"path\", { fill: \"#8B8CC7\", d: \"M89.2 114.4l-29.1 5.5-2.3-13.8c-.8-4.6 2.3-8.3 6.9-8.3h13.4c4.6 0 8.9 3.7 9.7 8.3l1.4 8.3z\" }))),\n    _a[TeamsTheme.HighContrast] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 254 184.2\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M180.7 183.2H80.2c-4.8 0-8-3.9-7.1-8.7l10-55.3c.9-4.8 5.4-8.7 10.2-8.7h100.5c4.8 0 8 3.9 7.1 8.7l-10 55.3a11 11 0 01-10.2 8.7z\" }),\n        React.createElement(\"path\", { d: \"M180.7 184.2H80.2c-2.6 0-4.9-1-6.4-2.9a8.4 8.4 0 01-1.7-7l10-55.3c1-5.3 6-9.5 11.2-9.5h100.5c2.6 0 4.9 1 6.4 2.9a8.4 8.4 0 011.7 7l-10 55.3a12 12 0 01-11.2 9.5zm-87.4-72.7a9.9 9.9 0 00-9.2 7.9l-10 55.3c-.4 2 0 4 1.2 5.3a6.2 6.2 0 004.9 2.2h100.5c4.3 0 8.4-3.5 9.2-7.9l10-55.3c.4-2 0-4-1.2-5.3a6.2 6.2 0 00-4.9-2.2H93.3z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M149 99l40.2-76.5L253 56.1l-40.2 76.5z\" }),\n        React.createElement(\"path\", { d: \"M212.8 133.6a1 1 0 01-.5-.1l-63.8-33.6a1 1 0 01-.4-1.4l40.2-76.4a1 1 0 011.4-.4l63.8 33.6a1 1 0 01.4 1.3l-40.2 76.5a1 1 0 01-1 .5zm-62.5-35l62 32.7 39.4-74.7-62-32.7-39.4 74.7z\" }),\n        React.createElement(\"path\", { d: \"M160.9 85.8L191 28.5l56.2 29.6-30.1 57.2z\" }),\n        React.createElement(\"path\", { d: \"M217 115.9h-.2l-56.2-29.7a.5.5 0 01-.2-.6l30.2-57.3c0-.2.4-.3.6-.2l56.2 29.6c.3.1.4.4.2.7l-30.1 57.2a.5.5 0 01-.4.3zm-55.5-30.3l55.3 29.1 29.7-56.4-55.3-29-29.7 56.3z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M210 47.7c-4.9-1.5-10.6 1.9-12.8 7.7-1.8 5 2.5 8.7.5 12.8-1.9 4-8 4.3-8.5 9.6-.4 5.3 2.3 7.3-1 13.4l6.3 3.4s0-4.1 2.8-6 9.3-5.3 7.8-10.1c-1.4-5 1.5-8.3 3.2-9.4s5-4.7 6.8-8.8c2-4.2.1-11-5.2-12.6z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M216.1 62.8c4.5 2.6 4.2 8.7 1.2 12.6-2.5 3.3-7.4 1.9-9.2 4.8-1.8 3 1.3 8.4-2.6 10.5-3.9 2-6.7 1.2-8.4 5.5l-5.8-3.1s2.6-1.6 2.1-4.3c-.6-2.7-.7-8.8 3.5-9.7 4.2-1 5.1-4.4 5-6s-.4-5 2.4-8.3c2.8-3.3 9-3.6 11.8-2z\" }),\n        React.createElement(\"path\", { d: \"M197.1 97.2a1 1 0 01-.5-.1l-5.8-3.1a1 1 0 010-1.8s2-1.2 1.6-3.2c-.4-2-.7-6 1-8.6a5 5 0 013.3-2.3c3.5-.8 4.3-3.6 4.2-5-.1-1.8-.3-5.4 2.6-9 3-3.5 9.6-4 13-2.2h.1c2 1.2 3.3 3 3.8 5.3.5 2.9-.3 6.3-2.3 8.8-1.5 2-3.6 2.5-5.5 3-1.6.3-3 .7-3.6 1.7-.6 1-.5 2.4-.5 4 .2 2.4.3 5.3-2.5 6.9-1.4.7-2.6 1-3.6 1.4-2.1.7-3.4 1-4.4 3.6a1 1 0 01-.9.6zm-4-4.3l3.5 2c1.4-2.6 3.2-3.2 5.2-3.8 1-.3 2-.7 3.2-1.3 1.7-.9 1.7-2.5 1.5-5 0-1.8-.1-3.6.7-5.1 1.2-1.8 3-2.3 4.9-2.7 1.7-.4 3.3-.8 4.4-2.2a9.3 9.3 0 001.9-7.2c-.3-1.7-1.3-3-2.8-4-2.4-1.3-8-1.1-10.5 1.8-2.5 3-2.3 6-2.2 7.5v.1a7 7 0 01-5.8 7 3 3 0 00-2 1.5c-1.2 2-1.1 5.3-.7 7A5 5 0 01193 93z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M195.7 92.8s11.2-20 16.6-25\" }),\n        React.createElement(\"path\", { d: \"M195.7 93.8a1 1 0 01-.9-1.5c.5-.8 11.4-20 16.8-25.2a1 1 0 111.4 1.4c-5.2 5-16.3 24.6-16.4 24.8a1 1 0 01-.9.5z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M203.2 96.2l-16.6-8.8c-.7-.4-1.7 0-1.8 1l-1.4 8.7 13.7 7.2 6.4-6.1c.6-.5.5-1.6-.3-2z\" }),\n        React.createElement(\"path\", { d: \"M197.1 105.3a1 1 0 01-.5-.1L183 98a1 1 0 01-.5-1l1.4-8.8c.1-.7.6-1.3 1.3-1.7.6-.3 1.4-.3 2 0l16.6 8.8a2.2 2.2 0 01.4 3.7l-6.3 6a1 1 0 01-.7.3zm-12.6-8.8l12.4 6.6 6-5.6v-.2l-.1-.2-16.7-8.8h-.1s-.2 0-.2.2l-1.3 8z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M94.3 1l86.8 4.6-5.9 111.8-86.8-4.6z\" }),\n        React.createElement(\"path\", { d: \"M175.2 118.4l-86.9-4.6a1 1 0 01-.9-1L93.3.8a1 1 0 011-.9l86.9 4.6c.5 0 1 .5.9 1l-5.9 111.9a1 1 0 01-1 .9zm-85.7-6.5l84.8 4.4L180 6.5 95.2 2.1l-5.7 109.8z\" }),\n        React.createElement(\"path\", { d: \"M155 24.6c-.3-.5-.9-.8-1.5-.7l-10.1 1.3c-.5.1-1 .4-1.2.9s-.2 1.1.1 1.6L144 30l-11 7-5.5-6.9-16.3 10.4 2.2 3.4 13.2-8.4 5.5 6.9 14.3-9.1 1.9 2.5c.3.4.7.7 1.2.7h.2c.6-.1 1-.4 1.2-.9L155 26c.3-.5.3-1 0-1.4zM102.5 87.1l.3-4.7 57.7 3 1.8-47.5 4.7.3-2.1 52.2z\" }),\n        React.createElement(\"path\", { d: \"M144.9 46.5l12.2.7-1.8 33-12.2-.6zM126.3 52.7l12.2.7-1.4 25.8-12.2-.7zM107.4 63.9l12.2.6-.8 13.7-12.2-.6z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M91.5 43.4l25.8 76.5L35 147.6 1 46.8l57.9-19.5z\" }),\n        React.createElement(\"path\", { d: \"M35 148.6a1 1 0 01-1-.7L0 47.1A1 1 0 01.8 46l57.9-19.5h.7L92 42.5c.3.1.5.3.5.6l25.8 76.5a1 1 0 01-.6 1.2l-82.3 27.7a1 1 0 01-.3.1zM2.3 47.4l33.3 99 80.4-27.1L90.7 44 58.8 28.4l-56.5 19z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#FFF\", d: \"M91.5 43.4l-24.3 8.2-8.3-24.3z\" }),\n            React.createElement(\"path\", { d: \"M67.2 52.6a1 1 0 01-1-.7L58 27.6a1 1 0 011.3-1.2L92 42.5a1 1 0 010 1.8l-24.4 8.2a1 1 0 01-.3.1zm-6.6-23.3l7.2 21 21-7-28.2-14z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M51.5 75.3l31.4-10.6 1.6 4.7L53.1 80z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M33 94.8l54-18.2 1.5 4.7-54 18.2z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M36.8 106.6l54-18.2 1.6 4.7-54 18.2z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M47.5 63.5L78.9 53l1.6 4.7-31.4 10.6z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { d: \"M41.4 65.6l5.5 16.5-16.4 5.4L25 71.2l16.4-5.6\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#FFF\", d: \"M187.9 174.6l-9.2-55.2c-.8-4.7-5.3-8.6-10.1-8.6H89.4l-.6-3.7c-.8-4.6-5.1-8.3-9.7-8.3H65.7c-4.6 0-7.7 3.7-6.9 8.3l2.3 13.8 9 53.7c.8 4.7 5.3 8.6 10.1 8.6h100.5c4.7 0 8-3.8 7.2-8.6z\" }),\n            React.createElement(\"path\", { d: \"M180.7 184.2H80.2c-5.2 0-10.2-4.2-11-9.4l-9-53.5v-.2l-2.4-13.8a8 8 0 011.7-6.7 8 8 0 016.2-2.8h13.4c5.1 0 9.8 4 10.7 9.1l.5 2.9h78.3c5.2 0 10.2 4.2 11 9.4l9.3 55.2c.4 2.6-.2 5-1.8 7a8.2 8.2 0 01-6.4 2.8zM62 120.5l.1.2 9 53.7a9.6 9.6 0 009.1 7.8h100.5c2 0 3.7-.8 4.9-2.1a6.4 6.4 0 001.3-5.3l-9.2-55.2a9.6 9.6 0 00-9.1-7.8H89.4a1 1 0 01-1-.8l-.6-3.7a9.2 9.2 0 00-8.7-7.5H65.7a6 6 0 00-4.7 2 6.1 6.1 0 00-1.2 5.1l2.2 13.6z\" })))),\n    _a);\n//# sourceMappingURL=Empty.js.map","var _a;\nimport React from \"react\";\nimport { TeamsTheme } from \"../../../themes\";\nexport var ERROR_MESSAGE = {\n    title: \"Something went wrong.\",\n    desc: \"Looks like there is a glitch in our system. You can refresh or start over if that doesn’t seem to fix the issue.\",\n    actions: {\n        primary: {\n            label: \"Refresh\",\n            target: \"refresh\",\n        },\n        tertiary: {\n            label: \"Start over\",\n            target: \"start-over\",\n        },\n    },\n};\nexport var ERROR_ILLUSTRATIONS = (_a = {},\n    _a[TeamsTheme.Default] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 121.6 122.2\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"path\", { fill: \"#C8C6C4\", d: \"M121.6 69.2l-7.3-3.6c.3-3.4 0-6.7-1-9.8l6.2-5.1-6-9.3-7.2 3.5c-2.2-2-4.8-3.7-7.6-5l.1-8-11-1.4-1.9 7.8c-3.4.4-6.6 1.5-9.4 3.1l-6.3-5-7.9 7.7 5 6.3c-1.7 2.8-2.9 6-3.4 9.4l-7.8 1.8 1.2 11h8c1.3 3.2 3 6 5.4 8.4l-3.4 7.3 9.4 5.8 5-6.3a25.6 25.6 0 009 1l3.4 7.3 10.5-3.5-1.7-7.9c2.8-1.8 5.2-4.2 7.1-7l7.9 1.9 3.7-10.4z\" }),\n        React.createElement(\"circle\", { cx: \"89\", cy: \"63.5\", r: \"12.5\", fill: \"#B3B0AD\" }),\n        React.createElement(\"path\", { fill: \"#E1DFDD\", d: \"M53.7 97.6c.1-1.3.2-2.7 0-4l7-3.3-4.6-11-7.3 2.4c-1.7-2-3.8-3.6-6.2-4.8l.6-7.7-11.9-1.6-1.5 7.6c-2.6.5-5 1.5-7.3 3l-6.3-4.3-7.3 9.5 5.7 5a20.2 20.2 0 00-1 7.8l-6.9 3.4 4.6 11 7.2-2.4c1.8 2 3.9 3.6 6.3 4.8l-.6 7.7 11.9 1.5 1.5-7.5c2.6-.5 5-1.6 7.3-3l6.3 4.3 7.3-9.5-5.7-5c.4-1.3.7-2.6.9-4z\" }),\n        React.createElement(\"circle\", { cx: \"33.7\", cy: \"94.9\", r: \"10.2\", fill: \"#C8C6C4\" }),\n        React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M46.8 19.5a23.6 23.6 0 10-15.2 26.3l8 6.7c.8.7 2.2 0 2-1.1l-1.3-11.1c5.2-5.3 8-13 6.5-20.8z\" }),\n        React.createElement(\"circle\", { cx: \"25.8\", cy: \"35.2\", r: \"3\", fill: \"#FFF\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M24.8 29.9c-1.4.2-2.7-.7-2.9-2L19 11.5a2.5 2.5 0 115-.8L26.7 27c.3 1.4-.6 2.7-2 2.9z\" }))),\n    _a[TeamsTheme.Dark] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 121.6 122.2\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"path\", { fill: \"#B3B0AD\", d: \"M121.6 69.2l-7.3-3.6c.3-3.4 0-6.7-1-9.8l6.2-5.1-6-9.3-7.2 3.5c-2.2-2-4.8-3.7-7.6-5l.1-8-11-1.4-1.9 7.8c-3.4.4-6.6 1.5-9.4 3.1l-6.3-5-7.9 7.7 5 6.3c-1.7 2.8-2.9 6-3.4 9.4l-7.8 1.8 1.2 11h8c1.3 3.2 3 6 5.4 8.4l-3.4 7.3 9.4 5.8 5-6.3a25.6 25.6 0 009 1l3.4 7.3 10.5-3.5-1.7-7.9c2.8-1.8 5.2-4.2 7.1-7l7.9 1.9 3.7-10.4z\" }),\n        React.createElement(\"circle\", { cx: \"89\", cy: \"63.5\", r: \"12.5\", fill: \"#979593\" }),\n        React.createElement(\"path\", { fill: \"#8A8886\", d: \"M53.7 97.6c.1-1.3.2-2.7 0-4l7-3.3-4.6-11-7.3 2.4c-1.7-2-3.8-3.6-6.2-4.8l.6-7.7-11.9-1.6-1.5 7.6c-2.6.5-5 1.5-7.3 3l-6.3-4.3-7.3 9.5 5.7 5a20.2 20.2 0 00-1 7.8l-6.9 3.4 4.6 11 7.2-2.4c1.8 2 3.9 3.6 6.3 4.8l-.6 7.7 11.9 1.5 1.5-7.5c2.6-.5 5-1.6 7.3-3l6.3 4.3 7.3-9.5-5.7-5c.4-1.3.7-2.6.9-4z\" }),\n        React.createElement(\"circle\", { cx: \"33.7\", cy: \"94.9\", r: \"10.2\", fill: \"#605E5C\" }),\n        React.createElement(\"path\", { fill: \"#A6A7DC\", d: \"M46.8 19.5a23.6 23.6 0 10-15.2 26.3l8 6.7c.8.7 2.2 0 2-1.1l-1.3-11.1c5.2-5.3 8-13 6.5-20.8z\" }),\n        React.createElement(\"circle\", { cx: \"25.8\", cy: \"35.2\", r: \"3\", fill: \"#E2E2F6\" }),\n        React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M24.8 29.9c-1.4.2-2.7-.7-2.9-2L19 11.5a2.5 2.5 0 115-.8L26.7 27c.3 1.4-.6 2.7-2 2.9z\" }))),\n    _a[TeamsTheme.HighContrast] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 121.6 122.2\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M121.6 69.2l-7.3-3.6c.3-3.4 0-6.7-1-9.8l6.2-5.1-6-9.3-7.2 3.5c-2.2-2-4.8-3.7-7.6-5l.1-8-11-1.4-1.9 7.8c-3.4.4-6.6 1.5-9.4 3.1l-6.3-5-7.9 7.7 5 6.3c-1.7 2.8-2.9 6-3.4 9.4l-7.8 1.8 1.2 11h8c1.3 3.2 3 6 5.4 8.4l-3.4 7.3 9.4 5.8 5-6.3a25.6 25.6 0 009 1l3.4 7.3 10.5-3.5-1.7-7.9c2.8-1.8 5.2-4.2 7.1-7l7.9 1.9 3.7-10.4z\" }),\n        React.createElement(\"circle\", { cx: \"89\", cy: \"63.5\", r: \"12.5\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M53.7 97.6c.1-1.3.2-2.7 0-4l7-3.3-4.6-11-7.3 2.4c-1.7-2-3.8-3.6-6.2-4.8l.6-7.7-11.9-1.6-1.5 7.6c-2.6.5-5 1.5-7.3 3l-6.3-4.3-7.3 9.5 5.7 5a20.2 20.2 0 00-1 7.8l-6.9 3.4 4.6 11 7.2-2.4c1.8 2 3.9 3.6 6.3 4.8l-.6 7.7 11.9 1.5 1.5-7.5c2.6-.5 5-1.6 7.3-3l6.3 4.3 7.3-9.5-5.7-5c.4-1.3.7-2.6.9-4z\" }),\n        React.createElement(\"circle\", { cx: \"33.7\", cy: \"94.9\", r: \"10.2\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M46.8 19.5a23.6 23.6 0 10-15.2 26.3l8 6.7c.8.7 2.2 0 2-1.1l-1.3-11.1c5.2-5.3 8-13 6.5-20.8z\" }),\n        React.createElement(\"circle\", { cx: \"25.8\", cy: \"35.2\", r: \"3\" }),\n        React.createElement(\"path\", { d: \"M24.8 29.9c-1.4.2-2.7-.7-2.9-2L19 11.5a2.5 2.5 0 115-.8L26.7 27c.3 1.4-.6 2.7-2 2.9z\" }))),\n    _a);\n//# sourceMappingURL=Error.js.map","var _a;\nimport React from \"react\";\nimport { TeamsTheme } from \"../../../themes\";\nexport var HELLO_MESSAGE = {\n    title: \"Welcome to your homepage, {{userName}}\",\n    desc: \"This is where you will find all of your boards that organize your photos, files, and tasks across your different teams.\",\n    actions: {\n        primary: {\n            label: \"Create a board\",\n            target: \"create\",\n        },\n        secondary: {\n            label: \"Find an existing board\",\n            target: \"find\",\n        },\n    },\n};\nexport var HELLO_ILLUSTRATIONS = (_a = {},\n    _a[TeamsTheme.Default] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 193 219\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"defs\", null,\n            React.createElement(\"linearGradient\", { id: \"a\", x1: \"44.1%\", x2: \"64.9%\", y1: \"73%\", y2: \"42.5%\" },\n                React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#B3AFAB\" }),\n                React.createElement(\"stop\", { offset: \"2.6%\", stopColor: \"#B8B5B1\" }),\n                React.createElement(\"stop\", { offset: \"17.7%\", stopColor: \"#D2CFCD\" }),\n                React.createElement(\"stop\", { offset: \"33.9%\", stopColor: \"#E6E5E3\" }),\n                React.createElement(\"stop\", { offset: \"51.5%\", stopColor: \"#F4F3F3\" }),\n                React.createElement(\"stop\", { offset: \"71.7%\", stopColor: \"#FCFCFC\" }),\n                React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#FFF\" }))),\n        React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n            React.createElement(\"path\", { fill: \"#8B8CC4\", fillRule: \"nonzero\", d: \"M132.5 49.9l-32.2 9.9-3.1 19.7L144 87z\" }),\n            React.createElement(\"path\", { fill: \"#F3F2F1\", fillRule: \"nonzero\", d: \"M7.4 123.8l22-95.1L164.8 60l-22 95.2z\", opacity: \".5\" }),\n            React.createElement(\"g\", { fillRule: \"nonzero\" },\n                React.createElement(\"path\", { fill: \"#C3F2F4\", d: \"M88.3 76L108.4.7 192.6 23l-20.1 75.5z\" }),\n                React.createElement(\"path\", { fill: \"#FFF\", d: \"M95.7 72l17-64L185 27.3l-17 64z\" }),\n                React.createElement(\"path\", { fill: \"#F8F8FB\", d: \"M95.7 72l17-64L185 27.3l-17 64z\", opacity: \".5\" }),\n                React.createElement(\"path\", { fill: \"#C3F2F4\", d: \"M143.4 23.1l-5.3 2.8a9.4 9.4 0 00-8.2-2.1l-3.9-5.1s-8.1 31.1-12.8 39.7a78.2 78.2 0 00-7.7 22.2L144.2 91c1-3.1 2.4-8.1 2.8-12.4 1.1-11.1-4.9-21.3-6.2-27.7-1.3-6.4 2.6-27.8 2.6-27.8z\" })),\n            React.createElement(\"path\", { fill: \"#C3F2F4\", fillRule: \"nonzero\", d: \"M166.5 30.4c-3.9.1-11.6 3.2-13.2 14.1-.6 3.4.3 7.1 1.4 10.9 2.3 8.6 5.2 19.3-7.3 36.4l5.8 1.5c12.6-18.2 9.4-30.3 7-39.4-.9-3.4-1.7-6.3-1.2-8.5 1.4-9.2 7.8-9.4 7.9-9.5 1.5 0 2.8-1.3 2.7-2.9-.3-1.5-1.6-2.7-3.1-2.6z\" }),\n            React.createElement(\"path\", { d: \"M95.7 72l17-64L185 27.3l-17 64z\" }),\n            React.createElement(\"g\", { transform: \"translate(0 52)\" },\n                React.createElement(\"path\", { fill: \"#E2E2F6\", fillRule: \"nonzero\", d: \"M0 33.7L135 .4l23.4 94.8-135 33.3z\" }),\n                React.createElement(\"path\", { fill: \"url(#a)\", fillRule: \"nonzero\", d: \"M158.4 95.3l-4.8-19.4-46.8-33.2c-1.2-.9-3-.4-3.5 1.1l-27.8 72 82.9-20.5z\" }),\n                React.createElement(\"path\", { fill: \"#FFF\", fillRule: \"nonzero\", d: \"M136.9 95.4L75.8 57.9c-1.5-.9-3.6-.3-4.3 1.3l-27 60.3 92.4-24.1z\" }),\n                React.createElement(\"circle\", { cx: \"45\", cy: \"55.8\", r: \"10.9\", fill: \"#FFF\", fillRule: \"nonzero\" }),\n                React.createElement(\"g\", { fill: \"#28C2D1\", fillRule: \"nonzero\" },\n                    React.createElement(\"path\", { d: \"M34.3 84.5l-2.1 14.4 3.5 1-3.9 1.1-3.3 22.3 32-7.9zM131.5 73.2l-4.5 27.4 25.5-6.3-21-21.1z\" }),\n                    React.createElement(\"path\", { d: \"M51.1 93.4l-8.1 29 28.7-7.1z\" })),\n                React.createElement(\"path\", { d: \"M0 33.7L135 .4l23.4 94.8-135 33.3z\" }),\n                React.createElement(\"path\", { fill: \"#BDBDE6\", fillRule: \"nonzero\", d: \"M127.6 12.6l18.6 75.3-115.4 28.5-18.6-75.3 115.4-28.5M135 .4L0 33.7l23.4 94.9 135-33.3L135 .4z\" })),\n            React.createElement(\"g\", { fillRule: \"nonzero\" },\n                React.createElement(\"path\", { fill: \"#8B8CC7\", d: \"M73.7 176.1c-.6 22 17.4 30.1 17.5 33l.5 9.6 4.7-4.4a9.6 9.6 0 018.7-2.4c13.5 2.9 50.6 7.6 56.6-27.6 2.9-17.2-8.2-36.6-37-42.1-29.7-5.8-50.4 9.2-51 33.9z\" }),\n                React.createElement(\"path\", { fill: \"#FFF\", d: \"M135.2 163.2a8.8 8.8 0 00-2.1-2.2c-.9-.6-1.8-1-2.8-1.3a8.1 8.1 0 00-6 1c-.9.6-1.7 1.3-2.5 2.2a54.3 54.3 0 00-4.2 5.3l-4 5.4-1.1 1.5-2.2 3-.9 1.6-.4 1v.9l.3.9.7.7c.6.4 1.2.6 1.8.5.7-.1 1.2-.5 1.7-1l12.3-16.6.9-.9 1.2-.5h1.2l1.1.5c.3.2.6.5.8.9.2.3.4.7.4 1.1v1.2c-.1.4-.2.8-.5 1.1l-14.2 19.3a7.7 7.7 0 01-4.5 2.8c-.9.2-1.8.1-2.7-.1-.9-.2-1.7-.6-2.4-1.1a6.6 6.6 0 01-1.8-1.9c-.5-.8-.8-1.6-1-2.5-.1-.9-.1-1.8.1-2.7.2-.9.6-1.7 1.1-2.4l9.6-13.7.4-.9v-1l-.3-.9-.7-.7-.9-.4h-1l-.9.4-.7.7-9.6 13.7a11.9 11.9 0 0011.4 18.5c1.5-.3 3-.8 4.3-1.6 1.3-.8 2.5-1.9 3.4-3.1l14.3-19.4c.6-.8 1.1-1.8 1.3-2.8.2-1.1.2-2.1.1-3.2 0-1.4-.4-2.4-1-3.3z\" }))))),\n    _a[TeamsTheme.Dark] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 193 219\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"defs\", null,\n            React.createElement(\"linearGradient\", { id: \"a\", x1: \"44.1%\", x2: \"64.9%\", y1: \"73%\", y2: \"42.5%\" },\n                React.createElement(\"stop\", { offset: \"0%\", stopColor: \"#B3AFAB\" }),\n                React.createElement(\"stop\", { offset: \"2.6%\", stopColor: \"#B8B5B1\" }),\n                React.createElement(\"stop\", { offset: \"17.7%\", stopColor: \"#D2CFCD\" }),\n                React.createElement(\"stop\", { offset: \"33.9%\", stopColor: \"#E6E5E3\" }),\n                React.createElement(\"stop\", { offset: \"51.5%\", stopColor: \"#F4F3F3\" }),\n                React.createElement(\"stop\", { offset: \"71.7%\", stopColor: \"#FCFCFC\" }),\n                React.createElement(\"stop\", { offset: \"100%\", stopColor: \"#FFF\" }))),\n        React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n            React.createElement(\"path\", { fill: \"#8B8CC4\", fillRule: \"nonzero\", d: \"M132.5 49.9l-32.2 9.9-3.1 19.7L144 87z\" }),\n            React.createElement(\"path\", { fill: \"#F3F2F1\", fillRule: \"nonzero\", d: \"M7.4 123.8l22-95.1L164.8 60l-22 95.2z\", opacity: \".5\" }),\n            React.createElement(\"g\", { fillRule: \"nonzero\" },\n                React.createElement(\"path\", { fill: \"#C3F2F4\", d: \"M88.3 76L108.4.7 192.6 23l-20.1 75.5z\" }),\n                React.createElement(\"path\", { fill: \"#FFF\", d: \"M95.7 72l17-64L185 27.3l-17 64z\" }),\n                React.createElement(\"path\", { fill: \"#F8F8FB\", d: \"M95.7 72l17-64L185 27.3l-17 64z\", opacity: \".5\" }),\n                React.createElement(\"path\", { fill: \"#C3F2F4\", d: \"M143.4 23.1l-5.3 2.8a9.4 9.4 0 00-8.2-2.1l-3.9-5.1s-8.1 31.1-12.8 39.7a78.2 78.2 0 00-7.7 22.2L144.2 91c1-3.1 2.4-8.1 2.8-12.4 1.1-11.1-4.9-21.3-6.2-27.7a134 134 0 012.6-27.8z\" })),\n            React.createElement(\"path\", { fill: \"#C3F2F4\", fillRule: \"nonzero\", d: \"M166.5 30.4c-3.9.1-11.6 3.2-13.2 14.1-.6 3.4.3 7.1 1.4 10.9 2.3 8.6 5.2 19.3-7.3 36.4l5.8 1.5c12.6-18.2 9.4-30.3 7-39.4-.9-3.4-1.7-6.3-1.2-8.5 1.4-9.2 7.8-9.4 7.9-9.5 1.5 0 2.8-1.3 2.7-2.9-.3-1.5-1.6-2.7-3.1-2.6z\" }),\n            React.createElement(\"path\", { d: \"M95.7 72l17-64L185 27.3l-17 64z\" }),\n            React.createElement(\"g\", { transform: \"translate(0 52)\" },\n                React.createElement(\"path\", { fill: \"#E2E2F6\", fillRule: \"nonzero\", d: \"M0 33.7L135 .4l23.4 94.8-135 33.3z\" }),\n                React.createElement(\"path\", { fill: \"url(#a)\", fillRule: \"nonzero\", d: \"M158.4 95.3l-4.8-19.4-46.8-33.2c-1.2-.9-3-.4-3.5 1.1l-27.8 72 82.9-20.5z\" }),\n                React.createElement(\"path\", { fill: \"#FFF\", fillRule: \"nonzero\", d: \"M136.9 95.4L75.8 57.9c-1.5-.9-3.6-.3-4.3 1.3l-27 60.3 92.4-24.1z\" }),\n                React.createElement(\"circle\", { cx: \"45\", cy: \"55.8\", r: \"10.9\", fill: \"#FFF\", fillRule: \"nonzero\" }),\n                React.createElement(\"g\", { fill: \"#28C2D1\", fillRule: \"nonzero\" },\n                    React.createElement(\"path\", { d: \"M34.3 84.5l-2.1 14.4 3.5 1-3.9 1.1-3.3 22.3 32-7.9zM131.5 73.2l-4.5 27.4 25.5-6.3-21-21.1z\" }),\n                    React.createElement(\"path\", { d: \"M51.1 93.4l-8.1 29 28.7-7.1z\" })),\n                React.createElement(\"path\", { d: \"M0 33.7L135 .4l23.4 94.8-135 33.3z\" }),\n                React.createElement(\"path\", { fill: \"#BDBDE6\", fillRule: \"nonzero\", d: \"M127.6 12.6l18.6 75.3-115.4 28.5-18.6-75.3 115.4-28.5M135 .4L0 33.7l23.4 94.9 135-33.3L135 .4z\" })),\n            React.createElement(\"g\", { fillRule: \"nonzero\" },\n                React.createElement(\"path\", { fill: \"#8B8CC7\", d: \"M73.7 176.1c-.6 22 17.4 30.1 17.5 33l.5 9.6 4.7-4.4a9.6 9.6 0 018.7-2.4c13.5 2.9 50.6 7.6 56.6-27.6 2.9-17.2-8.2-36.6-37-42.1-29.7-5.8-50.4 9.2-51 33.9z\" }),\n                React.createElement(\"path\", { fill: \"#FFF\", d: \"M135.2 163.2a8.8 8.8 0 00-2.1-2.2c-.9-.6-1.8-1-2.8-1.3a8.1 8.1 0 00-6 1c-.9.6-1.7 1.3-2.5 2.2a54.3 54.3 0 00-4.2 5.3l-4 5.4-1.1 1.5-2.2 3-.9 1.6-.4 1v.9l.3.9.7.7c.6.4 1.2.6 1.8.5.7-.1 1.2-.5 1.7-1l12.3-16.6.9-.9 1.2-.5h1.2l1.1.5c.3.2.6.5.8.9.2.3.4.7.4 1.1v1.2c-.1.4-.2.8-.5 1.1l-14.2 19.3a7.7 7.7 0 01-4.5 2.8c-.9.2-1.8.1-2.7-.1-.9-.2-1.7-.6-2.4-1.1a6.6 6.6 0 01-1.8-1.9c-.5-.8-.8-1.6-1-2.5-.1-.9-.1-1.8.1-2.7.2-.9.6-1.7 1.1-2.4l9.6-13.7.4-.9v-1l-.3-.9-.7-.7-.9-.4h-1l-.9.4-.7.7-9.6 13.7a11.9 11.9 0 0011.4 18.5c1.5-.3 3-.8 4.3-1.6 1.3-.8 2.5-1.9 3.4-3.1l14.3-19.4c.6-.8 1.1-1.8 1.3-2.8.2-1.1.2-2.1.1-3.2 0-1.4-.4-2.4-1-3.3z\" }))))),\n    _a[TeamsTheme.HighContrast] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 195 221\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"g\", { fill: \"none\", fillRule: \"nonzero\" },\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\", d: \"M133.5 50.9l-32.2 9.9-3.1 19.7L145 88z\" }),\n            React.createElement(\"path\", { fill: \"#000\", stroke: \"#FFF\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\", d: \"M8.4 124.8l22-95.1L165.8 61l-22 95.2z\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\", d: \"M89.3 77l20.1-75.4L193.6 24l-20.1 75.5z\" }),\n            React.createElement(\"path\", { fill: \"#000\", d: \"M96.7 73l17-64L186 28.3l-17 64z\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", d: \"M144.4 24.1l-5.3 2.8a9.4 9.4 0 00-8.2-2.1l-3.9-5.1s-8.1 31.1-12.8 39.7a78.2 78.2 0 00-7.7 22.2l39.8 6.7s1.4-5.8 1.7-8.7c1.1-11.1-4.9-21.3-6.2-27.7-1.3-6.4 2.6-27.8 2.6-27.8z\" }),\n            React.createElement(\"g\", { fill: \"#FFF\" },\n                React.createElement(\"path\", { d: \"M156.5 90.8c9.9-16.3 7-27.4 4.7-35.9-.9-3.4-1.7-6.3-1.2-8.5 1.4-9.2 7.8-9.4 7.9-9.5 1.5 0 2.8-1.3 2.7-2.9-.3-1.5-1.6-2.7-3.1-2.6-3.9.1-11.6 3.2-13.2 14.1-.6 3.4.3 7.1 1.4 10.9 2.1 8 4.7 17.6-4.6 32.5l5.4 1.9z\" })),\n            React.createElement(\"g\", { transform: \"translate(1 53)\" },\n                React.createElement(\"path\", { fill: \"#000\", d: \"M12.2 41l115.5-28.4 18.6 75.3-115.5 28.5z\" }),\n                React.createElement(\"path\", { fill: \"#000\", stroke: \"#FFF\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\", d: \"M146.2 87.9l-5.2-21-34.2-24.2c-1.2-.9-3-.4-3.5 1.1L80 104.3l66.2-16.4z\" }),\n                React.createElement(\"path\", { fill: \"#000\", stroke: \"#FFF\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\", d: \"M136.9 95.4L75.8 57.9c-1.5-.9-3.6-.3-4.3 1.3l-27 60.3 92.4-24.1z\" }),\n                React.createElement(\"circle\", { cx: \"43\", cy: \"57.3\", r: \"10.9\", fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\" }),\n                React.createElement(\"g\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\" },\n                    React.createElement(\"path\", { d: \"M34.3 84.5l-2.1 14.4 3.5 1-3.9 1.1-3.3 22.3 32-7.9zM131.5 73.2l-4.5 27.4 25.5-6.3-21-21.1z\" }),\n                    React.createElement(\"path\", { d: \"M51.1 93.4l-8.1 29 28.7-7.1z\" }),\n                    React.createElement(\"path\", { d: \"M135 .4L0 33.7l23.4 94.9 135-33.3L135 .4zM12.2 41.1l115.4-28.5 18.6 75.3-115.4 28.5-18.6-75.3z\" }))),\n            React.createElement(\"g\", null,\n                React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeWidth: \"1.5\", d: \"M74.7 177.1c-.6 22 17.4 30.1 17.5 33l.5 9.6 4.7-4.4a9.6 9.6 0 018.7-2.4c13.5 2.9 50.6 7.6 56.6-27.6 2.9-17.2-8.2-36.6-37-42.1-29.7-5.8-50.4 9.2-51 33.9z\" }),\n                React.createElement(\"path\", { fill: \"#000\", d: \"M136.2 164.2a8.8 8.8 0 00-2.1-2.2c-.9-.6-1.8-1-2.8-1.3a8.1 8.1 0 00-6 1c-.9.6-1.7 1.3-2.5 2.2a54.3 54.3 0 00-4.2 5.3l-4 5.4-1.1 1.5-2.2 3-.9 1.6-.4 1v.9l.3.9.7.7c.6.4 1.2.6 1.8.5.7-.1 1.2-.5 1.7-1l12.3-16.6.9-.9 1.2-.5h1.2l1.1.5c.3.2.6.5.8.9.2.3.4.7.4 1.1v1.2c-.1.4-.2.8-.5 1.1l-14.2 19.3a7.7 7.7 0 01-4.5 2.8c-.9.2-1.8.1-2.7-.1-.9-.2-1.7-.6-2.4-1.1a6.6 6.6 0 01-1.8-1.9c-.5-.8-.8-1.6-1-2.5-.1-.9-.1-1.8.1-2.7.2-.9.6-1.7 1.1-2.4l9.6-13.7.4-.9v-1l-.3-.9-.7-.7-.9-.4h-1l-.9.4-.7.7-9.6 13.7a11.9 11.9 0 0011.4 18.5c1.5-.3 3-.8 4.3-1.6 1.3-.8 2.5-1.9 3.4-3.1l14.3-19.4c.6-.8 1.1-1.8 1.3-2.8.2-1.1.2-2.1.1-3.2 0-1.4-.4-2.4-1-3.3z\" }))))),\n    _a);\n//# sourceMappingURL=Hello.js.map","var _a;\nimport React from \"react\";\nimport { TeamsTheme } from \"../../../themes\";\nexport var THANKS_MESSAGE = {\n    title: \"You’re awesome.\",\n    desc: \"You’ve just completed your weekly goal in record time.\",\n    actions: {\n        primary: {\n            label: \"Start the next challenge\",\n            target: \"start-next\",\n        },\n        secondary: {\n            label: \"Celebrate with your colleagues\",\n            target: \"celebrate\",\n        },\n    },\n};\nexport var THANKS_ILLUSTRATIONS = (_a = {},\n    _a[TeamsTheme.Default] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 119.8 120\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"circle\", { cx: \"61.5\", cy: \"69.7\", r: \"44.1\", fill: \"#EDEBE9\" }),\n        React.createElement(\"radialGradient\", { id: \"a\", cx: \"52.3\", cy: \"-167.6\", r: \"15.5\", gradientTransform: \"scale(1 -1) rotate(-3.1 2614 136.3)\", gradientUnits: \"userSpaceOnUse\" },\n            React.createElement(\"stop\", { offset: \"0\", stopColor: \"#9b643d\" }),\n            React.createElement(\"stop\", { offset: \".4\", stopColor: \"#bf916b\" }),\n            React.createElement(\"stop\", { offset: \".8\", stopColor: \"#d7b089\" }),\n            React.createElement(\"stop\", { offset: \"1\", stopColor: \"#e0bb95\" })),\n        React.createElement(\"path\", { fill: \"url(#a)\", d: \"M62.1 30c-2.2-1.9-.3-6-3.3-10.5l-6.4.9-7-2.6-2.8 18s.8.3 6.3 3.7c2.6 1.7 5 1.7 6.8 1.8.8 0 21.7 12.1 21.7 12.1L86 41s-23.4-10.4-24-11z\" }),\n        React.createElement(\"g\", { fill: \"#E0BB95\" },\n            React.createElement(\"path\", { d: \"M58.8 19.5c-3.4-5.3-4.5-5.2-4-8.7.6-3.5-3.3-4-4.1-.1a13 13 0 001.7 9.7s-3 5.5.6 10.1c4 5 6.4 5.5 6.4 5.5s1.8-12.7-.6-16.5z\" }),\n            React.createElement(\"path\", { d: \"M48.4 25l-4.3-2c-1.7-.8-2.6-2.7-2-4 .6-1.5 2.5-1.8 4.1-.8l4 2.2a3 3 0 011.4 3.7c-.3.9-1.9 1.6-3.2 1z\" }),\n            React.createElement(\"path\", { d: \"M46.8 29.3l-5-2c-1.7-.7-2.7-2.4-2.1-3.8.6-1.4 2.4-1.8 4-1l4.8 2.5c1.3.6 1.9 2 1.4 3.2-.5 1.1-1.8 1.6-3.1 1.1z\" }),\n            React.createElement(\"path\", { d: \"M46 33.3l-4-1c-1.6-.4-3-1.9-2.3-3.6.5-1.4 1.5-1.8 3.9-.9l4.9 1.7c.3 0 1 1.3.6 2.4-.4 1.1-1.7 1.8-3 1.4z\" }),\n            React.createElement(\"path\", { d: \"M44.4 37l-1.7-.3c-1.5-.3-2.5-1.6-2.3-2.8.3-1.3 1.8-2 3.3-1.5l2.9 1c1.2.3 2 1.5 1.7 2.5-.3 1.4-1.4 1.6-4 1.2z\" })),\n        React.createElement(\"path\", { fill: \"#E8D441\", d: \"M71.5 54.6l34 18.8a44.5 44.5 0 00-7.1-28l-23.7-9.6-3.2 18.8z\" }),\n        React.createElement(\"radialGradient\", { id: \"b\", cx: \"23.8\", cy: \"-9.4\", r: \"12.7\", gradientTransform: \"rotate(3.1 -939.8 -233)\", gradientUnits: \"userSpaceOnUse\" },\n            React.createElement(\"stop\", { offset: \"0\", stopColor: \"#9b643d\" }),\n            React.createElement(\"stop\", { offset: \".4\", stopColor: \"#af7c55\" }),\n            React.createElement(\"stop\", { offset: \".7\", stopColor: \"#bb8a63\" }),\n            React.createElement(\"stop\", { offset: \"1\", stopColor: \"#bf8f68\" })),\n        React.createElement(\"path\", { fill: \"url(#b)\", d: \"M32.5 45.7c-3-2.5-.4-8.3-4.6-14.4L19 32.5 10 29 5.5 53.8s1-.4 8.8 4C18 60 22.7 60 25 60.2c1.1.1 7.4 3.7 13 7 5.5-3.3 7.6-7.8 9.5-14.1-6.2-2.9-14.4-6.6-15.1-7.3z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M38.1 48.6l-2.5 24.2L90.4 103c8.1-7 13.6-16.9 15-28.1L38 48.6z\" }),\n        React.createElement(\"g\", { fill: \"#BF8F68\" },\n            React.createElement(\"path\", { d: \"M28 31.3c-4.8-7.3-5.6-7.4-5.5-12 .1-4.7-4.9-5-5.8-.1-1.3 6 1.6 12 2.9 13.4 0 0-4.5 7.6.4 14 5.3 6.8 8.8 7.4 8.8 7.4s2.5-17.5-.9-22.7z\" }),\n            React.createElement(\"path\", { d: \"M13.8 38.5L8.2 36c-2.2-1.1-3.5-3.6-2.7-5.5.8-1.8 3.3-2.2 5.4-.9l5.3 2.9c1.9.9 2.6 3.1 1.9 5-.5 1-2.5 2-4.3 1.1z\" }),\n            React.createElement(\"path\", { d: \"M11.6 44.2L5 41.4c-2.2-.9-3.5-3-2.7-4.9.8-1.8 3.2-2.4 5.3-1.3l6.4 3.3c1.7.8 2.4 2.7 1.8 4.2-.6 1.5-2.5 2.1-4.2 1.5z\" }),\n            React.createElement(\"path\", { d: \"M10.8 49.4l-5.4-1.2c-2-.6-4-2.6-3.1-4.9.7-1.8 2-2.3 5.2-1.1l6.4 2.1c.5.2 1.3 1.8.8 3.3-.5 1.4-2.3 2.3-4 1.8z\" }),\n            React.createElement(\"path\", { d: \"M8.5 54.4L6.3 54c-2-.5-3.4-2.2-3-3.8.4-1.6 2.3-2.5 4.3-2l3.8 1.3c1.6.4 2.7 2 2.3 3.4-.5 1.8-1.8 2-5.2 1.5z\" })),\n        React.createElement(\"g\", null,\n            React.createElement(\"linearGradient\", { id: \"c\", x1: \"39\", x2: \"48.2\", y1: \"52.8\", y2: \"58.8\", gradientTransform: \"rotate(3.1 -535.4 -222)\", gradientUnits: \"userSpaceOnUse\" },\n                React.createElement(\"stop\", { offset: \"0\", stopColor: \"#e0ad95\" }),\n                React.createElement(\"stop\", { offset: \".3\", stopColor: \"#ecc1a4\" }),\n                React.createElement(\"stop\", { offset: \".7\", stopColor: \"#f6d2b0\" }),\n                React.createElement(\"stop\", { offset: \"1\", stopColor: \"#fad8b4\" })),\n            React.createElement(\"path\", { fill: \"url(#c)\", d: \"M66.6 101.5s-26.5-11.1-27-11.6c-2.4-2-.4-6.4-3.6-11L30.3 82l-6.7-4.8-2.7 19s.8.2 6.6 3.8c2.7 1.7 5.3 1.8 7.1 1.9l16.6 9.1c9.9 5.5 15.4-9.5 15.4-9.5z\" }),\n            React.createElement(\"path\", { fill: \"#A6A7DC\", d: \"M45.3 110.7a44 44 0 0038.1-2.7L48.2 93.7l-2.9 17z\" }),\n            React.createElement(\"g\", { fill: \"#FAD8B4\" },\n                React.createElement(\"path\", { d: \"M36 78.9c-3.6-5.6-4.5-5.5-4.1-9.2.3-3.5-3.5-4.3-4.4-.1-1 4.6.8 9 1.8 10.2 0 0-3 5.8.7 10.7 4 5.2 6.7 5.7 6.7 5.7s4-10.7-.7-17.3z\" }),\n                React.createElement(\"path\", { d: \"M25.5 83.9l-4.6-2c-1.8-.7-2.9-2.7-2.3-4.2.5-1.5 2.5-1.8 4.2-.9l4.3 2.1c1.6.7 2.2 2.4 1.7 3.9-.3.9-1.9 1.7-3.3 1z\" }),\n                React.createElement(\"path\", { d: \"M24 88.4l-5.4-1.9c-1.8-.6-2.9-2.4-2.4-3.8.6-1.5 2.5-2 4.2-1.3l5.2 2.4c1.4.6 2 2 1.6 3.3-.4 1.2-1.9 1.8-3.3 1.3z\" }),\n                React.createElement(\"path\", { d: \"M23.4 92.7l-4.3-.8c-1.7-.4-3.3-2-2.6-3.8.5-1.4 1.5-1.9 4-1.1l5.2 1.5c.4 0 1.2 1.4.8 2.5-.4 1.2-1.7 2-3 1.7z\" }),\n                React.createElement(\"path\", { d: \"M21.6 96.7l-1.8-.4c-1.5-.5-2.5-1.9-2.2-3.2.4-1.3 2-1.9 3.5-1.3l3 1.1c1.3.4 2 1.8 1.7 2.8-.5 1.5-1.6 1.6-4.2 1z\" }))),\n        React.createElement(\"path\", { fill: \"#FFFACF\", d: \"M31.2 11.3a6.2 6.2 0 01-2.1 3c-.2.1-.2.4 0 .5 1 .9 1.7 2 2.1 3.2.1.4.5.4.6 0a7.4 7.4 0 012.2-3.2c.2-.1.1-.4 0-.5-1-.7-1.8-1.8-2.2-3a.3.3 0 00-.6 0z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#FFFACF\", d: \"M40.4 0c-.8 0-1.4.5-1.7 1.2-.3 1-1 2-1.9 2.6a1.7 1.7 0 000 2.7c.8.8 1.5 1.8 1.9 3 .2.7 1 1.2 1.7 1.2s1.4-.5 1.6-1.2c.4-1.2 1-2.2 2-3a1.7 1.7 0 00-.1-2.7A5.5 5.5 0 0142 1.2C41.8.5 41.1 0 40.4 0z\", opacity: \".5\" }),\n            React.createElement(\"path\", { fill: \"#FAE969\", d: \"M40.4 1.4c.1 0 .3 0 .3.2A6.9 6.9 0 0043.1 5c.2.2.2.4 0 .6-1 1-2 2.1-2.4 3.5 0 .2-.2.3-.3.3-.2 0-.3 0-.4-.3a8.2 8.2 0 00-2.4-3.5.4.4 0 010-.6c1.2-.8 2-2 2.4-3.3l.4-.2\" })),\n        React.createElement(\"path\", { fill: \"#FFFACF\", d: \"M4.9 64.2a7.3 7.3 0 01-2.5 3.5c-.2.1-.2.4 0 .6 1 1 2 2.3 2.4 3.7.2.4.7.4.8 0A8.6 8.6 0 018 68.3c.2-.2.2-.5 0-.6-1.2-.9-2-2-2.5-3.5a.4.4 0 00-.7 0z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M101.2 87h-.1a.8.8 0 01-.6-1 86.4 86.4 0 0114-34.8.8.8 0 011.2 1s-9.5 12.1-13.7 34.1c0 .4-.4.6-.8.6z\" }),\n            React.createElement(\"circle\", { cx: \"117.7\", cy: \"47.9\", r: \"2.1\", fill: \"#E2E2F6\" }),\n            React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M95.2 101.5H95a.5.5 0 01-.3-.7c1.9-8.8 10.5-18.8 10.8-19.2a.5.5 0 11.8.6c0 .1-8.8 10.3-10.6 18.9-.1.2-.3.4-.5.4z\" }),\n            React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M100.9 74.5c3.6-4.4 10.2-8.3 14.5-5.3 6.5 4.7-1.6 17.2-3 19a25 25 0 01-10.1 8.3c-3.2 1.1-5.3.6-7-1-4.3-5.4 2-16.7 5.6-21zM88.5 80c3 5.2 3.4 10 3.2 12.8-.2 2.3-2.2 4.5-4.5 4.6-4.8 0-9.5-2.8-13.8-7.4a21.6 21.6 0 01-6.3-13.6 7.7 7.7 0 016.7-7.5c5-.9 10.6 4 14.7 11z\" }),\n            React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M84.7 60c-2.9 28.5 4.6 32.4 7.6 32.7C98 93.2 104 82 106.7 63s-8.4-19.7-8.4-19.7c-6.5-1.6-12.5 5.2-13.6 16.7z\" }),\n            React.createElement(\"path\", { fill: \"#BDBDE6\", d: \"M84.7 60c-2.9 28.5 4.6 32.4 7.6 32.7C98 93.2 104 82 106.7 63s-8.4-19.7-8.4-19.7c-6.5-1.6-12.5 5.2-13.6 16.7z\", opacity: \".5\" }),\n            React.createElement(\"path\", { fill: \"#A6A7DC\", d: \"M90.8 101.5a.5.5 0 01-.5-.3c-3.4-8.1-7-12.6-10.7-17.4l-.3-.4a.5.5 0 01.8-.6l.3.4c3.8 4.8 7.3 9.4 10.9 17.6a.5.5 0 01-.5.7z\" }),\n            React.createElement(\"path\", { fill: \"#BDBDE6\", d: \"M88.5 80c3 5.2 3.4 10 3.2 12.8-.2 2.3-2.2 4.5-4.5 4.6-4.8 0-9.5-2.8-13.8-7.4a21.6 21.6 0 01-6.3-13.6 7.7 7.7 0 016.7-7.5c5-.9 10.6 4 14.7 11z\", opacity: \".5\" }),\n            React.createElement(\"path\", { fill: \"#6264A7\", d: \"M84 73.9c.5 14.8 5.1 18.1 7.7 18.7.2-2.8-.2-7.5-3.2-12.7a33.6 33.6 0 00-4.4-6z\", opacity: \".1\" }),\n            React.createElement(\"g\", null,\n                React.createElement(\"path\", { fill: \"#A6A7DC\", d: \"M92.9 99.4a.5.5 0 01-.5-.5c-1-19.1 2.3-38.5 2.4-38.7 0-.3.3-.5.6-.4.2 0 .4.3.4.6 0 .2-3.3 19.4-2.4 38.5 0 .2-.2.5-.5.5z\" })),\n            React.createElement(\"g\", null,\n                React.createElement(\"path\", { fill: \"#C8C6C4\", d: \"M103.7 120a5 5 0 003.4-4.7l-4.3-16c0-.2-.3-.4-.6-.4h-19c-.3 0-.5.2-.6.5l-4.3 16a5 5 0 003.4 4.6h22z\" }))))),\n    _a[TeamsTheme.Dark] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 117.7 120\" },\n        React.createElement(\"defs\", null),\n        React.createElement(\"circle\", { cx: \"59.5\", cy: \"69.7\", r: \"44.1\", fill: \"#BDBDE6\", opacity: \".5\" }),\n        React.createElement(\"radialGradient\", { id: \"a\", cx: \"50.1\", cy: \"-162.3\", r: \"15.5\", gradientTransform: \"scale(1 -1) rotate(-3.1 2514.6 136.3)\", gradientUnits: \"userSpaceOnUse\" },\n            React.createElement(\"stop\", { offset: \"0\", stopColor: \"#9b643d\" }),\n            React.createElement(\"stop\", { offset: \".4\", stopColor: \"#bf916b\" }),\n            React.createElement(\"stop\", { offset: \".8\", stopColor: \"#d7b089\" }),\n            React.createElement(\"stop\", { offset: \"1\", stopColor: \"#e0bb95\" })),\n        React.createElement(\"path\", { fill: \"url(#a)\", d: \"M60 30c-2.2-1.9-.2-6-3.3-10.5l-6.4.9-7-2.6-2.7 18s.8.3 6.2 3.7c2.6 1.7 5.1 1.7 6.9 1.8.8 0 21.6 12.1 21.6 12.1L84.1 41S60.6 30.5 60 30z\" }),\n        React.createElement(\"g\", { fill: \"#E0BB95\" },\n            React.createElement(\"path\", { d: \"M56.7 19.5c-3.4-5.3-4.4-5.2-3.9-8.7.5-3.5-3.3-4-4.2-.1a13 13 0 001.7 9.7s-2.9 5.5.7 10.1c3.9 5 6.4 5.5 6.4 5.5s1.8-12.7-.7-16.5z\" }),\n            React.createElement(\"path\", { d: \"M46.4 25L42 23c-1.7-.8-2.6-2.7-2-4 .6-1.5 2.4-1.8 4-.8l4 2.2a3 3 0 011.5 3.7c-.4.9-2 1.6-3.2 1z\" }),\n            React.createElement(\"path\", { d: \"M44.7 29.3l-5-2c-1.7-.7-2.6-2.4-2-3.8.5-1.4 2.3-1.8 4-1l4.8 2.5c1.2.6 1.8 2 1.4 3.2-.5 1.1-1.9 1.6-3.2 1.1z\" }),\n            React.createElement(\"path\", { d: \"M44 33.3l-4-1c-1.6-.4-3-1.9-2.4-3.6.6-1.4 1.5-1.8 4-.9l4.8 1.7c.4 0 1 1.3.6 2.4-.4 1.1-1.7 1.8-3 1.4z\" }),\n            React.createElement(\"path\", { d: \"M42.3 37l-1.6-.3c-1.5-.3-2.6-1.6-2.3-2.8.3-1.3 1.7-2 3.2-1.5l3 1c1.2.3 2 1.5 1.7 2.5-.4 1.4-1.4 1.6-4 1.2z\" })),\n        React.createElement(\"path\", { fill: \"#E8D441\", d: \"M69.4 54.6l34 18.8a44.5 44.5 0 00-7-28l-23.8-9.6-3.2 18.8z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"radialGradient\", { id: \"b\", cx: \"21.6\", cy: \"-18.3\", r: \"12.7\", gradientTransform: \"rotate(3.1 -1104.2 -234.7)\", gradientUnits: \"userSpaceOnUse\" },\n                React.createElement(\"stop\", { offset: \"0\", stopColor: \"#9b643d\" }),\n                React.createElement(\"stop\", { offset: \".4\", stopColor: \"#af7c55\" }),\n                React.createElement(\"stop\", { offset: \".7\", stopColor: \"#bb8a63\" }),\n                React.createElement(\"stop\", { offset: \"1\", stopColor: \"#bf8f68\" })),\n            React.createElement(\"path\", { fill: \"url(#b)\", d: \"M30.4 45.7c-3-2.5-.4-8.3-4.5-14.4l-9 1.2L8 29 3.6 53.8s1-.4 8.7 4C16 60 20.7 60 23.1 60.2c1 .1 7.4 3.7 13 7 5.5-3.3 7.5-7.8 9.5-14.1-6.2-2.9-14.4-6.6-15.2-7.3z\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", d: \"M36 48.6l-2.4 24.2L88.4 103c8-7 13.6-16.9 14.9-28.1L36 48.6z\" }),\n            React.createElement(\"g\", { fill: \"#BF8F68\" },\n                React.createElement(\"path\", { d: \"M25.9 31.3c-4.7-7.3-5.6-7.4-5.5-12 .2-4.7-4.8-5-5.8-.1-1.3 6 1.7 12 3 13.4 0 0-4.6 7.6.3 14 5.4 6.8 8.8 7.4 8.8 7.4s2.5-17.5-.8-22.7z\" }),\n                React.createElement(\"path\", { d: \"M11.8 38.5L6 36c-2.2-1.1-3.4-3.6-2.6-5.5.7-1.8 3.2-2.2 5.3-.9l5.3 2.9c2 .9 2.7 3.1 2 5-.5 1-2.6 2-4.3 1.1z\" }),\n                React.createElement(\"path\", { d: \"M9.6 44.2l-6.7-2.8c-2.2-.9-3.4-3-2.7-4.9.8-1.8 3.2-2.4 5.3-1.3l6.4 3.3c1.7.8 2.5 2.7 1.9 4.2-.7 1.5-2.5 2.1-4.2 1.5z\" }),\n                React.createElement(\"path\", { d: \"M8.7 49.4l-5.4-1.2c-2-.6-4-2.6-3-4.9.7-1.8 2-2.3 5.1-1.1l6.4 2.1c.5.2 1.4 1.8.8 3.3-.5 1.4-2.2 2.3-3.9 1.8z\" }),\n                React.createElement(\"path\", { d: \"M6.4 54.4L4.3 54c-2-.5-3.4-2.2-3-3.8.3-1.6 2.3-2.5 4.2-2l3.9 1.3c1.6.4 2.6 2 2.3 3.4-.5 1.8-1.9 2-5.3 1.5z\" }))),\n        React.createElement(\"g\", null,\n            React.createElement(\"linearGradient\", { id: \"c\", x1: \"36.4\", x2: \"45.4\", y1: \"43.7\", y2: \"49.6\", gradientTransform: \"rotate(3.1 -699.9 -223.7)\", gradientUnits: \"userSpaceOnUse\" },\n                React.createElement(\"stop\", { offset: \"0\", stopColor: \"#e0ad95\" }),\n                React.createElement(\"stop\", { offset: \".1\", stopColor: \"#e3b198\" }),\n                React.createElement(\"stop\", { offset: \".7\", stopColor: \"#f4cdac\" }),\n                React.createElement(\"stop\", { offset: \"1\", stopColor: \"#fad8b4\" })),\n            React.createElement(\"path\", { fill: \"url(#c)\", d: \"M64.6 101.5S38 90.4 37.5 89.9c-2.4-2-.3-6.4-3.5-11L28.3 82l-6.7-4.8-2.8 19s.9.2 6.6 3.8c2.7 1.7 5.4 1.8 7.2 1.9.4 0 19.2 10.6 19.2 10.6l12.8-11z\" }),\n            React.createElement(\"path\", { fill: \"#A6A7DC\", d: \"M43.3 110.7a44 44 0 0038-2.7L46.1 93.7l-2.8 17z\" }),\n            React.createElement(\"g\", { fill: \"#FAD8B4\" },\n                React.createElement(\"path\", { d: \"M34 78.9c-3.6-5.6-4.6-5.5-4.2-9.2.4-3.5-3.5-4.3-4.4-.1-1 4.6.8 9 1.8 10.2 0 0-3 5.8.7 10.7 4.1 5.2 6.7 5.7 6.7 5.7s4-10.7-.6-17.3z\" }),\n                React.createElement(\"path\", { d: \"M23.5 83.9l-4.7-2c-1.8-.7-2.8-2.7-2.3-4.2.6-1.5 2.5-1.8 4.3-.9L25 79c1.5.7 2.2 2.4 1.7 3.9-.4.9-2 1.7-3.3 1z\" }),\n                React.createElement(\"path\", { d: \"M21.9 88.4l-5.4-1.9c-1.8-.6-2.9-2.4-2.3-3.8.5-1.5 2.4-2 4.2-1.3l5.2 2.4c1.3.6 2 2 1.6 3.3-.5 1.2-2 1.8-3.3 1.3z\" }),\n                React.createElement(\"path\", { d: \"M21.4 92.7l-4.4-.8c-1.6-.4-3.2-2-2.6-3.8.5-1.4 1.5-1.9 4.1-1.1l5.2 1.5c.4 0 1.1 1.4.8 2.5-.4 1.2-1.8 2-3.1 1.7z\" }),\n                React.createElement(\"path\", { d: \"M19.5 96.7l-1.7-.4c-1.6-.5-2.6-1.9-2.2-3.2.3-1.3 2-1.9 3.5-1.3l3 1.1c1.2.4 2 1.8 1.7 2.8-.5 1.5-1.6 1.6-4.3 1z\" }))),\n        React.createElement(\"path\", { fill: \"#FFFACF\", d: \"M29.2 11.3a6.2 6.2 0 01-2.2 3v.5c1 .9 1.7 2 2.2 3.2 0 .4.5.4.6 0a7.4 7.4 0 012.1-3.2c.2-.1.2-.4 0-.5-1-.7-1.7-1.8-2.1-3a.3.3 0 00-.6 0z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"#FFFACF\", d: \"M38.3 0c-.7 0-1.4.5-1.6 1.2-.4 1-1 2-2 2.6a1.7 1.7 0 000 2.7c.9.8 1.6 1.8 2 3 .2.7.9 1.2 1.6 1.2.8 0 1.4-.5 1.7-1.2.4-1.2 1-2.2 2-3a1.7 1.7 0 00-.1-2.7 5.5 5.5 0 01-2-2.6C39.8.5 39.2 0 38.4 0z\", opacity: \".5\" }),\n            React.createElement(\"path\", { fill: \"#FAE969\", d: \"M38.3 1.4c.2 0 .3 0 .4.2A6.9 6.9 0 0041 5c.2.2.2.4 0 .6-1 1-1.9 2.1-2.3 3.5 0 .2-.2.3-.4.3-.1 0-.3 0-.3-.3a8.2 8.2 0 00-2.4-3.5.4.4 0 010-.6c1.1-.8 2-2 2.4-3.3l.3-.2\" })),\n        React.createElement(\"path\", { fill: \"#FFFACF\", d: \"M2.8 64.2a7.3 7.3 0 01-2.5 3.5c-.2.1-.2.4 0 .6 1.1 1 2 2.3 2.5 3.7.1.4.6.4.7 0A8.6 8.6 0 016 68.3c.2-.2.2-.5 0-.6-1.1-.9-2-2-2.5-3.5a.4.4 0 00-.7 0z\" }),\n        React.createElement(\"g\", null,\n            React.createElement(\"path\", { fill: \"none\", stroke: \"#8B8CC7\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", strokeWidth: \"1.5\", d: \"M113 51.7s-9.5 12-13.8 34.5\" }),\n            React.createElement(\"circle\", { cx: \"115.6\", cy: \"47.9\", r: \"2.1\", fill: \"#8B8CC7\" }),\n            React.createElement(\"path\", { fill: \"none\", stroke: \"#8B8CC7\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", d: \"M103.9 82S95 92.1 93 101\" }),\n            React.createElement(\"path\", { fill: \"#8B8CC7\", d: \"M98.8 74.5c3.6-4.4 10.3-8.3 14.6-5.3 6.4 4.7-1.7 17.2-3 19a25 25 0 01-10.2 8.3c-3.2 1.1-5.3.6-7-1-4.3-5.4 2-16.7 5.6-21z\" }),\n            React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M86.4 80c3 5.2 3.4 10 3.2 12.8-.2 2.3-2.1 4.5-4.5 4.6-4.7 0-9.5-2.8-13.7-7.4A21.6 21.6 0 0165 76.4a7.7 7.7 0 016.6-7.5c5-.9 10.7 4 14.7 11z\" }),\n            React.createElement(\"path\", { fill: \"#E2E2F6\", d: \"M82.6 60c-2.8 28.5 4.7 32.4 7.6 32.7 5.9.5 11.8-10.7 14.5-29.7s-8.4-19.7-8.4-19.7c-6.6-1.6-12.5 5.2-13.7 16.7z\" }),\n            React.createElement(\"path\", { fill: \"#BDBDE6\", d: \"M82.6 60c-2.8 28.5 4.7 32.4 7.6 32.7 5.9.5 11.8-10.7 14.5-29.7s-8.4-19.7-8.4-19.7c-6.6-1.6-12.5 5.2-13.7 16.7z\", opacity: \".5\" }),\n            React.createElement(\"path\", { fill: \"none\", stroke: \"#A6A7DC\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", d: \"M77.6 83c3.9 5 7.5 9.6 11.2 18\" }),\n            React.createElement(\"path\", { fill: \"#BDBDE6\", d: \"M86.4 80c3 5.2 3.4 10 3.2 12.8-.2 2.3-2.1 4.5-4.5 4.6-4.7 0-9.5-2.8-13.7-7.4A21.6 21.6 0 0165 76.4a7.7 7.7 0 016.6-7.5c5-.9 10.7 4 14.7 11z\", opacity: \".5\" }),\n            React.createElement(\"path\", { fill: \"#6264A7\", d: \"M82 73.9c.5 14.8 5 18.1 7.6 18.7.2-2.8-.2-7.5-3.2-12.7a33.6 33.6 0 00-4.4-6z\", opacity: \".1\" }),\n            React.createElement(\"path\", { fill: \"none\", stroke: \"#A6A7DC\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", d: \"M90.8 98.9c-1-19.3 2.4-38.6 2.4-38.6\" }),\n            React.createElement(\"g\", null,\n                React.createElement(\"path\", { fill: \"#C8C6C4\", d: \"M101.6 120a5 5 0 003.5-4.7l-4.4-16c0-.2-.3-.4-.6-.4h-19c-.2 0-.5.2-.5.5l-4.4 16a5 5 0 003.5 4.6h22z\" }))))),\n    _a[TeamsTheme.HighContrast] = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 117.7 120\" },\n        React.createElement(\"defs\", null,\n            React.createElement(\"path\", { id: \"reuse-0\", fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", d: \"M82.6 60c-2.8 28.5 4.7 32.4 7.6 32.7 5.9.5 11.8-10.7 14.5-29.7s-8.4-19.7-8.4-19.7c-6.6-1.6-12.5 5.2-13.7 16.7z\" })),\n        React.createElement(\"circle\", { cx: \"59.5\", cy: \"69.7\", r: \"44.1\", fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\" }),\n        React.createElement(\"path\", { stroke: \"#FFF\", strokeMiterlimit: \"10\", d: \"M60 30c-2.2-1.9-.2-6-3.3-10.5l-6.4.9-7-2.6-2.7 18s.8.3 6.2 3.7c2.6 1.7 5.1 1.7 6.9 1.8.8 0 21.6 12.1 21.6 12.1L84.1 41S60.6 30.5 60 30z\" }),\n        React.createElement(\"path\", { stroke: \"#FFF\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", d: \"M56.7 19.5c-3.4-5.3-4.4-5.2-3.9-8.7.5-3.5-3.3-4-4.2-.1a13 13 0 001.7 9.7s-2.9 5.5.7 10.1\" }),\n        React.createElement(\"path\", { stroke: \"#FFF\", strokeMiterlimit: \"10\", d: \"M46.4 25L42 23c-1.7-.8-2.6-2.7-2-4 .6-1.5 2.4-1.8 4-.8l4 2.2a3 3 0 011.5 3.7c-.4.9-2 1.6-3.2 1z\" }),\n        React.createElement(\"path\", { stroke: \"#FFF\", strokeMiterlimit: \"10\", d: \"M44.7 29.3l-5-2c-1.7-.7-2.6-2.4-2-3.8s2.3-1.8 4-1l4.8 2.5c1.2.6 1.8 2 1.4 3.2s-1.9 1.6-3.2 1.1z\" }),\n        React.createElement(\"path\", { stroke: \"#FFF\", strokeMiterlimit: \"10\", d: \"M44 33.3l-4-1c-1.6-.4-3-1.9-2.4-3.6.6-1.4 1.5-1.8 4-.9l4.8 1.7c.4 0 1 1.3.6 2.4s-1.7 1.8-3 1.4z\" }),\n        React.createElement(\"path\", { stroke: \"#FFF\", strokeMiterlimit: \"10\", d: \"M42.3 37l-1.6-.3c-1.5-.3-2.6-1.6-2.3-2.8.3-1.3 1.7-2 3.2-1.5l3 1c1.2.3 2 1.5 1.7 2.5-.4 1.4-1.4 1.6-4 1.2z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", d: \"M69.4 54.6l34 18.8.2-3.7a43.9 43.9 0 00-7.3-24.2l-23.7-9.7-3.2 18.8z\" }),\n        React.createElement(\"g\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\" },\n            React.createElement(\"path\", { strokeLinecap: \"round\", strokeLinejoin: \"round\", d: \"M30.4 45.7c-3-2.5-.4-8.3-4.5-14.4l-8.4 1.3L8 29 4 53.7s.6-.3 8.3 4.2c3.7 2.1 8.4 2 10.8 2.2 1 .1 7.4 3.7 13 7 5.5-3.3 7.5-7.8 9.5-14.1-6.2-2.8-14.4-6.6-15.2-7.3z\" }),\n            React.createElement(\"path\", { d: \"M36 48.6l-2.4 24.2L88.4 103c8-7 13.6-16.9 14.9-28.1L36 48.6z\" }),\n            React.createElement(\"path\", { strokeLinecap: \"round\", d: \"M26 31.6c-4.6-7.3-5.7-7.7-5.6-12.3.2-4.7-4.8-5-5.8-.1-1.3 6 1.7 12 3 13.4 0 0-4.6 7.6.3 14\" }),\n            React.createElement(\"path\", { d: \"M11.8 38.5L6 36c-2.2-1.1-3.4-3.6-2.6-5.5.7-1.8 3.2-2.2 5.3-.9l5.3 2.9c2 .9 2.7 3.1 2 5-.5 1-2.6 2-4.3 1.1z\" }),\n            React.createElement(\"path\", { d: \"M9.6 44.2l-6.7-2.8c-2.2-.9-3.4-3-2.7-4.9.8-1.8 3.2-2.4 5.3-1.3l6.4 3.3c1.7.8 2.5 2.7 1.9 4.2-.7 1.5-2.5 2.1-4.2 1.5z\" }),\n            React.createElement(\"path\", { d: \"M8.7 49.5l-5.4-1.3c-2-.6-4-2.6-3-4.9.7-1.8 2-2.3 5.1-1.1l6.4 2.1c.5.2 1.4 1.8.8 3.3-.5 1.4-2.2 2.3-3.9 1.8z\" }),\n            React.createElement(\"path\", { d: \"M6.4 54.4L4.3 54c-2-.5-3.4-2.2-3-3.8.3-1.6 2.3-2.5 4.2-2l3.9 1.3c1.6.4 2.6 2 2.3 3.4-.5 1.8-1.9 2-5.3 1.5z\" })),\n        React.createElement(\"g\", { strokeMiterlimit: \"10\" },\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeLinecap: \"round\", strokeLinejoin: \"round\", d: \"M21.6 77.2l-2.8 19s.9.2 6.6 3.8c2.7 1.7 5.4 1.8 7.2 1.9.4 0 19.2 10.6 19.2 10.6l12.8-11S38 90.4 37.5 89.9c-2.4-2-.3-6.4-3.5-11\" }),\n            React.createElement(\"path\", { stroke: \"#FFF\", d: \"M43.3 110.7a44 44 0 0016.2 3 43.8 43.8 0 0021.8-5.7L46.1 93.7l-2.8 17z\" }),\n            React.createElement(\"path\", { fill: \"none\", stroke: \"#000\", strokeLinecap: \"round\", d: \"M34.4 79.6l-.4-.7c-3.6-5.6-4.6-5.5-4.2-9.2.4-3.5-3.5-4.3-4.4-.1-1 4.6.8 9 1.8 10.2 0 0-3 5.8.7 10.7\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", d: \"M23.4 83.9l-4.6-2c-1.8-.7-2.8-2.7-2.3-4.2.6-1.5 2.5-1.8 4.3-.9L25 79c1.5.7 2.2 2.4 1.7 3.9-.4.9-2 1.7-3.3 1z\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", d: \"M21.9 88.4l-5.4-1.9c-1.8-.6-2.9-2.4-2.3-3.8.5-1.5 2.4-2 4.2-1.3l5.2 2.4c1.3.6 2 2 1.6 3.3-.5 1.2-2 1.8-3.3 1.3z\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", d: \"M21.4 92.7l-4.4-.8c-1.6-.4-3.2-2-2.6-3.8.5-1.4 1.5-1.9 4.1-1.1l5.2 1.5c.4 0 1.1 1.4.8 2.5-.4 1.2-1.8 2-3.1 1.7z\" }),\n            React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", d: \"M19.5 96.7l-1.7-.4c-1.6-.5-2.6-1.9-2.2-3.2.3-1.3 2-1.9 3.5-1.3l3 1.1c1.2.4 2 1.8 1.7 2.8-.5 1.5-1.6 1.6-4.3 1z\" })),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", d: \"M29.2 11.3a6.2 6.2 0 01-2.2 3 .3.3 0 000 .5 7.4 7.4 0 012.2 3.2c0 .4.5.4.6 0a7.4 7.4 0 012.1-3.2.3.3 0 000-.5 6.2 6.2 0 01-2.1-3 .3.3 0 00-.6 0z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", d: \"M38.3 1.4c.2 0 .3 0 .4.2A6.9 6.9 0 0041 5a.4.4 0 010 .6A8.2 8.2 0 0038.7 9a.4.4 0 01-.4.3.4.4 0 01-.3-.3 8.2 8.2 0 00-2.4-3.5.4.4 0 010-.6A6.9 6.9 0 0038 1.6a.4.4 0 01.3-.2\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", d: \"M2.8 64.2a7.3 7.3 0 01-2.5 3.5.4.4 0 000 .6A8.6 8.6 0 012.8 72a.4.4 0 00.7 0A8.6 8.6 0 016 68.3a.4.4 0 000-.6 7.3 7.3 0 01-2.5-3.5.4.4 0 00-.7 0z\" }),\n        React.createElement(\"path\", { fill: \"none\", stroke: \"#FFF\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", d: \"M113 51.7s-9.5 12-13.8 34.5\" }),\n        React.createElement(\"circle\", { cx: \"115.6\", cy: \"47.9\", r: \"2.1\", fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\" }),\n        React.createElement(\"path\", { fill: \"none\", stroke: \"#FFF\", strokeMiterlimit: \"10\", d: \"M103.9 82S95 92.1 93 101\" }),\n        React.createElement(\"path\", { stroke: \"#FFF\", strokeMiterlimit: \"10\", d: \"M98.8 74.5c3.6-4.4 10.3-8.3 14.6-5.3 6.4 4.7-1.7 17.2-3 19a25 25 0 01-10.2 8.3c-3.2 1.1-5.3.6-7-1-4.3-5.4 2-16.7 5.6-21z\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", d: \"M86.4 80c3 5.2 3.4 10 3.2 12.8-.2 2.3-2.1 4.5-4.5 4.6-4.7 0-9.5-2.8-13.7-7.4A21.6 21.6 0 0165 76.5a7.7 7.7 0 016.6-7.5c5-.9 10.7 4 14.7 11z\" }),\n        React.createElement(\"use\", { strokeMiterlimit: \"10\", xlinkHref: \"#reuse-0\" }),\n        React.createElement(\"use\", { strokeMiterlimit: \"10\", opacity: \".5\", xlinkHref: \"#reuse-0\" }),\n        React.createElement(\"path\", { fill: \"none\", stroke: \"#000\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", d: \"M77.6 83c3.9 5 7.5 9.6 11.2 18\" }),\n        React.createElement(\"path\", { d: \"M82 73.9c.5 14.8 5 18.1 7.6 18.7.2-2.8-.2-7.5-3.2-12.7a33.7 33.7 0 00-4.4-6z\" }),\n        React.createElement(\"path\", { fill: \"none\", stroke: \"#000\", strokeLinecap: \"round\", strokeMiterlimit: \"10\", d: \"M90.8 98.9c-1-19.3 2.4-38.6 2.4-38.6\" }),\n        React.createElement(\"path\", { fill: \"#FFF\", stroke: \"#000\", strokeMiterlimit: \"10\", d: \"M101.6 120a5 5 0 003.5-4.7l-4.4-16a.6.6 0 00-.6-.4h-19a.6.6 0 00-.5.5l-4.4 16a5 5 0 003.5 4.6h22z\" }))),\n    _a);\n//# sourceMappingURL=Thanks.js.map","var isImage = function (url) {\n    return new Promise(function (resolve, reject) {\n        // check that is a valid url\n        // then if valid url\n        var image = new Image();\n        image.src = url;\n        image.onload = resolve;\n        image.onerror = reject;\n    });\n};\nexport var isImageOrNot = function (input) {\n    return new Promise(function (resolve) {\n        if (/(jpg|gif|png|jpeg|svg|webp)$/i.test(input)) {\n            isImage(input).then(function (value) {\n                if (value.path[0].width > 0 &&\n                    value.path[0].height) {\n                    resolve();\n                }\n                else {\n                    throw new Error(\"Fail to process the image by the following link: \" + input + \" \\n Image size is 0\");\n                }\n            }, function () {\n                throw new Error(\"Fail to process the image by the following link: \" + input);\n            });\n        }\n        else {\n            throw new Error(\"Failed to upload image: \" + input + \" \\n Image format not supported, supported formats: JPG, JPEG, GIF, PNG, SVG, WEBP\");\n        }\n    });\n};\n//# sourceMappingURL=isImage.js.map","export var WELCOME_MESSAGE = {\n    title: \"Welcome to {{appName}}! We\\u2019re glad you\\u2019re here.\",\n    desc: \"{{appName}} is your tool to create, take, and manage polls.\",\n    actions: {\n        primary: {\n            label: \"Sign In\",\n            target: \"sign-in\",\n        },\n        secondary: {\n            label: \"Sign Up\",\n            target: \"register\",\n        },\n        tertiary: {\n            label: \"Learn more about {{appName}}\",\n            target: \"info:{{appName}}\",\n        },\n    },\n};\n//# sourceMappingURL=Welcome.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { Button, Flex, FlexItem, Text, Loader, ProviderConsumer as FluentUIThemeConsumer, } from \"@fluentui/react-northstar\";\nimport { TeamsTheme } from \"../../themes\";\nimport { CommunicationOptions, } from \"./CommunicationTypes\";\nimport { Illustration } from \"./Illustration\";\nimport { isImageOrNot } from \"../../lib/isImage\";\nimport { DEFAULT_MESSAGE, DEFAULT_ILLUSTRATIONS, EMPTY_MESSAGE, EMPTY_ILLUSTRATIONS, ERROR_ILLUSTRATIONS, ERROR_MESSAGE, HELLO_ILLUSTRATIONS, HELLO_MESSAGE, THANKS_ILLUSTRATIONS, THANKS_MESSAGE, WELCOME_MESSAGE, } from \"./CommunicationOptions\";\nimport { getText } from \"../../translations\";\n/**\n * @public\n */\nexport function Communication(_a) {\n    var option = _a.option, fields = _a.fields, onInteraction = _a.onInteraction;\n    var _b = React.useState(TeamsTheme.Default), componentTheme = _b[0], setComponentTheme = _b[1];\n    var _c = React.useState(), safeImageUrl = _c[0], setSafeImageUrl = _c[1];\n    var _fields = {};\n    var illustration;\n    if (option) {\n        switch (option) {\n            case CommunicationOptions.Default:\n                _fields = DEFAULT_MESSAGE;\n                illustration = DEFAULT_ILLUSTRATIONS;\n                break;\n            case CommunicationOptions.Empty:\n                _fields = EMPTY_MESSAGE;\n                illustration = EMPTY_ILLUSTRATIONS;\n                break;\n            case CommunicationOptions.Error:\n                _fields = ERROR_MESSAGE;\n                illustration = ERROR_ILLUSTRATIONS;\n                break;\n            case CommunicationOptions.Hello:\n                _fields = HELLO_MESSAGE;\n                illustration = HELLO_ILLUSTRATIONS;\n                break;\n            case CommunicationOptions.Thanks:\n                _fields = THANKS_MESSAGE;\n                illustration = THANKS_ILLUSTRATIONS;\n                break;\n            case CommunicationOptions.Welcome:\n                _fields = WELCOME_MESSAGE;\n                illustration = DEFAULT_ILLUSTRATIONS;\n                break;\n        }\n    }\n    if (fields) {\n        _fields = __assign(__assign({}, _fields), fields);\n    }\n    var title = _fields.title, desc = _fields.desc, actions = _fields.actions;\n    var image = _fields.image;\n    if (image) {\n        // Check if URL contains image and image in supported formats\n        isImageOrNot(image.src).then(function () {\n            setSafeImageUrl(image.src);\n        });\n    }\n    var themedImage = _fields.themedImage;\n    if (themedImage) {\n        isImageOrNot(themedImage[componentTheme]).then(function () {\n            setSafeImageUrl(themedImage[componentTheme]);\n        });\n    }\n    var onClick = onInteraction\n        ? function (target) { return ({\n            onClick: function () {\n                return onInteraction({\n                    event: \"click\",\n                    target: target,\n                });\n            },\n        }); }\n        : function () { return ({}); };\n    return (React.createElement(FluentUIThemeConsumer, { render: function (globalTheme) {\n            setComponentTheme(globalTheme.siteVariables.theme);\n            var t = globalTheme.siteVariables.t;\n            return (React.createElement(Flex, { vAlign: \"center\", hAlign: \"center\", styles: {\n                    width: \"100%\",\n                    height: \"100vh\",\n                } },\n                React.createElement(Flex, { hAlign: \"center\", gap: \"gap.large\", column: true, style: {\n                        width: \"100%\",\n                        maxWidth: \"33.5rem\",\n                        margin: \"3rem 1.25rem\",\n                    } },\n                    // Show default illustrations if imageUrl not passed\n                    illustration && !(image || themedImage) && (React.createElement(Illustration, { option: illustration[componentTheme] })),\n                    // Render image if URL is safe\n                    safeImageUrl && (image || themedImage) && (React.createElement(\"img\", { src: safeImageUrl, style: {\n                            width: \"100%\",\n                            maxWidth: \"20rem\",\n                            height: \"12.5rem\",\n                            maxHeight: \"12.5rem\",\n                            objectFit: \"contain\",\n                        }, \"aria-label\": image ? image.ariaLabel : themedImage === null || themedImage === void 0 ? void 0 : themedImage.ariaLabel })),\n                    // While an image is loading, show a loading indicator\n                    !safeImageUrl && (image || themedImage) && (React.createElement(Flex, { vAlign: \"center\", hAlign: \"center\", styles: {\n                            width: \"100%\",\n                            maxWidth: \"20rem\",\n                            height: \"12.5rem\",\n                            maxHeight: \"12.5rem\",\n                            objectFit: \"cover\",\n                        } },\n                        React.createElement(Loader, null))),\n                    (title || desc) && (React.createElement(FlexItem, null,\n                        React.createElement(Flex, { hAlign: \"center\", column: true },\n                            title && (React.createElement(Text, { content: getText(t.locale, title), size: \"large\", align: \"center\", weight: \"bold\", as: \"h1\", styles: { marginTop: 0, marginBottom: \".5rem\" } })),\n                            desc && (React.createElement(Text, { content: getText(t.locale, desc), align: \"center\", as: \"p\", styles: { textAlign: \"center\", margin: 0 } }))))),\n                    actions && (React.createElement(FlexItem, null,\n                        React.createElement(Flex, { gap: \"gap.small\", column: true, styles: {\n                                width: \"100%\",\n                                maxWidth: \"17.5rem\",\n                            } },\n                            actions.primary && (React.createElement(Button, __assign({ content: getText(t.locale, actions.primary.label), \"aria-label\": getText(t.locale, actions.primary.label), styles: { width: \"100%\" }, primary: true }, onClick(actions.primary.target)))),\n                            actions.secondary && (React.createElement(Button, __assign({ content: getText(t.locale, actions.secondary.label), \"aria-label\": getText(t.locale, actions.secondary.label), styles: { width: \"100%\" } }, onClick(actions.secondary.target)))),\n                            actions.tertiary && (React.createElement(Button, { text: true, primary: true },\n                                React.createElement(Text, __assign({ content: getText(t.locale, actions.tertiary.label), weight: \"light\" }, onClick(actions.tertiary.target)))))))))));\n        } }));\n}\n//# sourceMappingURL=Communication.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React, { useState } from \"react\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport pick from \"lodash/pick\";\nimport omit from \"lodash/omit\";\nimport uniqueId from \"lodash/uniqueId\";\nimport { DragDropContext, } from \"react-beautiful-dnd\";\nimport { Box, Button, Dialog, Flex, FocusZoneTabbableElements, MenuItem, ProviderConsumer as FluentUIThemeConsumer, } from \"@fluentui/react-northstar\";\nimport { AddIcon, EditIcon, TrashCanIcon, } from \"@fluentui/react-icons-northstar\";\nimport { getCode, keyboardKey } from \"@fluentui/keyboard-key\";\nimport { BoardTheme } from \"./BoardTheme\";\nimport { Toolbar, Communication } from \"../..\";\nimport { getText, interpolate } from \"../../translations\";\nimport { BoardLane, } from \"./BoardLane\";\nimport { BoardItemDialog, BoardItemDialogAction } from \"./BoardItemDialog\";\nimport { CommunicationOptions } from \"../Communication\";\nvar boardBehavior = function () {\n    return ({\n        attributes: {\n            root: {\n                role: \"region\",\n                \"aria-label\": \"Board lanes\",\n            },\n        },\n        focusZone: {\n            props: {\n                shouldEnterInnerZone: function (event) { return getCode(event) === keyboardKey.Enter; },\n                handleTabKey: FocusZoneTabbableElements.all,\n            },\n        },\n    });\n};\nvar defaultBoardItemCardLayout = {\n    previewPosition: \"top\",\n    overflowPosition: \"footer\",\n};\nvar prepareBoardItems = function (items, lanes) {\n    var unsortedPreparedBoardItems = Object.keys(items).reduce(function (acc, itemKey) {\n        var item = items[itemKey];\n        item.itemKey = itemKey;\n        if (acc.hasOwnProperty(item.lane))\n            acc[item.lane].push(item);\n        else\n            acc[item.lane] = [item];\n        return acc;\n    }, {});\n    return Object.keys(lanes).reduce(function (acc, laneKey) {\n        acc[laneKey] = unsortedPreparedBoardItems.hasOwnProperty(laneKey)\n            ? unsortedPreparedBoardItems[laneKey].sort(function (a, b) { return a.order - b.order; })\n            : [];\n        return acc;\n    }, {});\n};\nvar resetOrder = function (item, newOrder) {\n    item.order = newOrder;\n    return item;\n};\nvar getDraggable = function (draggableId) {\n    return document.querySelector(\"[data-rbd-drag-handle-draggable-id='\" + draggableId + \"']\");\n};\nvar getDroppable = function (droppableId) {\n    return document.querySelector(\"[data-rbd-droppable-id='\" + droppableId + \"']\");\n};\nvar getClientYChildren = function ($parent, draggableId, endIndex) {\n    return Array.from($parent.children)\n        .filter(function ($child) {\n        var childDraggableId = $child.getAttribute(\"data-rbd-draggable-id\");\n        return (typeof childDraggableId === \"string\" && childDraggableId !== draggableId);\n    })\n        .slice(0, endIndex);\n};\nvar getPlaceholderPosition = function ($draggable, clientYChildren) {\n    if (!$draggable || !$draggable.parentNode)\n        return null;\n    var clientHeight = $draggable.clientHeight, clientWidth = $draggable.clientWidth;\n    var clientY = clientYChildren.reduce(function (acc, $child) {\n        return acc + $child.clientHeight + 8;\n    }, 2);\n    var clientX = 20;\n    return [clientX, clientY, clientWidth, clientHeight];\n};\nvar BoardStandalone = function (props) {\n    var users = props.users, arrangedLanes = props.arrangedLanes, setArrangedLanes = props.setArrangedLanes, arrangedItems = props.arrangedItems, setArrangedItems = props.setArrangedItems, addingLane = props.addingLane, setAddingLane = props.setAddingLane, t = props.t, rtl = props.rtl;\n    var _a = useState(null), placeholderPosition = _a[0], setPlaceholderPosition = _a[1];\n    var onDragStart = function (event, provided) {\n        var laneKey = event.source.droppableId;\n        var itemKey = event.draggableId;\n        var boardLane = arrangedLanes[laneKey];\n        var boardItem = arrangedItems[laneKey].find(function (boardItem) { return boardItem.itemKey === itemKey; });\n        var announcement = interpolate(t[\"on drag start board item\"], [\n            {\n                itemTitle: getText(t.locale, boardItem.title),\n                itemPosition: arrangedItems[laneKey].indexOf(boardItem) + 1,\n                laneLength: arrangedItems[laneKey].length,\n                laneTitle: getText(t.locale, boardLane.title),\n            },\n        ]);\n        provided.announce(announcement);\n        var $draggable = getDraggable(event.draggableId);\n        if (!$draggable || !$draggable.parentNode)\n            return;\n        setPlaceholderPosition(getPlaceholderPosition($draggable, getClientYChildren($draggable.parentNode, event.draggableId, event.source.index)));\n    };\n    var onDragUpdate = function (event, provided) {\n        if (!event.destination)\n            return;\n        var $draggable = getDraggable(event.draggableId);\n        var $droppable = getDroppable(event.destination.droppableId);\n        if (!$draggable || !$droppable)\n            return;\n        var destinationLaneKey = event.destination.droppableId;\n        var itemKey = event.draggableId;\n        var boardLane = arrangedLanes[destinationLaneKey];\n        var boardItem = arrangedItems[event.source.droppableId].find(function (boardItem) { return boardItem.itemKey === itemKey; });\n        var announcement = interpolate(t[destinationLaneKey === event.source.droppableId\n            ? \"on drag update board item same lane\"\n            : \"on drag update board item different lane\"], [\n            {\n                itemTitle: getText(t.locale, boardItem.title),\n                itemPosition: event.destination.index + 1,\n                laneLength: arrangedItems[destinationLaneKey].length,\n                laneTitle: getText(t.locale, boardLane.title),\n            },\n        ]);\n        provided.announce(announcement);\n        setPlaceholderPosition(getPlaceholderPosition($draggable, getClientYChildren($droppable, event.draggableId, event.destination.index)));\n    };\n    var onDragEnd = function (_a, provided) {\n        var draggableId = _a.draggableId, reason = _a.reason, source = _a.source, destination = _a.destination;\n        var announcement;\n        var boardItem = arrangedItems[source.droppableId].find(function (boardItem) { return boardItem.itemKey === draggableId; });\n        if (destination) {\n            var laneKey = destination.droppableId;\n            var boardLane = laneKey && arrangedLanes[laneKey];\n            announcement = interpolate(t[\"on drag end board item\"], [\n                {\n                    itemTitle: getText(t.locale, boardItem.title),\n                    itemPosition: Math.max(1, destination.index + 1),\n                    laneLength: arrangedItems[laneKey].length,\n                    laneTitle: getText(t.locale, boardLane.title),\n                },\n            ]);\n        }\n        else {\n            announcement = interpolate(t[\"on drag cancel board item\"], [\n                {\n                    itemTitle: getText(t.locale, boardItem.title),\n                },\n            ]);\n        }\n        provided.announce(announcement);\n        if (destination) {\n            var sourceLaneKey = source.droppableId;\n            var destinationLaneKey = destination.droppableId;\n            var movingItems = arrangedItems[sourceLaneKey].splice(source.index, 1);\n            arrangedItems[sourceLaneKey].map(resetOrder);\n            arrangedItems[destinationLaneKey].splice(destination.index, 0, movingItems[0]);\n            arrangedItems[destinationLaneKey].map(resetOrder);\n            setPlaceholderPosition(null);\n            return setArrangedItems(cloneDeep(arrangedItems));\n        }\n    };\n    var moveLane = function (laneKey, delta) {\n        var laneKeys = Object.keys(arrangedLanes);\n        var from = laneKeys.indexOf(laneKey);\n        laneKeys.splice(from + delta, 0, laneKeys.splice(from, 1)[0]);\n        setArrangedLanes(laneKeys.reduce(function (nextArrangedLanes, currentLaneKey) {\n            nextArrangedLanes[currentLaneKey] = arrangedLanes[currentLaneKey];\n            return nextArrangedLanes;\n        }, {}));\n    };\n    var deleteLane = function (laneKey) {\n        setArrangedLanes(omit(arrangedLanes, [laneKey]));\n    };\n    return (React.createElement(DragDropContext, __assign({}, { onDragStart: onDragStart, onDragUpdate: onDragUpdate, onDragEnd: onDragEnd }),\n        React.createElement(Box, { styles: {\n                overflowX: \"auto\",\n                flexGrow: 1,\n            } },\n            React.createElement(Box, { styles: { height: \"100%\", display: \"flex\" }, accessibility: boardBehavior },\n                Object.keys(arrangedLanes).map(function (laneKey, laneIndex, laneKeys) {\n                    var last = laneIndex === laneKeys.length - 1;\n                    return (React.createElement(BoardLane, { first: laneIndex === 0, last: addingLane ? false : last, laneKey: laneKey, lane: arrangedLanes[laneKey], addItemDialog: React.createElement(BoardItemDialog, __assign({ action: BoardItemDialogAction.Create, trigger: React.createElement(Button, { icon: React.createElement(AddIcon, { outline: true }), iconOnly: true, fluid: true, title: t[\"add board item\"], \"aria-label\": t[\"add board item\"] }), initialState: { lane: laneKey } }, {\n                            arrangedLanes: arrangedLanes,\n                            users: users,\n                            t: t,\n                            setArrangedItems: setArrangedItems,\n                            arrangedItems: arrangedItems,\n                        })), editItemDialog: function (boardItem) { return (React.createElement(React.Fragment, null,\n                            React.createElement(BoardItemDialog, __assign({ action: BoardItemDialogAction.Edit, trigger: React.createElement(MenuItem, { vertical: true, icon: React.createElement(EditIcon, { outline: true, size: \"small\" }), content: t[\"edit board item\"] }), initialState: boardItem }, {\n                                arrangedLanes: arrangedLanes,\n                                users: users,\n                                t: t,\n                                setArrangedItems: setArrangedItems,\n                                arrangedItems: arrangedItems,\n                            })),\n                            React.createElement(Dialog, { trigger: React.createElement(MenuItem, { vertical: true, icon: React.createElement(TrashCanIcon, { outline: true, size: \"small\" }), content: t[\"delete\"] }), content: getText(t.locale, t[\"confirm delete\"], {\n                                    title: getText(t.locale, boardItem.title),\n                                }), confirmButton: { content: t[\"delete\"] }, cancelButton: { content: t[\"cancel\"] }, onConfirm: function () {\n                                    var pos = arrangedItems[boardItem.lane].findIndex(function (laneItem) {\n                                        return laneItem.itemKey ===\n                                            boardItem.itemKey;\n                                    });\n                                    arrangedItems[boardItem.lane].splice(pos, 1);\n                                    setArrangedItems(cloneDeep(arrangedItems));\n                                } }))); }, key: \"BoardLane__\" + laneKey, preparedItems: arrangedItems[laneKey], users: users, t: t, rtl: rtl, boardItemCardLayout: props.boardItemCardLayout || defaultBoardItemCardLayout, placeholderPosition: placeholderPosition, moveLane: moveLane, deleteLane: deleteLane }));\n                }),\n                addingLane && (React.createElement(BoardLane, { last: true, pending: true, laneKey: uniqueId(\"pl\"), key: \"BoardLane__pending_lane\", preparedItems: [], users: users, t: t, rtl: rtl, boardItemCardLayout: props.boardItemCardLayout || defaultBoardItemCardLayout, placeholderPosition: null, exitPendingLane: function (value) {\n                        var _a, _b;\n                        if (value.length > 0) {\n                            var newLaneKey = uniqueId(\"sl\");\n                            setArrangedLanes(Object.assign(arrangedLanes, (_a = {},\n                                _a[newLaneKey] = { title: value },\n                                _a)));\n                            setArrangedItems(Object.assign(arrangedItems, (_b = {}, _b[newLaneKey] = [], _b)));\n                        }\n                        setAddingLane(false);\n                    } }))))));\n};\n/**\n * @public\n */\nexport var Board = function (props) {\n    var _a = useState(props.lanes), arrangedLanes = _a[0], setStateArrangedLanes = _a[1];\n    var _b = useState(prepareBoardItems(props.items, props.lanes)), arrangedItems = _b[0], setStateArrangedItems = _b[1];\n    var _c = useState(false), addingLane = _c[0], setAddingLane = _c[1];\n    var setArrangedLanes = function (lanes) {\n        if (props.onInteraction)\n            props.onInteraction({ event: \"update\", target: \"lanes\", lanes: lanes });\n        return setStateArrangedLanes(lanes);\n    };\n    var setArrangedItems = function (items) {\n        if (props.onInteraction)\n            props.onInteraction({ event: \"update\", target: \"items\", items: items });\n        return setStateArrangedItems(items);\n    };\n    return (React.createElement(FluentUIThemeConsumer, { render: function (globalTheme) {\n            var _a = globalTheme.siteVariables, t = _a.t, rtl = _a.rtl;\n            return (React.createElement(BoardTheme, { globalTheme: globalTheme, style: {\n                    display: \"flex\",\n                    flexDirection: \"column\",\n                    height: \"calc(100vh - 1.25rem)\",\n                } },\n                React.createElement(Flex, { column: true, variables: function (_a) {\n                        var colorScheme = _a.colorScheme;\n                        return ({\n                            backgroundColor: colorScheme.default.background2,\n                        });\n                    }, styles: {\n                        height: \"100%\",\n                    } },\n                    React.createElement(Toolbar, { actionGroups: {\n                            g1: {\n                                a1: {\n                                    icon: \"Add\",\n                                    title: t[\"add lane\"],\n                                    subject: \"add_column\",\n                                },\n                            },\n                        }, onInteraction: function (_a) {\n                            var subject = _a.subject;\n                            if (subject === \"add_column\")\n                                setAddingLane(true);\n                        } }),\n                    Object.keys(arrangedLanes).length > 0 || addingLane ? (React.createElement(BoardStandalone, __assign({}, {\n                        t: t,\n                        rtl: rtl,\n                        arrangedLanes: arrangedLanes,\n                        arrangedItems: arrangedItems,\n                        setArrangedItems: setArrangedItems,\n                        addingLane: addingLane,\n                        setAddingLane: setAddingLane,\n                        setArrangedLanes: setArrangedLanes,\n                    }, pick(props, [\"users\", \"boardItemCardLayout\"])))) : (React.createElement(Communication, __assign({}, (props.emptyState || {\n                        option: CommunicationOptions.Empty,\n                        fields: {\n                            title: getText(t.locale, t[\"board empty header\"]),\n                            desc: getText(t.locale, t[\"board empty body\"]),\n                        },\n                    })))))));\n        } }));\n};\n//# sourceMappingURL=Board.js.map","/**\n * Each chart type can be previewed in the [Data visualizations page of the Microsoft Teams UI Kit](https://www.figma.com/file/EOsbapNvZgEwcA1mShswfh/Microsoft-Teams-UI-Kit-Community?node-id=3789%3A4091),\n * or in [this library’s Storybook](https://dev-int.teams.microsoft.com/storybook/main/index.html?path=/story/components-charts--line-chart).\n * @public\n */\nexport var EChartTypes;\n(function (EChartTypes) {\n    EChartTypes[\"Line\"] = \"line\";\n    EChartTypes[\"LineStacked\"] = \"lineStacked\";\n    EChartTypes[\"LineArea\"] = \"lineArea\";\n    EChartTypes[\"Bar\"] = \"bar\";\n    EChartTypes[\"BarStacked\"] = \"barStacked\";\n    EChartTypes[\"BarHorizontal\"] = \"barHorizontal\";\n    EChartTypes[\"BarHorizontalStacked\"] = \"barHorizontalStacked\";\n    EChartTypes[\"Pie\"] = \"pie\";\n    EChartTypes[\"Doughnut\"] = \"doughnut\";\n    EChartTypes[\"Bubble\"] = \"bubble\";\n})(EChartTypes || (EChartTypes = {}));\nexport var EPointStyles;\n(function (EPointStyles) {\n    EPointStyles[\"Circle\"] = \"circle\";\n    EPointStyles[\"Rectangle\"] = \"rect\";\n    EPointStyles[\"Triangle\"] = \"triangle\";\n    EPointStyles[\"RectangleRotated\"] = \"rectRot\";\n})(EPointStyles || (EPointStyles = {}));\nexport var EShapes;\n(function (EShapes) {\n    EShapes[\"Square\"] = \"square\";\n    EShapes[\"DiagonalRightLeft\"] = \"diagonalRightLeft\";\n    EShapes[\"Grid\"] = \"grid\";\n    EShapes[\"Diagonal\"] = \"diagonal\";\n    EShapes[\"VerticalLine\"] = \"verticalLine\";\n    EShapes[\"GridRightLeft\"] = \"gridRightLeft\";\n})(EShapes || (EShapes = {}));\n//# sourceMappingURL=ChartTypes.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\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    return r;\n};\nimport React from \"react\";\nimport { Popup, Button, MoreIcon, Menu, mergeThemes, Provider as FluentUIThemeProvider, EyeSlashIcon, } from \"@fluentui/react-northstar\";\nimport { TeamsTheme } from \"../../themes\";\nimport Icon from \"../../lib/Icon\";\nvar getLocalTheme = function () {\n    return {\n        componentVariables: {\n            PopupContent: function (_a) {\n                var colorScheme = _a.colorScheme, borderRadius = _a.borderRadius, borderWidth = _a.borderWidth, shadowLevel1 = _a.shadowLevel1, shadowLevel4 = _a.shadowLevel4, theme = _a.theme;\n                return ({\n                    backgroundColor: colorScheme.grey.background,\n                    backgroundColorHover: colorScheme.grey.background,\n                    boxShadow: shadowLevel1 + \", \" + shadowLevel4,\n                    borderRadius: borderRadius,\n                    borderSize: borderWidth,\n                    borderColor: theme === TeamsTheme.HighContrast\n                        ? colorScheme.grey.backgroundFocus\n                        : \"transparent\",\n                    borderColorHover: theme === TeamsTheme.HighContrast\n                        ? colorScheme.grey.backgroundFocus\n                        : \"transparent\",\n                });\n            },\n        },\n        componentStyles: {\n            Menu: {\n                root: {\n                    width: \"100%\",\n                    marginRight: \"0\",\n                    marginLeft: \"0\",\n                    border: \"none\",\n                    padding: \"0 0.25rem\",\n                },\n            },\n            MenuDivider: {\n                root: { margin: \"0.25rem 0\" },\n            },\n            PopupContent: {\n                content: {\n                    width: \"12.5rem\",\n                    padding: \"0\",\n                    boxShadow: \" 0px 1.2px 3.6px rgba(0, 0, 0, 0.11), 0px 6.4px 14.4px rgba(0, 0, 0, 0.13)\",\n                },\n            },\n        },\n    };\n};\nvar hideWidgetAction = {\n    id: \"hide_widget\",\n    content: \"Hide widget\",\n    icon: React.createElement(EyeSlashIcon, null),\n};\nexport var DashboardCallout = function (_a) {\n    var widgetId = _a.widgetId, open = _a.open, onOpenChange = _a.onOpenChange, menuProps = _a.menuProps, globalTheme = _a.globalTheme, widgetActionGroup = _a.widgetActionGroup, onInteraction = _a.onInteraction;\n    var theme = mergeThemes(globalTheme, getLocalTheme());\n    return (React.createElement(FluentUIThemeProvider, { theme: theme },\n        React.createElement(Popup, __assign({}, menuProps, { open: open, onOpenChange: onOpenChange, trigger: React.createElement(Button, { text: true, iconOnly: true, \"aria-label\": \"More actions\", icon: React.createElement(MoreIcon, null), styles: {\n                    margin: \"0 -0.35rem\",\n                } }), content: {\n                styles: { width: \"12.5rem\" },\n                content: (React.createElement(Menu, { items: widgetActionGroup\n                        ? __spreadArrays(widgetActionGroup.map(function (_a) {\n                            var id = _a.id, icon = _a.icon, title = _a.title;\n                            return __assign({ key: id, icon: React.createElement(Icon, { icon: icon }), content: title }, (onInteraction && {\n                                onClick: function () {\n                                    return onInteraction({\n                                        event: \"click\",\n                                        target: \"action\",\n                                        widget: widgetId,\n                                        action: id,\n                                    });\n                                },\n                            }));\n                        }), [\n                            { kind: \"divider\" },\n                            hideWidgetAction,\n                        ]) : [hideWidgetAction], vertical: true })),\n            }, trapFocus: {\n                firstFocusableSelector: \".extended-toolbar__filters-menu__tree [data-is-focusable=true]\",\n            } }))));\n};\n//# sourceMappingURL=DashboardCallout.js.map","var __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\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            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar _a;\nimport { TeamsTheme } from \"../../themes\";\nimport { EPointStyles, EShapes, } from \"./ChartTypes\";\nvar BACKGROUND_COLOR = \"transparent\";\nvar PATTERN_COLOR = \"rgba(0, 0, 0, 0.8)\";\nvar POINT_STYLE = \"round\";\nvar SIZE = 20;\nexport var lineChartPatterns = [\n    { lineBorderDash: [], pointStyle: EPointStyles.Circle },\n    { lineBorderDash: [], pointStyle: EPointStyles.Rectangle },\n    { lineBorderDash: [], pointStyle: EPointStyles.Triangle },\n    { lineBorderDash: [5, 5], pointStyle: EPointStyles.Circle },\n    { lineBorderDash: [5, 5], pointStyle: EPointStyles.RectangleRotated },\n    { lineBorderDash: [5, 5], pointStyle: EPointStyles.Triangle },\n];\nexport var legendLabels = function (_a) {\n    var canvasRef = _a.canvasRef, theme = _a.theme, colorScheme = _a.colorScheme, dataPointColor = _a.dataPointColor, index = _a.index, patterns = _a.patterns;\n    if (!canvasRef)\n        return;\n    var ctx = canvasRef.getContext(\"2d\");\n    ctx.save();\n    if (!ctx)\n        return;\n    if (theme === TeamsTheme.HighContrast) {\n        if (patterns) {\n            ctx.setTransform(1.4, 0, 0, 1, 0, 0);\n            ctx.scale(12, 10);\n            ctx.fillStyle = buildPattern(__assign(__assign({}, patterns(colorScheme)[index]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n            ctx.fillRect(-15, -15, canvasRef.width, canvasRef.height);\n            ctx.restore();\n        }\n        else {\n            ctx.scale(15, 15);\n            ctx.fillStyle = colorScheme.brand.shadow;\n            ctx.fillRect(-15, -15, canvasRef.width, canvasRef.height);\n            ctx.fillStyle = colorScheme.default.foreground3;\n            switch (lineChartPatterns[index].pointStyle) {\n                case EPointStyles.Triangle:\n                    ctx.moveTo(9.5, 2.5);\n                    ctx.lineTo(5.5, 7.5);\n                    ctx.lineTo(13.5, 7.5);\n                    break;\n                case EPointStyles.Rectangle:\n                    ctx.rect(6.5, 2.5, 8, 5);\n                    break;\n                case EPointStyles.RectangleRotated:\n                    ctx.moveTo(10, 2);\n                    ctx.lineTo(14.5, 5);\n                    ctx.lineTo(10, 8);\n                    ctx.lineTo(5.5, 5);\n                    break;\n                case EPointStyles.Circle:\n                default:\n                    ctx.ellipse(10, 5, 3.5, 2.5, 0, 0, 2 * Math.PI);\n                    break;\n            }\n            ctx.fill();\n            // Line Style\n            ctx.strokeStyle = colorScheme.default.foreground3;\n            ctx.beginPath();\n            ctx.setLineDash(lineChartPatterns[index].lineBorderDash.length ? [2, 2] : []);\n            ctx.moveTo(-1.5, 5);\n            ctx.lineTo(20, 5);\n            ctx.stroke();\n            ctx.restore();\n        }\n    }\n    else {\n        ctx.fillStyle = dataPointColor;\n        ctx.fillRect(0, 0, canvasRef.width, canvasRef.height);\n    }\n};\nexport var chartLineStackedDataPointPatterns = function (colorScheme) {\n    return [\n        {\n            shapeType: EShapes.Square,\n            size: 10,\n        },\n        {\n            shapeType: EShapes.DiagonalRightLeft,\n            size: 5,\n        },\n        {\n            shapeType: EShapes.Grid,\n            size: 10,\n        },\n        {\n            shapeType: EShapes.VerticalLine,\n            size: 10,\n        },\n        {\n            shapeType: EShapes.GridRightLeft,\n            size: 3,\n        },\n        {\n            shapeType: EShapes.Diagonal,\n            size: 5,\n        },\n    ];\n};\nexport var chartBarDataPointPatterns = function (colorScheme) {\n    return [\n        {\n            shapeType: EShapes.DiagonalRightLeft,\n            size: 5,\n        },\n        {\n            shapeType: EShapes.Square,\n            size: 10,\n        },\n        {\n            shapeType: EShapes.Diagonal,\n            size: 5,\n        },\n        {\n            shapeType: EShapes.Grid,\n            size: 10,\n        },\n        {\n            shapeType: EShapes.GridRightLeft,\n            size: 3,\n        },\n        {\n            shapeType: EShapes.VerticalLine,\n            size: 7,\n        },\n    ];\n};\nexport var chartBubbleDataPointPatterns = function (colorScheme) {\n    return [\n        {\n            shapeType: EShapes.DiagonalRightLeft,\n            size: 5,\n        },\n        {\n            shapeType: EShapes.Square,\n            size: 10,\n        },\n        {\n            shapeType: EShapes.Diagonal,\n            size: 5,\n        },\n        {\n            shapeType: EShapes.Grid,\n            size: 10,\n        },\n        {\n            shapeType: EShapes.GridRightLeft,\n            size: 3,\n        },\n        {\n            shapeType: EShapes.VerticalLine,\n            size: 7,\n        },\n    ];\n};\nvar Entity = /** @class */ (function () {\n    function Entity(fields) {\n        Object.assign(this, fields);\n    }\n    return Entity;\n}());\nexport { Entity };\nvar Shape = /** @class */ (function (_super) {\n    __extends(Shape, _super);\n    function Shape(fields) {\n        var _this = _super.call(this, fields) || this;\n        _this.size = SIZE;\n        _this.backgroundColor = BACKGROUND_COLOR;\n        _this.patternColor = PATTERN_COLOR;\n        if (fields.size) {\n            _this.size = fields.size;\n        }\n        if (fields.backgroundColor) {\n            _this.backgroundColor = fields.backgroundColor;\n        }\n        if (fields.patternColor) {\n            _this.patternColor = fields.patternColor;\n        }\n        _this.canvas = document.createElement(\"canvas\");\n        _this.context = _this.canvas.getContext(\"2d\");\n        _this.canvas.width = _this.size;\n        _this.canvas.height = _this.size;\n        if (_this.context) {\n            _this.context.fillStyle = _this.backgroundColor;\n            _this.context.fillRect(0, 0, _this.canvas.width, _this.canvas.height);\n        }\n        return _this;\n    }\n    Shape.prototype.setStrokeProps = function () {\n        if (this.context) {\n            this.context.strokeStyle = this.patternColor;\n            this.context.lineWidth = this.size / 10;\n            this.context.lineJoin = POINT_STYLE;\n            this.context.lineCap = POINT_STYLE;\n        }\n    };\n    Shape.prototype.setFillProps = function () {\n        if (this.context) {\n            this.context.fillStyle = this.patternColor;\n        }\n    };\n    return Shape;\n}(Entity));\nexport { Shape };\nvar Square = /** @class */ (function (_super) {\n    __extends(Square, _super);\n    function Square() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    Square.prototype.drawTile = function () {\n        var halfSize = this.size / 2;\n        if (this.context) {\n            this.context.beginPath();\n            this.setFillProps();\n            this.drawSquare();\n            this.drawSquare(halfSize, halfSize);\n            this.context.fill();\n        }\n        return this.canvas;\n    };\n    Square.prototype.drawSquare = function (offsetX, offsetY) {\n        if (offsetX === void 0) { offsetX = 0; }\n        if (offsetY === void 0) { offsetY = 0; }\n        var halfSize = this.size / 2;\n        var gap = this.size / 5;\n        this.context.fillRect(offsetX + gap, offsetY + gap, halfSize - gap * 2, halfSize - gap * 2);\n        this.context.closePath();\n    };\n    return Square;\n}(Shape));\nvar Diagonal = /** @class */ (function (_super) {\n    __extends(Diagonal, _super);\n    function Diagonal() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    Diagonal.prototype.drawTile = function () {\n        var halfSize = this.size / 2;\n        if (this.context) {\n            this.context.beginPath();\n            this.setStrokeProps();\n            this.drawDiagonalLine();\n            this.drawDiagonalLine(halfSize, halfSize);\n            this.context.stroke();\n            return this.canvas;\n        }\n    };\n    Diagonal.prototype.drawDiagonalLine = function (offsetX, offsetY) {\n        if (offsetX === void 0) { offsetX = 0; }\n        if (offsetY === void 0) { offsetY = 0; }\n        var size = this.size;\n        var halfSize = size / 2;\n        var gap = 1;\n        if (this.context) {\n            this.context.moveTo(halfSize - gap - offsetX, gap * -1 + offsetY);\n            this.context.lineTo(size + 1 - offsetX, halfSize + 1 + offsetY);\n            this.context.closePath();\n        }\n    };\n    return Diagonal;\n}(Shape));\nvar DiagonalRightLeft = /** @class */ (function (_super) {\n    __extends(DiagonalRightLeft, _super);\n    function DiagonalRightLeft() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    DiagonalRightLeft.prototype.drawTile = function () {\n        if (this.context) {\n            this.context.translate(this.size, 0);\n            this.context.rotate((90 * Math.PI) / 180);\n            Diagonal.prototype.drawTile.call(this);\n            return this.canvas;\n        }\n    };\n    return DiagonalRightLeft;\n}(Diagonal));\nvar Grid = /** @class */ (function (_super) {\n    __extends(Grid, _super);\n    function Grid() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    Grid.prototype.drawTile = function () {\n        var halfSize = this.size / 2;\n        if (this.context) {\n            this.context.beginPath();\n            this.setStrokeProps();\n            // this.drawDiagonalLine();\n            // this.drawDiagonalLine(halfSize, halfSize);\n            this.drawOpositeDiagonalLine();\n            this.drawOpositeDiagonalLine(halfSize, halfSize);\n            this.context.stroke();\n        }\n        return this.canvas;\n    };\n    Grid.prototype.drawDiagonalLine = function (offsetX, offsetY) {\n        if (offsetX === void 0) { offsetX = 0; }\n        if (offsetY === void 0) { offsetY = 0; }\n        var size = this.size;\n        var halfSize = size / 2;\n        var gap = 1;\n        if (this.context) {\n            this.context.moveTo(halfSize - gap - offsetX, gap * -1 + offsetY);\n            this.context.lineTo(size + 1 - offsetX, halfSize + 1 + offsetY);\n            this.context.closePath();\n        }\n    };\n    Grid.prototype.drawOpositeDiagonalLine = function (offsetX, offsetY) {\n        if (offsetX === void 0) { offsetX = 0; }\n        if (offsetY === void 0) { offsetY = 0; }\n        var size = this.size;\n        var halfSize = size / 2;\n        var gap = 1;\n        if (this.context) {\n            this.context.moveTo(halfSize - gap + offsetX, gap * -1 - offsetY);\n            this.context.lineTo(size + 1 + offsetX, halfSize + 1 - offsetY);\n            this.context.closePath();\n        }\n    };\n    return Grid;\n}(Shape));\nvar Line = /** @class */ (function (_super) {\n    __extends(Line, _super);\n    function Line() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    Line.prototype.drawTile = function () {\n        if (this.context) {\n            var halfSize = this.size / 2;\n            this.context.beginPath();\n            this.setStrokeProps();\n            this.drawLine();\n            this.drawLine(halfSize, halfSize);\n            this.context.stroke();\n            return this.canvas;\n        }\n    };\n    Line.prototype.drawLine = function (offsetX, offsetY) {\n        if (offsetX === void 0) { offsetX = 0; }\n        if (offsetY === void 0) { offsetY = 0; }\n        if (this.context) {\n            var size = this.size;\n            var quarterSize = size / 4;\n            this.context.moveTo(0, quarterSize + offsetY);\n            this.context.lineTo(this.size, quarterSize + offsetY);\n            this.context.closePath();\n        }\n    };\n    return Line;\n}(Shape));\nvar VerticalLine = /** @class */ (function (_super) {\n    __extends(VerticalLine, _super);\n    function VerticalLine() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    VerticalLine.prototype.drawTile = function () {\n        if (this.context) {\n            this.context.translate(this.size, 0);\n            this.context.rotate((90 * Math.PI) / 180);\n            Line.prototype.drawTile.call(this);\n            return this.canvas;\n        }\n    };\n    return VerticalLine;\n}(Line));\nvar GridRightLeft = /** @class */ (function (_super) {\n    __extends(GridRightLeft, _super);\n    function GridRightLeft() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    GridRightLeft.prototype.drawTile = function () {\n        if (this.context) {\n            this.context.translate(this.size, 0);\n            this.context.rotate((90 * Math.PI) / 180);\n            Grid.prototype.drawTile.call(this);\n            return this.canvas;\n        }\n    };\n    return GridRightLeft;\n}(Grid));\nvar shapes = (_a = {},\n    _a[EShapes.Square] = Square,\n    _a[EShapes.DiagonalRightLeft] = DiagonalRightLeft,\n    _a[EShapes.Grid] = Grid,\n    _a[EShapes.Diagonal] = Diagonal,\n    _a[EShapes.VerticalLine] = VerticalLine,\n    _a[EShapes.GridRightLeft] = GridRightLeft,\n    _a);\nexport function buildPattern(_a) {\n    var shapeType = _a.shapeType, backgroundColor = _a.backgroundColor, patternColor = _a.patternColor, size = _a.size;\n    var patternCanvas = document.createElement(\"canvas\");\n    var patternContext = patternCanvas.getContext(\"2d\");\n    var outerSize = size * 2;\n    var Shape = shapes[shapeType];\n    var shape = new Shape({ size: size, backgroundColor: backgroundColor, patternColor: patternColor });\n    var pattern = patternContext.createPattern(shape.drawTile(), \"repeat\");\n    patternCanvas.width = outerSize;\n    patternCanvas.height = outerSize;\n    if (pattern) {\n        pattern.shapeType = shapeType;\n    }\n    return pattern;\n}\n//# sourceMappingURL=ChartPatterns.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport { TeamsTheme } from \"../../themes\";\nimport { buildPattern } from \"./ChartPatterns\";\nexport var random = function (min, max) {\n    return Math.round(Math.random() * (max - min) + min);\n};\n// TODO: Localization\nvar suffixes = [\"K\", \"M\", \"G\", \"T\", \"P\", \"E\"];\nexport var chartAxisCallback = function (value) {\n    if (typeof value === \"number\") {\n        if (value < 1000) {\n            return String(value);\n        }\n        var exp = Math.floor(Math.log(Number(value)) / Math.log(1000));\n        value = \"\" + Number(value) / Math.pow(1000, exp) + suffixes[exp - 1];\n        // There is no support for label aligment in Chart.js,\n        // to be able align axis labels by left (right is by default)\n        // add an additional spaces depends on label length\n        switch (value.length) {\n            case 2:\n                return value + \"  \";\n            case 1:\n                return value + \"   \";\n            case 3:\n            default:\n                return value;\n        }\n    }\n    else {\n        return value;\n    }\n};\nexport var hexToRgb = function (hex) {\n    if (hex.length < 6) {\n        hex = \"#\" + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];\n    }\n    var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n    return result\n        ? parseInt(result[1], 16) + \", \" + parseInt(result[2], 16) + \", \" + parseInt(result[3], 16)\n        : null;\n};\nexport var usNumberFormat = function (value) {\n    return String(value)\n        .split(\"\")\n        .reverse()\n        .join(\"\")\n        .replace(/(\\d{3})/g, \"$1,\")\n        .replace(/\\,$/, \"\")\n        .split(\"\")\n        .reverse()\n        .join(\"\");\n};\nexport function tooltipTrigger(_a) {\n    var chart = _a.chart, data = _a.data, set = _a.set, index = _a.index, siteVariables = _a.siteVariables, mergeDuplicates = _a.mergeDuplicates, patterns = _a.patterns;\n    var theme = siteVariables.theme, colorScheme = siteVariables.colorScheme;\n    if (mergeDuplicates) {\n        var duplicates_1 = [];\n        var segments_1 = [];\n        // Check for equal data points\n        data.datasets.filter(function (dataset, i) {\n            if (dataset.data[index] === data.datasets[set].data[index]) {\n                duplicates_1.push(i);\n            }\n            if (theme === TeamsTheme.HighContrast) {\n                chart.data.datasets[i].borderColor = colorScheme.default.border;\n                chart.data.datasets[i].borderWidth = 2;\n            }\n        });\n        duplicates_1.forEach(function (segmentId) {\n            segments_1.push(chart.getDatasetMeta(segmentId).data[index]);\n            if (theme === TeamsTheme.HighContrast) {\n                chart.data.datasets[segmentId].borderColor =\n                    colorScheme.default.borderHover;\n                chart.data.datasets[segmentId].borderWidth = 4;\n            }\n        });\n        if (theme === TeamsTheme.HighContrast) {\n            chart.update();\n        }\n        chart.tooltip._active = segments_1;\n    }\n    else {\n        var segment = chart.getDatasetMeta(set).data[index];\n        chart.tooltip._active = [segment];\n        if (theme === TeamsTheme.HighContrast && patterns) {\n            chart.data.datasets.map(function (dataset, i) {\n                dataset.borderColor = colorScheme.default.border;\n                dataset.borderWidth = 2;\n                dataset.backgroundColor = buildPattern(__assign(__assign({}, patterns(colorScheme)[index]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n            });\n            chart.data.datasets[set].borderColor =\n                siteVariables.colorScheme.default.borderHover;\n            chart.data.datasets[set].borderWidth = 4;\n            chart.data.datasets[set].backgroundColor = chart.data.datasets[set].backgroundColor = buildPattern(__assign(__assign({}, patterns(siteVariables.colorScheme)[set]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.default.borderHover }));\n            chart.update();\n        }\n    }\n    chart.tooltip.update();\n    chart.draw();\n}\nexport var tooltipAxisYLine = function (_a) {\n    var chart = _a.chart, ctx = _a.ctx, tooltip = _a.tooltip;\n    if (tooltip._active && tooltip._active.length) {\n        var activePoint = tooltip._active[0], y = activePoint.tooltipPosition().y, x = activePoint.tooltipPosition().x, y_axis = chart.scales[\"y-axis-0\"], topY = y_axis.top, bottomY = y_axis.bottom;\n        ctx.save();\n        // Line\n        ctx.beginPath();\n        ctx.moveTo(x, topY);\n        ctx.lineTo(x, bottomY);\n        ctx.setLineDash([5, 5]);\n        ctx.lineWidth = 1;\n        ctx.strokeStyle = chart.options.scales.yAxes[0].gridLines.color;\n        ctx.stroke();\n        // Point\n        ctx.beginPath();\n        ctx.setLineDash([]);\n        ctx.arc(x, y, 5, 0, 2 * Math.PI, true);\n        ctx.lineWidth = 2;\n        ctx.fillStyle = \"white\";\n        ctx.strokeStyle =\n            chart.data.datasets[activePoint._datasetIndex].hoverBorderColor;\n        ctx.closePath();\n        ctx.fill();\n        ctx.stroke();\n        ctx.restore();\n    }\n};\nexport var tooltipAxisXLine = function (_a) {\n    var chart = _a.chart, ctx = _a.ctx, tooltip = _a.tooltip;\n    if (tooltip._active && tooltip._active.length) {\n        var activePoint = tooltip._active[0], y = activePoint.tooltipPosition().y, x = activePoint.tooltipPosition().x, x_axis = chart.scales[\"x-axis-0\"], leftX = x_axis.left, rightX = x_axis.right;\n        ctx.save();\n        // Line\n        ctx.beginPath();\n        ctx.moveTo(leftX - 20, y);\n        ctx.lineTo(rightX, y);\n        ctx.setLineDash([5, 5]);\n        ctx.lineWidth = 1;\n        ctx.strokeStyle = chart.options.scales.yAxes[0].gridLines.color;\n        ctx.stroke();\n        ctx.restore();\n    }\n};\nexport var horizontalBarValue = function (_a) {\n    var chart = _a.chart, ctx = _a.ctx, stacked = _a.stacked;\n    ctx.font = \"bold 11px Segoe UI\";\n    ctx.textAlign = \"left\";\n    ctx.textBaseline = \"middle\";\n    ctx.fillStyle = chart.options.defaultColor;\n    if (stacked) {\n        var meta = chart.controller.getDatasetMeta(chart.data.datasets.length - 1);\n        meta.data.forEach(function (bar, index) {\n            var data = 0;\n            chart.data.datasets.map(function (dataset) {\n                var value = dataset.data[index];\n                if (typeof value === \"number\") {\n                    return (data += value);\n                }\n            });\n            ctx.fillText(data, bar._model.x + 8, bar._model.y);\n        });\n    }\n    else {\n        chart.data.datasets.forEach(function (dataset, i) {\n            var meta = chart.controller.getDatasetMeta(i);\n            meta.data.forEach(function (bar, index) {\n                var data = dataset.data[index];\n                ctx.fillText(data, bar._model.x + 8, bar._model.y);\n            });\n        });\n    }\n};\nexport var chartConfig = function (_a) {\n    var type = _a.type;\n    return ({\n        type: type,\n        options: {\n            responsive: true,\n            maintainAspectRatio: false,\n            animation: {\n                duration: 1000,\n            },\n            layout: {\n                padding: {\n                    left: 0,\n                    right: 16,\n                    top: 0,\n                    bottom: 0,\n                },\n            },\n            scaleLabel: {\n                display: false,\n            },\n            elements: {\n                line: {\n                    tension: 0.4,\n                },\n            },\n            hover: {\n                mode: \"dataset\",\n                intersect: false,\n            },\n            tooltips: tooltipConfig(),\n            scales: {\n                xAxes: [\n                    {\n                        ticks: {\n                            fontSize: 10,\n                            padding: 0,\n                            labelOffset: 4,\n                            maxRotation: 0,\n                            minRotation: 0,\n                            callback: chartAxisCallback,\n                        },\n                        gridLines: {\n                            borderDash: [5, 9999],\n                            zeroLineBorderDash: [5, 9999],\n                        },\n                    },\n                ],\n                yAxes: [\n                    {\n                        stacked: false,\n                        ticks: {\n                            callback: chartAxisCallback,\n                            fontSize: 10,\n                            padding: -16,\n                            labelOffset: 10,\n                            maxTicksLimit: 5,\n                        },\n                        gridLines: {\n                            lineWidth: 1,\n                            drawBorder: false,\n                            drawTicks: true,\n                            tickMarkLength: 44,\n                        },\n                    },\n                ],\n            },\n        },\n    });\n};\nexport var axesConfig = function (_a) {\n    var chart = _a.chart, ctx = _a.ctx, colorScheme = _a.colorScheme;\n    var axesXGridLines = ctx.createLinearGradient(100, 100, 100, 0);\n    axesXGridLines.addColorStop(0.01, colorScheme.grey.border);\n    axesXGridLines.addColorStop(0.01, \"transparent\");\n    chart.options.scales.xAxes.forEach(function (xAxes, index) {\n        xAxes.ticks.fontColor = colorScheme.default.foreground2;\n        if (index < 1) {\n            xAxes.gridLines.color = axesXGridLines;\n            xAxes.gridLines.zeroLineColor = axesXGridLines;\n        }\n        else {\n            xAxes.gridLines.color = \"transparent\";\n        }\n    });\n    chart.options.scales.yAxes.forEach(function (yAxes, index) {\n        yAxes.ticks.fontColor = colorScheme.default.foreground2;\n        if (index < 1) {\n            yAxes.gridLines.color = colorScheme.grey.border;\n            yAxes.gridLines.zeroLineColor = colorScheme.grey.border;\n        }\n        else {\n            yAxes.gridLines.color = \"transparent\";\n        }\n    });\n};\nexport var setTooltipColorScheme = function (_a) {\n    var _b;\n    var chart = _a.chart, siteVariables = _a.siteVariables, chartDataPointColors = _a.chartDataPointColors, patterns = _a.patterns, verticalDataAlignment = _a.verticalDataAlignment;\n    var colorScheme = siteVariables.colorScheme, theme = siteVariables.theme;\n    chart.options.tooltips = __assign(__assign({}, chart.options.tooltips), { backgroundColor: theme === TeamsTheme.Dark\n            ? colorScheme.default.border2\n            : colorScheme.default.foregroundFocus, borderColor: colorScheme.default.borderHover, multiKeyBackground: colorScheme.white.foreground, titleFontColor: colorScheme.default.foreground3, bodyFontColor: colorScheme.default.foreground3, footerFontColor: colorScheme.default.foreground3, borderWidth: theme === TeamsTheme.HighContrast ? 2 : 0, callbacks: __assign(__assign({}, (_b = chart.options.tooltips) === null || _b === void 0 ? void 0 : _b.callbacks), { labelColor: patterns && theme === TeamsTheme.HighContrast\n                ? function (tooltipItem) { return ({\n                    borderColor: \"transparent\",\n                    backgroundColor: buildPattern(__assign(__assign({}, patterns(colorScheme)[verticalDataAlignment\n                        ? tooltipItem.index\n                        : tooltipItem.datasetIndex]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.default.borderHover })),\n                }); }\n                : function (tooltipItem) { return ({\n                    borderColor: \"transparent\",\n                    backgroundColor: chartDataPointColors[verticalDataAlignment\n                        ? tooltipItem.index\n                        : tooltipItem.datasetIndex],\n                }); } }) });\n    if (siteVariables.theme === TeamsTheme.HighContrast) {\n        chart.options.scales.yAxes[0].gridLines.lineWidth = 0.25;\n    }\n    else {\n        chart.options.scales.yAxes[0].gridLines.lineWidth = 1;\n    }\n};\nexport var tooltipConfig = function () { return ({\n    yPadding: 12,\n    xPadding: 20,\n    caretPadding: 10,\n    // Tooltip Title\n    titleFontStyle: \"200\",\n    titleFontSize: 20,\n    // Tooltip Body\n    bodySpacing: 4,\n    bodyFontSize: 11.5,\n    bodyFontStyle: \"400\",\n    // Tooltip Footer\n    footerFontStyle: \"300\",\n    footerFontSize: 10,\n    callbacks: {\n        title: function (tooltipItems) {\n            var value = tooltipItems[0].yLabel;\n            return typeof value === \"number\" && value > 999\n                ? usNumberFormat(value)\n                : value;\n        },\n        label: function (tooltipItem, data) {\n            return data.datasets[tooltipItem.datasetIndex].label;\n        },\n        footer: function (tooltipItems) {\n            var value = tooltipItems[0].xLabel;\n            return typeof value === \"number\" && value > 999\n                ? usNumberFormat(value)\n                : value;\n        },\n    },\n}); };\n//# sourceMappingURL=ChartUtils.js.map","import React, { useState, useEffect } from \"react\";\nimport { Box, Toolbar as Legend, Button as LegendItem, BoldIcon, Flex, } from \"@fluentui/react-northstar\";\nimport { TeamsTheme } from \"../../../themes\";\nimport { legendLabels } from \"../ChartPatterns\";\nimport { getText } from \"../../../translations\";\nvar LabelColorValue = function (_a) {\n    var index = _a.index, siteVariables = _a.siteVariables, dataPointColor = _a.dataPointColor, patterns = _a.patterns;\n    var borderRadius = siteVariables.borderRadius, theme = siteVariables.theme, colorScheme = siteVariables.colorScheme, colors = siteVariables.colors;\n    var labelColorValueRef = React.useRef(null);\n    useEffect(function () {\n        if (!labelColorValueRef.current)\n            return;\n        var canvasRef = labelColorValueRef.current;\n        legendLabels({\n            canvasRef: canvasRef,\n            theme: theme,\n            colorScheme: colorScheme,\n            patterns: patterns,\n            dataPointColor: dataPointColor,\n            index: index,\n        });\n    }, [theme]);\n    return (React.createElement(Box, { styles: theme === TeamsTheme.HighContrast\n            ? {\n                width: \"1.25rem\",\n                minWidth: \"1.25rem\",\n                height: \"1rem\",\n                minHeight: \"1rem\",\n                marginBottom: \"-1px\",\n                marginRight: \".4rem\",\n            }\n            : {\n                width: \".75rem\",\n                minWidth: \".75rem\",\n                height: \".75rem\",\n                minHeight: \".75rem\",\n                marginBottom: \"-1px\",\n                marginRight: \".4rem\",\n            } },\n        React.createElement(\"canvas\", { ref: labelColorValueRef, tabIndex: 0, style: {\n                width: \"100%\",\n                height: \"100%\",\n                userSelect: \"none\",\n                border: patterns && theme === TeamsTheme.HighContrast\n                    ? \"1px solid \" + colors.white\n                    : \"none\",\n                borderRadius: borderRadius,\n            } })));\n};\nvar legendItem = function (_a) {\n    var key = _a.key, value = _a.value, hidden = _a.hidden, siteVariables = _a.siteVariables, chartDataPointColors = _a.chartDataPointColors, onLegendClick = _a.onLegendClick, patterns = _a.patterns;\n    var t = siteVariables.t;\n    return {\n        key: key,\n        kind: \"custom\",\n        onClick: function () {\n            onLegendClick(key);\n        },\n        content: (React.createElement(LegendItem, { styles: {\n                display: \"flex\",\n                alignItems: \"center\",\n                fontSize: \".75rem\",\n                minWidth: \"30px\",\n                color: siteVariables.colorScheme.default.foreground2,\n                margin: \"2px 0\",\n            }, text: true },\n            React.createElement(LabelColorValue, { index: key, siteVariables: siteVariables, dataPointColor: chartDataPointColors[key], patterns: patterns }),\n            getText(t.locale, value))),\n        fitted: \"horizontally\",\n    };\n};\nvar LegendItems = function (data, siteVariables, chartDataPointColors, onLegendClick, verticalDataAlignment, patterns) {\n    return verticalDataAlignment\n        ? Array.from(data.labels, function (label, key) {\n            return legendItem({\n                key: key,\n                value: label,\n                siteVariables: siteVariables,\n                chartDataPointColors: chartDataPointColors,\n                onLegendClick: onLegendClick,\n                patterns: patterns,\n            });\n        })\n        : Array.from(data.datasets, function (dataset, key) {\n            return legendItem({\n                key: key,\n                value: dataset.label,\n                hidden: dataset.hidden,\n                siteVariables: siteVariables,\n                chartDataPointColors: chartDataPointColors,\n                onLegendClick: onLegendClick,\n                patterns: patterns,\n            });\n        });\n};\nexport var ChartContainer = function (_a) {\n    var data = _a.data, children = _a.children, siteVariables = _a.siteVariables, chartDataPointColors = _a.chartDataPointColors, onLegendClick = _a.onLegendClick, verticalDataAlignment = _a.verticalDataAlignment, patterns = _a.patterns;\n    var _b = useState(false), overflowOpen = _b[0], setOverflowOpen = _b[1];\n    var _c = useState(0), overflowItems = _c[0], setOverflowItems = _c[1];\n    var theme = siteVariables.theme, colorScheme = siteVariables.colorScheme, t = siteVariables.t;\n    var legendItems = LegendItems(data, siteVariables, chartDataPointColors, onLegendClick, verticalDataAlignment, patterns);\n    useEffect(function () {\n        legendItems = LegendItems(data, siteVariables, chartDataPointColors, onLegendClick, verticalDataAlignment, patterns);\n    }, [theme, t]);\n    return (React.createElement(Flex, { column: true, style: {\n            height: \"100%\",\n            minHeight: \"14rem\",\n            margin: \"0 -1rem 0 0\",\n            paddingBottom: \".5rem\",\n            width: \"100%\",\n        } },\n        React.createElement(Box, { styles: {\n                flexGrow: 1,\n                backgroundColor: colorScheme.grey.background,\n            } }, children),\n        React.createElement(Box, null,\n            React.createElement(Legend, { \"aria-label\": t[\"toolbar overflow menu\"], items: legendItems, overflow: true, overflowOpen: overflowOpen, overflowItem: {\n                    icon: (React.createElement(BoldIcon, { styles: {\n                            position: \"relative\",\n                            width: \"3.5rem\",\n                            height: \"1rem\",\n                            borderRadius: \"4px\",\n                            \"& svg\": {\n                                display: \"none\",\n                            },\n                            \"&::after\": {\n                                content: \"\\\"\" + overflowItems + \" more\\\"\",\n                                display: \"block\",\n                                position: \"absolute\",\n                                top: 0,\n                                left: \".5rem\",\n                                minWidth: \"3rem\",\n                                textAlign: \"left\",\n                                fontSize: \".75rem\",\n                                color: colorScheme.brand.foreground,\n                            },\n                        } })),\n                }, onOverflowOpenChange: function (e, props) {\n                    setOverflowOpen(!!(props === null || props === void 0 ? void 0 : props.overflowOpen));\n                }, onOverflow: function (items) { return setOverflowItems(legendItems.length - items); }, getOverflowItems: function (startIndex) { return legendItems.slice(startIndex); }, styles: {\n                    width: \"100%\",\n                    backgroundColor: colorScheme.grey.background,\n                } }))));\n};\n//# sourceMappingURL=ChartContainer.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\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    return r;\n};\nimport React, { useEffect } from \"react\";\nimport Chart from \"chart.js\";\nimport { tooltipTrigger, tooltipAxisYLine, chartConfig, axesConfig, setTooltipColorScheme, hexToRgb, } from \"../ChartUtils\";\nimport { TeamsTheme } from \"../../../themes\";\nimport { ChartContainer } from \"./ChartContainer\";\nimport { lineChartPatterns } from \"../ChartPatterns\";\nimport { getText } from \"../../../translations\";\nexport var LineChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables, gradients = _a.gradients;\n    var colorScheme = siteVariables.colorScheme, theme = siteVariables.theme, t = siteVariables.t;\n    var canvasRef = React.useRef(null);\n    var chartRef = React.useRef();\n    var chartId = React.useMemo(function () { return Math.random().toString(36).substr(2, 9); }, []);\n    var chartDataPointColors = React.useMemo(function () { return [\n        colorScheme.brand.background,\n        colorScheme.default.borderHover,\n        colorScheme.brand.borderHover,\n        colorScheme.default.foreground2,\n        colorScheme.brand.background4,\n        colorScheme.default.foreground,\n    ]; }, [theme]);\n    var createDataPoints = function () {\n        return Array.from(data.datasets, function (set, i) {\n            var dataPointConfig = {\n                label: getText(t.locale, set.label),\n                data: set.data,\n                borderColor: chartDataPointColors[i],\n                hoverBorderColor: chartDataPointColors[i],\n                hoverBorderWidth: 2,\n                backgroundColor: \"transparent\",\n                hoverBackgroundColor: \"transparent\",\n                borderWidth: 2,\n                pointBorderColor: chartDataPointColors[i],\n                pointBackgroundColor: chartDataPointColors[i],\n                pointHoverBackgroundColor: chartDataPointColors[i],\n                pointHoverBorderColor: chartDataPointColors[i],\n                pointHoverBorderWidth: 0,\n                borderCapStyle: \"round\",\n                borderJoinStyle: \"round\",\n                pointBorderWidth: 0,\n                pointRadius: 2,\n                pointHoverRadius: 2,\n                pointStyle: \"circle\",\n                borderDash: [],\n            };\n            if (theme === TeamsTheme.HighContrast) {\n                dataPointConfig = __assign(__assign({}, dataPointConfig), { borderColor: colorScheme.brand.background, hoverBorderColor: colorScheme.default.borderHover, pointBorderColor: colorScheme.brand.background, pointBackgroundColor: colorScheme.brand.background, pointHoverBackgroundColor: colorScheme.brand.background, pointHoverBorderColor: colorScheme.brand.background, hoverBorderWidth: 4, pointRadius: 4, pointHoverRadius: 4, pointStyle: lineChartPatterns[i].pointStyle, borderDash: lineChartPatterns[i].lineBorderDash });\n            }\n            return dataPointConfig;\n        });\n    };\n    var createAreaChartDataPoints = function (ctx) {\n        return Array.from(data.datasets, function (set, i) {\n            var gradientStroke = ctx.createLinearGradient(0, 0, 0, ctx.canvas.clientHeight * 0.8);\n            var hoverGradientStroke = ctx.createLinearGradient(0, 0, 0, ctx.canvas.clientHeight * 0.8);\n            if (theme === TeamsTheme.HighContrast) {\n                var colorRGB = hexToRgb(colorScheme.brand.background);\n                var hoverColorRGB = hexToRgb(colorScheme.default.borderHover);\n                gradientStroke.addColorStop(0, \"rgba(\" + colorRGB + \", .2)\");\n                gradientStroke.addColorStop(1, \"rgba(\" + colorRGB + \", .0)\");\n                hoverGradientStroke.addColorStop(0, \"rgba(\" + hoverColorRGB + \", .4)\");\n                hoverGradientStroke.addColorStop(1, \"rgba(\" + hoverColorRGB + \", .0)\");\n            }\n            else {\n                var colorRGB = hexToRgb(chartDataPointColors[i]);\n                gradientStroke.addColorStop(0, \"rgba(\" + colorRGB + \", .4)\");\n                gradientStroke.addColorStop(1, \"rgba(\" + colorRGB + \", .0)\");\n                hoverGradientStroke.addColorStop(0, \"rgba(\" + colorRGB + \", .6)\");\n                hoverGradientStroke.addColorStop(1, \"rgba(\" + colorRGB + \", .0)\");\n            }\n            var dataPointConfig = {\n                label: getText(t.locale, set.label),\n                data: set.data,\n                borderColor: chartDataPointColors[i],\n                hoverBorderColor: chartDataPointColors[i],\n                hoverBorderWidth: 2,\n                backgroundColor: gradientStroke,\n                hoverBackgroundColor: hoverGradientStroke,\n                borderWidth: 2,\n                pointBorderColor: chartDataPointColors[i],\n                pointBackgroundColor: chartDataPointColors[i],\n                pointHoverBackgroundColor: chartDataPointColors[i],\n                pointHoverBorderColor: chartDataPointColors[i],\n                pointHoverBorderWidth: 0,\n                borderCapStyle: \"round\",\n                borderJoinStyle: \"round\",\n                pointBorderWidth: 0,\n                pointRadius: 2,\n                pointHoverRadius: 2,\n                pointStyle: \"circle\",\n                borderDash: [],\n            };\n            if (theme === TeamsTheme.HighContrast) {\n                dataPointConfig = __assign(__assign({}, dataPointConfig), { borderColor: colorScheme.brand.background, hoverBorderColor: colorScheme.default.borderHover, pointBorderColor: colorScheme.brand.background, pointBackgroundColor: colorScheme.brand.background, pointHoverBackgroundColor: colorScheme.brand.background, pointHoverBorderColor: colorScheme.brand.background, hoverBorderWidth: 4, pointRadius: 4, pointHoverRadius: 4, pointStyle: lineChartPatterns[i].pointStyle, borderDash: lineChartPatterns[i].lineBorderDash });\n            }\n            return dataPointConfig;\n        });\n    };\n    useEffect(function () {\n        var selectedIndex = -1;\n        var selectedDataSet = 0;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        chartRef.current = new Chart(ctx, __assign(__assign({}, chartConfig({ type: \"line\" })), { data: {\n                labels: Array.isArray(data.labels)\n                    ? data.labels.map(function (label) { return getText(t.locale, label); })\n                    : getText(t.locale, data.labels),\n                datasets: [],\n            }, plugins: [\n                {\n                    afterDatasetsDraw: function (_a) {\n                        var ctx = _a.ctx, tooltip = _a.tooltip, chart = _a.chart;\n                        tooltipAxisYLine({\n                            chart: chart,\n                            ctx: ctx,\n                            tooltip: tooltip,\n                        });\n                    },\n                },\n            ] }));\n        var chart = chartRef.current;\n        /**\n         * Keyboard manipulations\n         */\n        function meta() {\n            return chart.getDatasetMeta(selectedDataSet);\n        }\n        function removeFocusStyleOnClick() {\n            // Remove focus state style if selected by mouse\n            if (canvasRef.current) {\n                canvasRef.current.style.boxShadow = \"none\";\n            }\n        }\n        function removeDataPointsHoverStates() {\n            if (selectedIndex > -1) {\n                meta().controller.removeHoverStyle(meta().data[selectedIndex], 0, selectedIndex);\n            }\n        }\n        function hoverDataPoint(pointID) {\n            meta().controller.setHoverStyle(meta().data[pointID], selectedDataSet, pointID);\n        }\n        function showFocusedDataPoint() {\n            var _a;\n            hoverDataPoint(selectedIndex);\n            tooltipTrigger({\n                chart: chartRef.current,\n                data: data,\n                set: selectedDataSet,\n                index: selectedIndex,\n                siteVariables: siteVariables,\n            });\n            (_a = document\n                .getElementById(chartId + \"-tooltip-\" + selectedDataSet + \"-\" + selectedIndex)) === null || _a === void 0 ? void 0 : _a.focus();\n        }\n        function resetChartStates() {\n            removeDataPointsHoverStates();\n            var activeElements = chart.tooltip._active;\n            var requestedElem = chart.getDatasetMeta(selectedDataSet).data[selectedIndex];\n            activeElements.find(function (v, i) {\n                if (requestedElem._index === v._index) {\n                    activeElements.splice(i, 1);\n                    return true;\n                }\n            });\n            for (var i = 0; i < activeElements.length; i++) {\n                if (requestedElem._index === activeElements[i]._index) {\n                    activeElements.splice(i, 1);\n                    break;\n                }\n            }\n            if (theme === TeamsTheme.HighContrast) {\n                chart.data.datasets.map(function (dataset) {\n                    dataset.borderColor = colorScheme.default.border;\n                    dataset.borderWidth = 2;\n                });\n                chart.update();\n            }\n            chart.tooltip._active = activeElements;\n            chart.tooltip.update(true);\n            chart.draw();\n        }\n        function changeFocus(e) {\n            removeDataPointsHoverStates();\n            switch (e.key) {\n                case \"ArrowRight\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex + 1) % meta().data.length;\n                    break;\n                case \"ArrowLeft\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex || meta().data.length) - 1;\n                    break;\n                case \"ArrowUp\":\n                case \"ArrowDown\":\n                    e.preventDefault();\n                    if (data.datasets.length > 1) {\n                        // Get all values for the current data point\n                        var values_1 = data.datasets.map(function (dataset) { return dataset.data[selectedIndex]; });\n                        // Sort an array to define next available number\n                        var sorted_1 = __spreadArrays(Array.from(new Set(values_1))).sort(function (a, b) { return Number(a) - Number(b); });\n                        var nextValue_1 = sorted_1[sorted_1.findIndex(function (v) { return v === values_1[selectedDataSet]; }) +\n                            (e.key === \"ArrowUp\" ? 1 : -1)];\n                        // Find dataset ID by the next higher number after current\n                        var nextDataSet = values_1.findIndex(function (v) { return v === nextValue_1; });\n                        // If there is no next number that could selected, get number from oposite side\n                        if (nextDataSet < 0) {\n                            nextDataSet = values_1.findIndex(function (v) {\n                                return v ===\n                                    sorted_1[e.key === \"ArrowUp\" ? 0 : data.datasets.length - 1];\n                            });\n                        }\n                        selectedDataSet = nextDataSet;\n                        selectedIndex = selectedIndex % meta().data.length;\n                    }\n                    break;\n            }\n            showFocusedDataPoint();\n        }\n        canvasRef.current.addEventListener(\"click\", removeFocusStyleOnClick);\n        canvasRef.current.addEventListener(\"keydown\", changeFocus);\n        canvasRef.current.addEventListener(\"focusout\", resetChartStates);\n        return function () {\n            if (!chartRef.current)\n                return;\n            if (canvasRef.current) {\n                canvasRef.current.removeEventListener(\"click\", removeFocusStyleOnClick);\n                canvasRef.current.removeEventListener(\"keydown\", changeFocus);\n                canvasRef.current.removeEventListener(\"focusout\", resetChartStates);\n            }\n            chartRef.current.destroy();\n        };\n    }, []);\n    /**\n     * Theme updates\n     */\n    useEffect(function () {\n        if (!chartRef.current)\n            return;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        // Apply new colors scheme for data points\n        chartRef.current.data.datasets = gradients\n            ? createAreaChartDataPoints(ctx)\n            : createDataPoints();\n        // Update tooltip colors scheme\n        setTooltipColorScheme({\n            chart: chartRef.current,\n            siteVariables: siteVariables,\n            chartDataPointColors: chartDataPointColors,\n        });\n        // Update axeses\n        axesConfig({ chart: chartRef.current, ctx: ctx, colorScheme: colorScheme });\n        // Show style changes\n        chartRef.current.update();\n    }, [theme]);\n    function onLegendClick(datasetIndex) {\n        if (!chartRef.current)\n            return;\n        chartRef.current.data.datasets[datasetIndex].hidden = !chartRef.current\n            .data.datasets[datasetIndex].hidden;\n        chartRef.current.update();\n    }\n    return (React.createElement(ChartContainer, { siteVariables: siteVariables, data: data, chartDataPointColors: chartDataPointColors, onLegendClick: onLegendClick },\n        React.createElement(\"canvas\", { id: chartId, ref: canvasRef, tabIndex: 0, style: {\n                userSelect: \"none\",\n            }, \"aria-label\": title }, data.datasets.map(function (set, setKey) {\n            return set.data.forEach(function (item, itemKey) { return (\n            // Generated tooltips for screen readers\n            React.createElement(\"div\", { key: itemKey, id: chartId + \"-tooltip-\" + setKey + \"-\" + itemKey },\n                React.createElement(\"p\", null, item),\n                React.createElement(\"span\", null,\n                    getText(t.locale, set.label),\n                    \": \",\n                    set.data[itemKey]))); });\n        }))));\n};\n//# sourceMappingURL=Line.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { LineChart } from \"./Line\";\nexport var LineAreaChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables;\n    return (React.createElement(LineChart, __assign({}, {\n        title: title,\n        data: data,\n        siteVariables: siteVariables,\n        gradients: true,\n    })));\n};\n//# sourceMappingURL=LineArea.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React, { useEffect } from \"react\";\nimport Chart from \"chart.js\";\nimport { TeamsTheme } from \"../../../themes\";\nimport { tooltipTrigger, tooltipAxisYLine, chartConfig, axesConfig, setTooltipColorScheme, usNumberFormat, } from \"../ChartUtils\";\nimport { ChartContainer } from \"./ChartContainer\";\nimport { buildPattern, chartLineStackedDataPointPatterns, lineChartPatterns, } from \"../ChartPatterns\";\nimport { getText } from \"../../../translations\";\nexport var LineStackedChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables;\n    var colorScheme = siteVariables.colorScheme, theme = siteVariables.theme, colors = siteVariables.colors, t = siteVariables.t;\n    var canvasRef = React.useRef(null);\n    var chartRef = React.useRef();\n    var chartId = React.useMemo(function () { return Math.random().toString(36).substr(2, 9); }, []);\n    var chartDataPointColors = React.useMemo(function () { return [\n        colors.brand[\"600\"],\n        colors.brand[\"200\"],\n        colors.brand[\"800\"],\n        colors.grey[\"400\"],\n        colors.grey[\"500\"],\n        colorScheme.default.borderHover,\n    ]; }, [theme]);\n    var createDataPoints = function () {\n        return Array.from(data.datasets, function (set, i) {\n            var dataPointConfig = {\n                label: getText(t.locale, set.label),\n                data: set.data,\n                borderWidth: 1,\n                borderColor: colorScheme.default.background,\n                hoverBorderColor: chartDataPointColors[i],\n                backgroundColor: chartDataPointColors[i],\n                hoverBorderWidth: 2,\n                hoverBackgroundColor: chartDataPointColors[i],\n                pointBorderColor: colorScheme.default.background,\n                pointBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBorderColor: chartDataPointColors[i],\n                pointHoverBorderWidth: 2,\n                borderCapStyle: \"round\",\n                borderJoinStyle: \"round\",\n                pointBorderWidth: 0,\n                pointRadius: 0,\n                pointHoverRadius: 3,\n                pointStyle: \"circle\",\n                borderDash: [],\n            };\n            if (theme === TeamsTheme.HighContrast) {\n                dataPointConfig = __assign(__assign({}, dataPointConfig), { borderWidth: 3, hoverBorderColor: colorScheme.default.borderHover, hoverBorderWidth: 4, pointBorderColor: colorScheme.default.border, pointHoverBorderColor: colorScheme.default.borderHover, pointHoverRadius: 5, pointStyle: lineChartPatterns[i].pointStyle, borderColor: colorScheme.brand.background, backgroundColor: buildPattern(__assign(__assign({}, chartLineStackedDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background })), hoverBackgroundColor: buildPattern(__assign(__assign({}, chartLineStackedDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.default.borderHover })) });\n            }\n            return dataPointConfig;\n        });\n    };\n    useEffect(function () {\n        var selectedIndex = -1;\n        var selectedDataSet = 0;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        var config = chartConfig({ type: \"line\" });\n        // Stacked chart custom settings\n        config.options.tooltips.callbacks.title = function (tooltipItems) {\n            var total = 0;\n            data.datasets.map(function (dataset) {\n                var value = dataset.data[tooltipItems[0].index];\n                if (typeof value === \"number\") {\n                    return (total += value);\n                }\n            });\n            return ((tooltipItems[0].yLabel / total) * 100).toPrecision(2) + \"% (\" + usNumberFormat(tooltipItems[0].yLabel) + \")\";\n        };\n        config.options.scales.yAxes[0].stacked = true;\n        chartRef.current = new Chart(ctx, __assign(__assign({}, config), { data: {\n                labels: Array.isArray(data.labels)\n                    ? data.labels.map(function (label) { return getText(t.locale, label); })\n                    : getText(t.locale, data.labels),\n                datasets: [],\n            }, plugins: [\n                {\n                    afterDatasetsDraw: function (_a) {\n                        var ctx = _a.ctx, tooltip = _a.tooltip, chart = _a.chart;\n                        tooltipAxisYLine({\n                            chart: chart,\n                            ctx: ctx,\n                            tooltip: tooltip,\n                        });\n                    },\n                },\n            ] }));\n        var chart = chartRef.current;\n        /**\n         * Keyboard manipulations\n         */\n        function meta() {\n            return chart.getDatasetMeta(selectedDataSet);\n        }\n        function removeFocusStyleOnClick() {\n            // Remove focus state style if selected by mouse\n            if (canvasRef.current) {\n                canvasRef.current.style.boxShadow = \"none\";\n            }\n        }\n        function removeDataPointsHoverStates() {\n            if (selectedIndex > -1) {\n                meta().controller.removeHoverStyle(meta().data[selectedIndex], 0, selectedIndex);\n            }\n        }\n        function hoverDataPoint(pointID) {\n            meta().controller.setHoverStyle(meta().data[pointID], selectedDataSet, pointID);\n        }\n        function showFocusedDataPoint() {\n            var _a;\n            hoverDataPoint(selectedIndex);\n            tooltipTrigger({\n                chart: chartRef.current,\n                data: data,\n                set: selectedDataSet,\n                index: selectedIndex,\n                siteVariables: siteVariables,\n            });\n            (_a = document\n                .getElementById(chartId + \"-tooltip-\" + selectedDataSet + \"-\" + selectedIndex)) === null || _a === void 0 ? void 0 : _a.focus();\n        }\n        function resetChartStates() {\n            removeDataPointsHoverStates();\n            var activeElements = chart.tooltip._active;\n            var requestedElem = chart.getDatasetMeta(selectedDataSet).data[selectedIndex];\n            activeElements.find(function (v, i) {\n                if (requestedElem._index === v._index) {\n                    activeElements.splice(i, 1);\n                    return true;\n                }\n            });\n            for (var i = 0; i < activeElements.length; i++) {\n                if (requestedElem._index === activeElements[i]._index) {\n                    activeElements.splice(i, 1);\n                    break;\n                }\n            }\n            if (siteVariables.theme === TeamsTheme.HighContrast) {\n                chartRef.current.data.datasets.map(function (dataset, i) {\n                    dataset.borderColor = siteVariables.colorScheme.default.border;\n                    dataset.borderWidth = 2;\n                    dataset.backgroundColor = buildPattern(__assign(__assign({}, chartLineStackedDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n                });\n                chart.update();\n            }\n            chart.tooltip._active = activeElements;\n            chart.tooltip.update(true);\n            chart.draw();\n        }\n        function changeFocus(e) {\n            removeDataPointsHoverStates();\n            switch (e.key) {\n                case \"ArrowRight\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex + 1) % meta().data.length;\n                    break;\n                case \"ArrowLeft\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex || meta().data.length) - 1;\n                    break;\n                case \"ArrowUp\":\n                    e.preventDefault();\n                    if (data.datasets.length > 1) {\n                        selectedDataSet += 1;\n                        if (selectedDataSet === data.datasets.length) {\n                            selectedDataSet = 0;\n                        }\n                    }\n                    break;\n                case \"ArrowDown\":\n                    e.preventDefault();\n                    if (data.datasets.length > 1) {\n                        selectedDataSet -= 1;\n                        if (selectedDataSet < 0) {\n                            selectedDataSet = data.datasets.length - 1;\n                        }\n                    }\n                    break;\n            }\n            showFocusedDataPoint();\n        }\n        canvasRef.current.addEventListener(\"click\", removeFocusStyleOnClick);\n        canvasRef.current.addEventListener(\"keydown\", changeFocus);\n        canvasRef.current.addEventListener(\"focusout\", resetChartStates);\n        return function () {\n            if (!chartRef.current)\n                return;\n            if (canvasRef.current) {\n                canvasRef.current.removeEventListener(\"click\", removeFocusStyleOnClick);\n                canvasRef.current.removeEventListener(\"keydown\", changeFocus);\n                canvasRef.current.removeEventListener(\"focusout\", resetChartStates);\n            }\n            chartRef.current.destroy();\n        };\n    }, []);\n    /**\n     * Theme updates\n     */\n    useEffect(function () {\n        if (!chartRef.current)\n            return;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        // Apply new colors scheme for data points\n        chartRef.current.data.datasets = createDataPoints();\n        // Update tooltip colors scheme\n        setTooltipColorScheme({\n            chart: chartRef.current,\n            siteVariables: siteVariables,\n            chartDataPointColors: chartDataPointColors,\n            patterns: chartLineStackedDataPointPatterns,\n        });\n        // Update axeses\n        axesConfig({ chart: chartRef.current, ctx: ctx, colorScheme: colorScheme });\n        chartRef.current.update();\n    }, [theme]);\n    function onLegendClick(datasetIndex) {\n        if (!chartRef.current)\n            return;\n        chartRef.current.data.datasets[datasetIndex].hidden = !chartRef.current\n            .data.datasets[datasetIndex].hidden;\n        chartRef.current.update();\n    }\n    return (React.createElement(ChartContainer, { siteVariables: siteVariables, data: data, chartDataPointColors: chartDataPointColors, patterns: chartLineStackedDataPointPatterns, onLegendClick: onLegendClick },\n        React.createElement(\"canvas\", { id: chartId, ref: canvasRef, tabIndex: 0, style: {\n                userSelect: \"none\",\n            }, \"aria-label\": title }, data.datasets.map(function (set, setKey) {\n            return set.data.forEach(function (item, itemKey) { return (\n            // Generated tooltips for screen readers\n            React.createElement(\"div\", { key: itemKey, id: chartId + \"-tooltip-\" + setKey + \"-\" + itemKey },\n                React.createElement(\"p\", null, item),\n                React.createElement(\"span\", null,\n                    getText(t.locale, set.label),\n                    \": \",\n                    set.data[itemKey]))); });\n        }))));\n};\n//# sourceMappingURL=LineStacked.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React, { useEffect } from \"react\";\nimport Chart from \"chart.js\";\nimport { TeamsTheme } from \"../../../themes\";\nimport { tooltipTrigger, tooltipAxisXLine, chartConfig, axesConfig, setTooltipColorScheme, usNumberFormat, } from \"../ChartUtils\";\nimport { ChartContainer } from \"./ChartContainer\";\nimport { buildPattern, chartBarDataPointPatterns } from \"../ChartPatterns\";\nimport { getText } from \"../../../translations\";\nexport var BarChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables, stacked = _a.stacked;\n    var colorScheme = siteVariables.colorScheme, theme = siteVariables.theme, colors = siteVariables.colors, t = siteVariables.t;\n    var canvasRef = React.useRef(null);\n    var chartRef = React.useRef();\n    var chartId = React.useMemo(function () { return Math.random().toString(36).substr(2, 9); }, []);\n    var chartDataPointColors = React.useMemo(function () { return [\n        colors.brand[\"600\"],\n        colors.brand[\"200\"],\n        colors.brand[\"800\"],\n        colors.grey[\"400\"],\n        colors.grey[\"500\"],\n        colorScheme.default.borderHover,\n    ]; }, [theme]);\n    var createDataPoints = function () {\n        return Array.from(data.datasets, function (set, i) {\n            var dataPointConfig = {\n                label: getText(t.locale, set.label),\n                data: set.data,\n                borderWidth: 0,\n                borderSkipped: false,\n                borderColor: colorScheme.default.background,\n                hoverBorderColor: chartDataPointColors[i],\n                backgroundColor: chartDataPointColors[i],\n                hoverBorderWidth: 0,\n                hoverBackgroundColor: chartDataPointColors[i],\n                pointBorderColor: colorScheme.default.background,\n                pointBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBorderColor: chartDataPointColors[i],\n                pointHoverBorderWidth: 0,\n                borderCapStyle: \"round\",\n                borderJoinStyle: \"round\",\n                pointBorderWidth: 0,\n                pointRadius: 0,\n                pointHoverRadius: 0,\n            };\n            if (theme === TeamsTheme.HighContrast) {\n                dataPointConfig = __assign(__assign({}, dataPointConfig), { borderWidth: 1, hoverBorderColor: colorScheme.default.borderHover, hoverBorderWidth: 3, pointBorderColor: colorScheme.default.border, pointHoverBorderColor: colorScheme.default.borderHover, pointHoverRadius: 0, borderColor: colorScheme.brand.background, backgroundColor: buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background })), hoverBackgroundColor: buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.default.borderHover })) });\n            }\n            return dataPointConfig;\n        });\n    };\n    useEffect(function () {\n        var selectedIndex = -1;\n        var selectedDataSet = 0;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        var config = chartConfig({ type: \"bar\" });\n        config.options.hover.mode = \"nearest\";\n        config.options.scales.xAxes[0].gridLines.offsetGridLines =\n            data.datasets.length > 1 && !stacked ? true : false;\n        if (stacked) {\n            config.options.scales.yAxes[0].stacked = true;\n            config.options.scales.xAxes[0].stacked = true;\n            config.options.tooltips.callbacks.title = function (tooltipItems) {\n                var total = 0;\n                data.datasets.map(function (dataset) {\n                    var value = dataset.data[tooltipItems[0].index];\n                    if (typeof value === \"number\") {\n                        return (total += value);\n                    }\n                });\n                return ((tooltipItems[0].yLabel / total) * 100).toPrecision(2) + \"% (\" + usNumberFormat(tooltipItems[0].yLabel) + \")\";\n            };\n        }\n        chartRef.current = new Chart(ctx, __assign(__assign({}, config), { data: {\n                labels: Array.isArray(data.labels)\n                    ? data.labels.map(function (label) { return getText(t.locale, label); })\n                    : getText(t.locale, data.labels),\n                datasets: [],\n            }, plugins: [\n                {\n                    afterDatasetsDraw: function (_a) {\n                        var ctx = _a.ctx, tooltip = _a.tooltip, chart = _a.chart;\n                        tooltipAxisXLine({\n                            chart: chart,\n                            ctx: ctx,\n                            tooltip: tooltip,\n                        });\n                    },\n                },\n            ] }));\n        var chart = chartRef.current;\n        /**\n         * Keyboard manipulations\n         */\n        function meta() {\n            return chart.getDatasetMeta(selectedDataSet);\n        }\n        function removeFocusStyleOnClick() {\n            // Remove focus state style if selected by mouse\n            if (canvasRef.current) {\n                canvasRef.current.style.boxShadow = \"none\";\n            }\n        }\n        function removeDataPointsHoverStates() {\n            if (selectedIndex > -1) {\n                meta().controller.removeHoverStyle(meta().data[selectedIndex], 0, selectedIndex);\n            }\n        }\n        function hoverDataPoint(pointID) {\n            meta().controller.setHoverStyle(meta().data[pointID], selectedDataSet, pointID);\n        }\n        function showFocusedDataPoint() {\n            var _a;\n            hoverDataPoint(selectedIndex);\n            tooltipTrigger({\n                chart: chartRef.current,\n                data: data,\n                set: selectedDataSet,\n                index: selectedIndex,\n                siteVariables: siteVariables,\n            });\n            (_a = document\n                .getElementById(chartId + \"-tooltip-\" + selectedDataSet + \"-\" + selectedIndex)) === null || _a === void 0 ? void 0 : _a.focus();\n        }\n        function resetChartStates() {\n            removeDataPointsHoverStates();\n            var activeElements = chart.tooltip._active;\n            var requestedElem = chart.getDatasetMeta(selectedDataSet).data[selectedIndex];\n            activeElements.find(function (v, i) {\n                if (requestedElem._index === v._index) {\n                    activeElements.splice(i, 1);\n                    return true;\n                }\n            });\n            for (var i = 0; i < activeElements.length; i++) {\n                if (requestedElem._index === activeElements[i]._index) {\n                    activeElements.splice(i, 1);\n                    break;\n                }\n            }\n            if (siteVariables.theme === TeamsTheme.HighContrast) {\n                chartRef.current.data.datasets.map(function (dataset, i) {\n                    dataset.borderColor = siteVariables.colorScheme.default.border;\n                    dataset.borderWidth = 2;\n                    dataset.backgroundColor = buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n                });\n                chart.update();\n            }\n            chart.tooltip._active = activeElements;\n            chart.tooltip.update(true);\n            chart.draw();\n        }\n        function changeFocus(e) {\n            removeDataPointsHoverStates();\n            switch (e.key) {\n                case \"ArrowRight\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex + 1) % meta().data.length;\n                    break;\n                case \"ArrowLeft\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex || meta().data.length) - 1;\n                    break;\n                case \"ArrowUp\":\n                    e.preventDefault();\n                    if (data.datasets.length > 1) {\n                        selectedDataSet += 1;\n                        if (selectedDataSet === data.datasets.length) {\n                            selectedDataSet = 0;\n                        }\n                    }\n                    break;\n                case \"ArrowDown\":\n                    e.preventDefault();\n                    if (data.datasets.length > 1) {\n                        selectedDataSet -= 1;\n                        if (selectedDataSet < 0) {\n                            selectedDataSet = data.datasets.length - 1;\n                        }\n                    }\n                    break;\n            }\n            showFocusedDataPoint();\n        }\n        canvasRef.current.addEventListener(\"click\", removeFocusStyleOnClick);\n        canvasRef.current.addEventListener(\"keydown\", changeFocus);\n        canvasRef.current.addEventListener(\"focusout\", resetChartStates);\n        return function () {\n            if (!chartRef.current)\n                return;\n            if (canvasRef.current) {\n                canvasRef.current.removeEventListener(\"click\", removeFocusStyleOnClick);\n                canvasRef.current.removeEventListener(\"keydown\", changeFocus);\n                canvasRef.current.removeEventListener(\"focusout\", resetChartStates);\n            }\n            chartRef.current.destroy();\n        };\n    }, []);\n    /**\n     * Theme updates\n     */\n    useEffect(function () {\n        if (!chartRef.current)\n            return;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        // Apply new colors scheme for data points\n        chartRef.current.data.datasets = createDataPoints();\n        // Update tooltip colors scheme\n        setTooltipColorScheme({\n            chart: chartRef.current,\n            siteVariables: siteVariables,\n            chartDataPointColors: chartDataPointColors,\n            patterns: chartBarDataPointPatterns,\n        });\n        // Update axeses\n        axesConfig({ chart: chartRef.current, ctx: ctx, colorScheme: colorScheme });\n        chartRef.current.update();\n    }, [theme]);\n    function onLegendClick(datasetIndex) {\n        if (!chartRef.current)\n            return;\n        chartRef.current.data.datasets[datasetIndex].hidden = !chartRef.current\n            .data.datasets[datasetIndex].hidden;\n        chartRef.current.update();\n    }\n    return (React.createElement(ChartContainer, { siteVariables: siteVariables, data: data, chartDataPointColors: chartDataPointColors, patterns: chartBarDataPointPatterns, onLegendClick: onLegendClick },\n        React.createElement(\"canvas\", { id: chartId, ref: canvasRef, tabIndex: 0, style: {\n                userSelect: \"none\",\n            }, \"aria-label\": title }, data.datasets.map(function (set, setKey) {\n            return set.data.forEach(function (item, itemKey) { return (\n            // Generated tooltips for screen readers\n            React.createElement(\"div\", { key: itemKey, id: chartId + \"-tooltip-\" + setKey + \"-\" + itemKey },\n                React.createElement(\"p\", null, item),\n                React.createElement(\"span\", null,\n                    getText(t.locale, set.label),\n                    \": \",\n                    set.data[itemKey]))); });\n        }))));\n};\n//# sourceMappingURL=Bar.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { BarChart } from \"./Bar\";\nexport var BarStackedChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables;\n    return (React.createElement(BarChart, __assign({}, {\n        title: title,\n        data: data,\n        siteVariables: siteVariables,\n        stacked: true,\n    })));\n};\n//# sourceMappingURL=BarStacked.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React, { useEffect } from \"react\";\nimport Chart from \"chart.js\";\nimport { TeamsTheme } from \"../../../themes\";\nimport { tooltipTrigger, chartConfig, axesConfig, setTooltipColorScheme, horizontalBarValue, usNumberFormat, } from \"../ChartUtils\";\nimport { ChartContainer } from \"./ChartContainer\";\nimport { buildPattern, chartBarDataPointPatterns } from \"../ChartPatterns\";\nimport { getText } from \"../../../translations\";\nexport var BarHorizontalChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables, stacked = _a.stacked;\n    var colorScheme = siteVariables.colorScheme, theme = siteVariables.theme, colors = siteVariables.colors, t = siteVariables.t;\n    var canvasRef = React.useRef(null);\n    var chartRef = React.useRef();\n    var chartId = React.useMemo(function () { return Math.random().toString(36).substr(2, 9); }, []);\n    var chartDataPointColors = React.useMemo(function () { return [\n        colors.brand[\"600\"],\n        colors.brand[\"200\"],\n        colors.brand[\"800\"],\n        colors.grey[\"400\"],\n        colors.grey[\"500\"],\n        colorScheme.default.borderHover,\n    ]; }, [theme]);\n    var createDataPoints = function () {\n        return Array.from(data.datasets, function (set, i) {\n            var dataPointConfig = {\n                label: getText(t.locale, set.label),\n                data: set.data,\n                borderWidth: 0,\n                barPercentage: 0.5,\n                borderSkipped: false,\n                borderColor: colorScheme.default.background,\n                hoverBorderColor: chartDataPointColors[i],\n                backgroundColor: chartDataPointColors[i],\n                hoverBorderWidth: 0,\n                hoverBackgroundColor: chartDataPointColors[i],\n                pointBorderColor: colorScheme.default.background,\n                pointBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBorderColor: chartDataPointColors[i],\n                pointHoverBorderWidth: 0,\n                borderCapStyle: \"round\",\n                borderJoinStyle: \"round\",\n                pointBorderWidth: 0,\n                pointRadius: 0,\n                pointHoverRadius: 0,\n            };\n            if (theme === TeamsTheme.HighContrast) {\n                dataPointConfig = __assign(__assign({}, dataPointConfig), { borderWidth: 1, hoverBorderColor: colorScheme.default.borderHover, hoverBorderWidth: 3, pointBorderColor: colorScheme.default.border, pointHoverBorderColor: colorScheme.default.borderHover, pointHoverRadius: 0, borderColor: colorScheme.brand.background, backgroundColor: buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background })), hoverBackgroundColor: buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.default.borderHover })) });\n            }\n            return dataPointConfig;\n        });\n    };\n    useEffect(function () {\n        var selectedIndex = -1;\n        var selectedDataSet = 0;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        var config = chartConfig({ type: \"horizontalBar\" });\n        config.options.layout.padding.top = -6;\n        config.options.layout.padding.left = -32;\n        config.options.hover.mode = \"index\";\n        config.options.scales.xAxes[0].ticks.display = false;\n        config.options.scales.xAxes[0].gridLines.display = false;\n        config.options.scales.yAxes[0].ticks.callback = function (v) { return v; };\n        config.options.scales.yAxes[0].ticks.mirror = true;\n        config.options.scales.yAxes[0].ticks.padding = 0;\n        config.options.scales.yAxes[0].gridLines.display = false;\n        config.options.tooltips.position = \"nearest\";\n        if (stacked) {\n            config.options.hover.mode = \"point\";\n            config.options.scales.yAxes[0].stacked = true;\n            config.options.scales.xAxes[0].stacked = true;\n            config.options.tooltips.mode = \"nearest\";\n            config.options.tooltips.axis = \"y\";\n            config.options.tooltips.callbacks.title = function (tooltipItems) {\n                var total = 0;\n                data.datasets.map(function (dataset) {\n                    var value = dataset.data[tooltipItems[0].index];\n                    if (typeof value === \"number\") {\n                        return (total += value);\n                    }\n                });\n                return ((tooltipItems[0].xLabel / total) * 100).toPrecision(2) + \"% (\" + usNumberFormat(tooltipItems[0].xLabel) + \")\";\n            };\n        }\n        chartRef.current = new Chart(ctx, __assign(__assign({}, config), { data: {\n                labels: Array.isArray(data.labels)\n                    ? data.labels.map(function (label) { return getText(t.locale, label); })\n                    : getText(t.locale, data.labels),\n                datasets: [],\n            }, plugins: [\n                {\n                    afterDatasetsDraw: function (_a) {\n                        var ctx = _a.ctx, tooltip = _a.tooltip, chart = _a.chart;\n                        horizontalBarValue({\n                            chart: chart,\n                            ctx: ctx,\n                            stacked: stacked,\n                        });\n                    },\n                },\n            ] }));\n        var chart = chartRef.current;\n        chart.config.options.scales.yAxes[0].ticks.labelOffset =\n            chart.chartArea.bottom / data.datasets[0].data.length / 2 - 2;\n        /**\n         * Keyboard manipulations\n         */\n        function meta() {\n            return chart.getDatasetMeta(selectedDataSet);\n        }\n        function removeFocusStyleOnClick() {\n            // Remove focus state style if selected by mouse\n            if (canvasRef.current) {\n                canvasRef.current.style.boxShadow = \"none\";\n            }\n        }\n        function removeDataPointsHoverStates() {\n            if (selectedIndex > -1) {\n                meta().controller.removeHoverStyle(meta().data[selectedIndex], 0, selectedIndex);\n            }\n        }\n        function hoverDataPoint(pointID) {\n            meta().controller.setHoverStyle(meta().data[pointID], selectedDataSet, pointID);\n        }\n        function showFocusedDataPoint() {\n            var _a;\n            hoverDataPoint(selectedIndex);\n            tooltipTrigger({\n                chart: chartRef.current,\n                data: data,\n                set: selectedDataSet,\n                index: selectedIndex,\n                siteVariables: siteVariables,\n            });\n            (_a = document\n                .getElementById(chartId + \"-tooltip-\" + selectedDataSet + \"-\" + selectedIndex)) === null || _a === void 0 ? void 0 : _a.focus();\n        }\n        function resetChartStates() {\n            removeDataPointsHoverStates();\n            var activeElements = chart.tooltip._active;\n            var requestedElem = chart.getDatasetMeta(selectedDataSet).data[selectedIndex];\n            activeElements.find(function (v, i) {\n                if (requestedElem._index === v._index) {\n                    activeElements.splice(i, 1);\n                    return true;\n                }\n            });\n            for (var i = 0; i < activeElements.length; i++) {\n                if (requestedElem._index === activeElements[i]._index) {\n                    activeElements.splice(i, 1);\n                    break;\n                }\n            }\n            if (siteVariables.theme === TeamsTheme.HighContrast) {\n                chartRef.current.data.datasets.map(function (dataset, i) {\n                    dataset.borderColor = siteVariables.colorScheme.default.border;\n                    dataset.borderWidth = 2;\n                    dataset.backgroundColor = buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n                });\n                chart.update();\n            }\n            chart.tooltip._active = activeElements;\n            chart.tooltip.update(true);\n            chart.draw();\n        }\n        function changeFocus(e) {\n            removeDataPointsHoverStates();\n            switch (e.key) {\n                case \"ArrowDown\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex + 1) % meta().data.length;\n                    break;\n                case \"ArrowUp\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex || meta().data.length) - 1;\n                    break;\n            }\n            showFocusedDataPoint();\n        }\n        canvasRef.current.addEventListener(\"click\", removeFocusStyleOnClick);\n        canvasRef.current.addEventListener(\"keydown\", changeFocus);\n        canvasRef.current.addEventListener(\"focusout\", resetChartStates);\n        return function () {\n            if (!chartRef.current)\n                return;\n            if (canvasRef.current) {\n                canvasRef.current.removeEventListener(\"click\", removeFocusStyleOnClick);\n                canvasRef.current.removeEventListener(\"keydown\", changeFocus);\n                canvasRef.current.removeEventListener(\"focusout\", resetChartStates);\n            }\n            chartRef.current.destroy();\n        };\n    }, []);\n    /**\n     * Theme updates\n     */\n    useEffect(function () {\n        if (!chartRef.current)\n            return;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        // Apply new colors scheme for data points\n        chartRef.current.data.datasets = createDataPoints();\n        // Update tooltip colors scheme\n        setTooltipColorScheme({\n            chart: chartRef.current,\n            siteVariables: siteVariables,\n            chartDataPointColors: chartDataPointColors,\n            patterns: chartBarDataPointPatterns,\n        });\n        // Update axeses\n        axesConfig({ chart: chartRef.current, ctx: ctx, colorScheme: colorScheme });\n        chartRef.current.options.defaultColor = colorScheme.default.foreground;\n        chartRef.current.update();\n    }, [theme]);\n    function onLegendClick(datasetIndex) {\n        if (!chartRef.current)\n            return;\n        chartRef.current.data.datasets[datasetIndex].hidden = !chartRef.current\n            .data.datasets[datasetIndex].hidden;\n        chartRef.current.update();\n    }\n    return (React.createElement(ChartContainer, { siteVariables: siteVariables, data: data, chartDataPointColors: chartDataPointColors, patterns: chartBarDataPointPatterns, onLegendClick: onLegendClick },\n        React.createElement(\"canvas\", { id: chartId, ref: canvasRef, tabIndex: 0, style: {\n                userSelect: \"none\",\n            }, \"aria-label\": title }, data.datasets.map(function (set, setKey) {\n            return set.data.forEach(function (item, itemKey) { return (\n            // Generated tooltips for screen readers\n            React.createElement(\"div\", { key: itemKey, id: chartId + \"-tooltip-\" + setKey + \"-\" + itemKey },\n                React.createElement(\"p\", null, item),\n                React.createElement(\"span\", null,\n                    getText(t.locale, set.label),\n                    \": \",\n                    set.data[itemKey]))); });\n        }))));\n};\n//# sourceMappingURL=BarHorizontal.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { BarHorizontalChart } from \"./BarHorizontal\";\nexport var BarHorizontalStackedChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables;\n    return (React.createElement(BarHorizontalChart, __assign({}, {\n        title: title,\n        data: data,\n        siteVariables: siteVariables,\n        stacked: true,\n    })));\n};\n//# sourceMappingURL=BarHorizontalStacked.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React, { useEffect } from \"react\";\nimport Chart from \"chart.js\";\nimport { TeamsTheme } from \"../../../themes\";\nimport { tooltipTrigger, chartConfig, axesConfig, setTooltipColorScheme, usNumberFormat, } from \"../ChartUtils\";\nimport { ChartContainer } from \"./ChartContainer\";\nimport { buildPattern, chartBarDataPointPatterns } from \"../ChartPatterns\";\nimport { getText } from \"../../../translations\";\nexport var PieChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables, cutoutPercentage = _a.cutoutPercentage;\n    if (data && data.datasets && data.datasets[0].data.length > 6) {\n        data.datasets[0].data = data.datasets[0].data.slice(0, 6);\n        console.warn(\"Please follow design guidence and apply 6 or less data points per one chart.\");\n    }\n    var colorScheme = siteVariables.colorScheme, theme = siteVariables.theme, colors = siteVariables.colors, t = siteVariables.t;\n    var canvasRef = React.useRef(null);\n    var chartRef = React.useRef();\n    var chartId = React.useMemo(function () { return Math.random().toString(36).substr(2, 9); }, []);\n    var chartDataPointColors = React.useMemo(function () { return [\n        colorScheme.brand.backgroundFocus2,\n        colorScheme.brand.foreground3,\n        colorScheme.brand.background,\n        colorScheme.default.borderHover,\n        colorScheme.default.foreground2,\n        colorScheme.default.foreground,\n    ]; }, [theme]);\n    var pieChartPatterns = Array.from({ length: 6 }, function (v, i) {\n        return buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n    });\n    var pieChartHoverPatterns = Array.from({ length: 6 }, function (v, i) {\n        return buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.default.borderHover }));\n    });\n    var createDataPoints = function () {\n        var dataPointConfig = {\n            label: getText(t.locale, data.datasets[0].label),\n            data: data.datasets[0].data,\n            borderWidth: 2,\n            borderColor: colorScheme.default.background,\n            hoverBorderColor: colorScheme.default.background,\n            backgroundColor: chartDataPointColors,\n            hoverBackgroundColor: chartDataPointColors,\n        };\n        if (theme === TeamsTheme.HighContrast) {\n            dataPointConfig = __assign(__assign({}, dataPointConfig), { borderWidth: 3, hoverBorderColor: colorScheme.default.borderHover, borderColor: colorScheme.brand.background, backgroundColor: pieChartPatterns, hoverBackgroundColor: pieChartHoverPatterns });\n        }\n        return [dataPointConfig];\n    };\n    useEffect(function () {\n        var selectedIndex = -1;\n        var selectedDataSet = 0;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        var config = chartConfig({ type: \"pie\" });\n        config.options.hover.mode = \"point\";\n        config.options.layout.padding.top = 32;\n        config.options.layout.padding.left = -16;\n        config.options.layout.padding.right = 32;\n        config.options.layout.padding.bottom = 32;\n        config.options.scales.xAxes[0].ticks.display = false;\n        config.options.scales.xAxes[0].gridLines.display = false;\n        config.options.scales.yAxes[0].ticks.display = false;\n        config.options.scales.yAxes[0].gridLines.display = false;\n        if (cutoutPercentage) {\n            config.options.cutoutPercentage = cutoutPercentage;\n        }\n        // Pie chart custom settings\n        config.options.tooltips.callbacks.label = function (tooltipItem, data) {\n            return getText(t.locale, data.labels[tooltipItem.index]);\n        };\n        config.options.tooltips.callbacks.labelColor = function (tooltipItem) { return ({\n            backgroundColor: chartDataPointColors[tooltipItem.index],\n        }); };\n        config.options.tooltips.callbacks.title = function (tooltipItems) {\n            return ((Number(data.datasets[0].data[tooltipItems[0].index]) /\n                data.datasets[0].data.reduce(function (a, b) { return a + b; })) *\n                100).toPrecision(2) + \"% (\" + usNumberFormat(Number(data.datasets[0].data[tooltipItems[0].index])) + \")\";\n        };\n        chartRef.current = new Chart(ctx, __assign(__assign({}, config), { data: {\n                labels: Array.isArray(data.labels)\n                    ? data.labels.map(function (label) { return getText(t.locale, label); })\n                    : getText(t.locale, data.labels),\n                datasets: [],\n            } }));\n        var chart = chartRef.current;\n        /**\n         * Keyboard manipulations\n         */\n        function meta() {\n            return chart.getDatasetMeta(selectedDataSet);\n        }\n        function removeFocusStyleOnClick() {\n            // Remove focus state style if selected by mouse\n            if (canvasRef.current) {\n                canvasRef.current.style.boxShadow = \"none\";\n            }\n        }\n        function removeDataPointsHoverStates() {\n            if (selectedIndex > -1) {\n                meta().controller.removeHoverStyle(meta().data[selectedIndex], 0, selectedIndex);\n            }\n        }\n        function hoverDataPoint(pointID) {\n            meta().controller.setHoverStyle(meta().data[pointID], selectedDataSet, pointID);\n        }\n        function showFocusedDataPoint() {\n            var _a;\n            hoverDataPoint(selectedIndex);\n            tooltipTrigger({\n                chart: chartRef.current,\n                data: data,\n                set: selectedDataSet,\n                index: selectedIndex,\n                siteVariables: siteVariables,\n            });\n            (_a = document\n                .getElementById(chartId + \"-tooltip-\" + selectedDataSet + \"-\" + selectedIndex)) === null || _a === void 0 ? void 0 : _a.focus();\n        }\n        function resetChartStates() {\n            removeDataPointsHoverStates();\n            var activeElements = chart.tooltip._active;\n            var requestedElem = chart.getDatasetMeta(selectedDataSet).data[selectedIndex];\n            activeElements.find(function (v, i) {\n                if (requestedElem._index === v._index) {\n                    activeElements.splice(i, 1);\n                    return true;\n                }\n            });\n            for (var i = 0; i < activeElements.length; i++) {\n                if (requestedElem._index === activeElements[i]._index) {\n                    activeElements.splice(i, 1);\n                    break;\n                }\n            }\n            if (siteVariables.theme === TeamsTheme.HighContrast) {\n                chartRef.current.data.datasets.map(function (dataset, i) {\n                    dataset.borderColor = siteVariables.colorScheme.default.border;\n                    dataset.borderWidth = 2;\n                    dataset.backgroundColor = buildPattern(__assign(__assign({}, chartBarDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n                });\n                chart.update();\n            }\n            chart.tooltip._active = activeElements;\n            chart.tooltip.update(true);\n            chart.draw();\n        }\n        function changeFocus(e) {\n            removeDataPointsHoverStates();\n            switch (e.key) {\n                case \"ArrowRight\":\n                case \"ArrowUp\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex + 1) % meta().data.length;\n                    break;\n                case \"ArrowLeft\":\n                case \"ArrowDown\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex || meta().data.length) - 1;\n                    break;\n            }\n            showFocusedDataPoint();\n        }\n        canvasRef.current.addEventListener(\"click\", removeFocusStyleOnClick);\n        canvasRef.current.addEventListener(\"keydown\", changeFocus);\n        canvasRef.current.addEventListener(\"focusout\", resetChartStates);\n        return function () {\n            if (!chartRef.current)\n                return;\n            if (canvasRef.current) {\n                canvasRef.current.removeEventListener(\"click\", removeFocusStyleOnClick);\n                canvasRef.current.removeEventListener(\"keydown\", changeFocus);\n                canvasRef.current.removeEventListener(\"focusout\", resetChartStates);\n            }\n            chartRef.current.destroy();\n        };\n    }, []);\n    /**\n     * Theme updates\n     */\n    useEffect(function () {\n        if (!chartRef.current)\n            return;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        // Apply new colors scheme for data points\n        chartRef.current.data.datasets = createDataPoints();\n        // Update tooltip colors scheme\n        setTooltipColorScheme({\n            chart: chartRef.current,\n            siteVariables: siteVariables,\n            chartDataPointColors: chartDataPointColors,\n            patterns: chartBarDataPointPatterns,\n            verticalDataAlignment: true,\n        });\n        // Update axeses\n        axesConfig({ chart: chartRef.current, ctx: ctx, colorScheme: colorScheme });\n        chartRef.current.update();\n    }, [theme]);\n    function onLegendClick(datasetIndex) {\n        if (!chartRef.current)\n            return;\n        // chartRef.current.data.datasets![0].data![datasetIndex].hidden = !chartRef\n        //   .current.data.datasets![0].data![datasetIndex].hidden;\n        chartRef.current.update();\n    }\n    return (React.createElement(ChartContainer, { siteVariables: siteVariables, data: data, chartDataPointColors: chartDataPointColors, patterns: chartBarDataPointPatterns, onLegendClick: onLegendClick, verticalDataAlignment: true },\n        React.createElement(\"canvas\", { id: chartId, ref: canvasRef, tabIndex: 0, style: {\n                userSelect: \"none\",\n            }, \"aria-label\": title }, data.datasets.map(function (set, setKey) {\n            return set.data.forEach(function (item, itemKey) { return (\n            // Generated tooltips for screen readers\n            React.createElement(\"div\", { key: itemKey, id: chartId + \"-tooltip-\" + setKey + \"-\" + itemKey },\n                React.createElement(\"p\", null, item),\n                React.createElement(\"span\", null,\n                    data.labels && Array.isArray(data.labels)\n                        ? getText(t.locale, data.labels[setKey])\n                        : getText(t.locale, data.labels),\n                    \": \",\n                    set.data[itemKey]))); });\n        }))));\n};\n//# sourceMappingURL=Pie.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { PieChart } from \"./Pie\";\nexport var DoughnutChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables;\n    return (React.createElement(PieChart, __assign({}, {\n        title: title,\n        data: data,\n        siteVariables: siteVariables,\n        cutoutPercentage: 70,\n    })));\n};\n//# sourceMappingURL=Doughnut.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\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    return r;\n};\nimport React, { useEffect } from \"react\";\nimport Chart from \"chart.js\";\nimport { TeamsTheme } from \"../../../themes\";\nimport { tooltipTrigger, chartConfig, axesConfig, setTooltipColorScheme, } from \"../ChartUtils\";\nimport { ChartContainer } from \"./ChartContainer\";\nimport { buildPattern, chartBubbleDataPointPatterns } from \"../ChartPatterns\";\nimport { getText } from \"../../../translations\";\nexport var BubbleChart = function (_a) {\n    var title = _a.title, data = _a.data, siteVariables = _a.siteVariables;\n    var colorScheme = siteVariables.colorScheme, theme = siteVariables.theme, t = siteVariables.t;\n    var canvasRef = React.useRef(null);\n    var chartRef = React.useRef();\n    var chartId = React.useMemo(function () { return Math.random().toString(36).substr(2, 9); }, []);\n    var chartDataPointColors = React.useMemo(function () { return [\n        colorScheme.brand.background,\n        colorScheme.default.borderHover,\n        colorScheme.brand.borderHover,\n        colorScheme.default.foreground2,\n        colorScheme.brand.background4,\n        colorScheme.default.foreground,\n    ]; }, [theme]);\n    // Sort for kayboard access\n    data.datasets.map(function (dataset) {\n        dataset.data.sort(function (a, b) { return a.x - b.x; });\n    });\n    var createDataPoints = function () {\n        return Array.from(data.datasets, function (set, i) {\n            var dataPointConfig = {\n                label: getText(t.locale, set.label),\n                data: set.data,\n                borderWidth: 0,\n                borderSkipped: false,\n                borderColor: colorScheme.default.background,\n                hoverBorderColor: chartDataPointColors[i],\n                backgroundColor: chartDataPointColors[i],\n                hoverBorderWidth: 0,\n                hoverBackgroundColor: chartDataPointColors[i],\n                pointBorderColor: colorScheme.default.background,\n                pointBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBackgroundColor: colorScheme.default.foreground3,\n                pointHoverBorderColor: chartDataPointColors[i],\n                pointHoverBorderWidth: 0,\n                borderCapStyle: \"round\",\n                borderJoinStyle: \"round\",\n                pointBorderWidth: 0,\n                pointRadius: 0,\n                pointHoverRadius: 0,\n            };\n            if (theme === TeamsTheme.HighContrast) {\n                dataPointConfig = __assign(__assign({}, dataPointConfig), { borderWidth: 1, hoverBorderColor: colorScheme.default.borderHover, hoverBorderWidth: 3, pointBorderColor: colorScheme.default.border, pointHoverBorderColor: colorScheme.default.borderHover, pointHoverRadius: 0, borderColor: colorScheme.brand.background, backgroundColor: buildPattern(__assign(__assign({}, chartBubbleDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background })), hoverBackgroundColor: buildPattern(__assign(__assign({}, chartBubbleDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.default.borderHover })) });\n            }\n            return dataPointConfig;\n        });\n    };\n    useEffect(function () {\n        var selectedIndex = -1;\n        var selectedDataSet = 0;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        var config = chartConfig({ type: \"bubble\" });\n        config.options.hover.mode = \"nearest\";\n        chartRef.current = new Chart(ctx, __assign(__assign({}, config), { data: {\n                labels: Array.isArray(data.labels)\n                    ? data.labels.map(function (label) { return getText(t.locale, label); })\n                    : getText(t.locale, data.labels),\n                datasets: [],\n            } }));\n        var chart = chartRef.current;\n        /**\n         * Keyboard manipulations\n         */\n        function meta() {\n            return chart.getDatasetMeta(selectedDataSet);\n        }\n        function removeFocusStyleOnClick() {\n            // Remove focus state style if selected by mouse\n            if (canvasRef.current) {\n                canvasRef.current.style.boxShadow = \"none\";\n            }\n        }\n        function removeDataPointsHoverStates() {\n            if (selectedIndex > -1) {\n                meta().controller.removeHoverStyle(meta().data[selectedIndex], 0, selectedIndex);\n            }\n        }\n        function hoverDataPoint(pointID) {\n            meta().controller.setHoverStyle(meta().data[pointID], selectedDataSet, pointID);\n        }\n        function showFocusedDataPoint() {\n            var _a;\n            hoverDataPoint(selectedIndex);\n            tooltipTrigger({\n                chart: chartRef.current,\n                data: data,\n                set: selectedDataSet,\n                index: selectedIndex,\n                siteVariables: siteVariables,\n            });\n            (_a = document\n                .getElementById(chartId + \"-tooltip-\" + selectedDataSet + \"-\" + selectedIndex)) === null || _a === void 0 ? void 0 : _a.focus();\n        }\n        function resetChartStates() {\n            removeDataPointsHoverStates();\n            var activeElements = chart.tooltip._active;\n            var requestedElem = chart.getDatasetMeta(selectedDataSet).data[selectedIndex];\n            activeElements.find(function (v, i) {\n                if (requestedElem._index === v._index) {\n                    activeElements.splice(i, 1);\n                    return true;\n                }\n            });\n            for (var i = 0; i < activeElements.length; i++) {\n                if (requestedElem._index === activeElements[i]._index) {\n                    activeElements.splice(i, 1);\n                    break;\n                }\n            }\n            if (siteVariables.theme === TeamsTheme.HighContrast) {\n                chartRef.current.data.datasets.map(function (dataset, i) {\n                    dataset.borderColor = siteVariables.colorScheme.default.border;\n                    dataset.borderWidth = 2;\n                    dataset.backgroundColor = buildPattern(__assign(__assign({}, chartBubbleDataPointPatterns(colorScheme)[i]), { backgroundColor: colorScheme.default.background, patternColor: colorScheme.brand.background }));\n                });\n                chart.update();\n            }\n            chart.tooltip._active = activeElements;\n            chart.tooltip.update(true);\n            chart.draw();\n        }\n        function changeFocus(e) {\n            removeDataPointsHoverStates();\n            switch (e.key) {\n                case \"ArrowRight\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex + 1) % meta().data.length;\n                    break;\n                case \"ArrowLeft\":\n                    e.preventDefault();\n                    selectedIndex = (selectedIndex || meta().data.length) - 1;\n                    break;\n                case \"ArrowUp\":\n                case \"ArrowDown\":\n                    e.preventDefault();\n                    if (data.datasets.length > 1) {\n                        // Get all values for the current data point\n                        var values_1 = data.datasets.map(function (dataset) { return dataset.data[selectedIndex]; });\n                        // Sort an array to define next available number\n                        var sorted_1 = __spreadArrays(Array.from(new Set(values_1))).sort(function (a, b) { return a.y - b.y; });\n                        var nextValue_1 = sorted_1[sorted_1.findIndex(function (v) { return v === values_1[selectedDataSet]; }) +\n                            (e.key === \"ArrowUp\" ? 1 : -1)];\n                        // Find dataset ID by the next higher number after current\n                        var nextDataSet = values_1.findIndex(function (v) { return v === nextValue_1; });\n                        // If there is no next number that could selected, get number from oposite side\n                        if (nextDataSet < 0) {\n                            nextDataSet = values_1.findIndex(function (v) {\n                                return v ===\n                                    sorted_1[e.key === \"ArrowUp\" ? 0 : data.datasets.length - 1];\n                            });\n                        }\n                        selectedDataSet = nextDataSet;\n                        selectedIndex = selectedIndex % meta().data.length;\n                    }\n                    break;\n            }\n            showFocusedDataPoint();\n        }\n        canvasRef.current.addEventListener(\"click\", removeFocusStyleOnClick);\n        canvasRef.current.addEventListener(\"keydown\", changeFocus);\n        canvasRef.current.addEventListener(\"focusout\", resetChartStates);\n        return function () {\n            if (!chartRef.current)\n                return;\n            if (canvasRef.current) {\n                canvasRef.current.removeEventListener(\"click\", removeFocusStyleOnClick);\n                canvasRef.current.removeEventListener(\"keydown\", changeFocus);\n                canvasRef.current.removeEventListener(\"focusout\", resetChartStates);\n            }\n            chartRef.current.destroy();\n        };\n    }, []);\n    /**\n     * Theme updates\n     */\n    useEffect(function () {\n        if (!chartRef.current)\n            return;\n        if (!canvasRef.current)\n            return;\n        var ctx = canvasRef.current.getContext(\"2d\");\n        if (!ctx)\n            return;\n        // Apply new colors scheme for data points\n        chartRef.current.data.datasets = createDataPoints();\n        // Update tooltip colors scheme\n        setTooltipColorScheme({\n            chart: chartRef.current,\n            siteVariables: siteVariables,\n            chartDataPointColors: chartDataPointColors,\n            patterns: chartBubbleDataPointPatterns,\n        });\n        // Update axeses\n        axesConfig({ chart: chartRef.current, ctx: ctx, colorScheme: colorScheme });\n        chartRef.current.update();\n    }, [theme]);\n    function onLegendClick(datasetIndex) {\n        if (!chartRef.current)\n            return;\n        chartRef.current.data.datasets[datasetIndex].hidden = !chartRef.current\n            .data.datasets[datasetIndex].hidden;\n        chartRef.current.update();\n    }\n    return (React.createElement(ChartContainer, { siteVariables: siteVariables, data: data, chartDataPointColors: chartDataPointColors, patterns: chartBubbleDataPointPatterns, onLegendClick: onLegendClick },\n        React.createElement(\"canvas\", { id: chartId, ref: canvasRef, tabIndex: 0, style: {\n                userSelect: \"none\",\n            }, \"aria-label\": title }, data.datasets.map(function (set, setKey) {\n            return set.data.forEach(function (item, itemKey) { return (\n            // Generated tooltips for screen readers\n            React.createElement(\"div\", { key: itemKey, id: chartId + \"-tooltip-\" + setKey + \"-\" + itemKey },\n                React.createElement(\"p\", null, item.x),\n                React.createElement(\"span\", null,\n                    getText(t.locale, set.label),\n                    \":\",\n                    \" \",\n                    set.data[itemKey].y))); });\n        }))));\n};\n//# sourceMappingURL=Bubble.js.map","var _a;\nimport React from \"react\";\nimport ChartJS from \"chart.js\";\nimport { ProviderConsumer as FluentUIThemeConsumer, Loader, } from \"@fluentui/react-northstar\";\nimport { ChartTheme } from \"./ChartTheme\";\nimport { EChartTypes } from \"./ChartTypes\";\nimport { BarChart, PieChart, LineChart, LineAreaChart, DoughnutChart, LineStackedChart, BarStackedChart, ChartEmptyState, ChartErrorState, BarHorizontalChart, BarHorizontalStackedChart, BubbleChart, } from \"./Charts\";\nimport { getText } from \"../../translations\";\nChartJS.defaults.global.legend.display = false;\nChartJS.defaults.global.defaultFontFamily = \"Segoe UI, system-ui, sans-serif\";\nvar CHARTS = (_a = {},\n    _a[EChartTypes.Line] = LineChart,\n    _a[EChartTypes.LineArea] = LineAreaChart,\n    _a[EChartTypes.LineStacked] = LineStackedChart,\n    _a[EChartTypes.Bar] = BarChart,\n    _a[EChartTypes.BarStacked] = BarStackedChart,\n    _a[EChartTypes.BarHorizontal] = BarHorizontalChart,\n    _a[EChartTypes.BarHorizontalStacked] = BarHorizontalStackedChart,\n    _a[EChartTypes.Pie] = PieChart,\n    _a[EChartTypes.Doughnut] = DoughnutChart,\n    _a[EChartTypes.Bubble] = BubbleChart,\n    _a);\n/**\n * @public\n */\nexport function Chart(_a) {\n    var title = _a.title, type = _a.type, data = _a.data;\n    if (data && data.datasets && data.datasets.length > 6) {\n        data.datasets = data.datasets.slice(0, 6);\n        console.warn(\"Please follow design guidance and apply 6 or fewer data points per one chart.\");\n    }\n    var ChartContainer = CHARTS[type];\n    return (React.createElement(FluentUIThemeConsumer, { render: function (globalTheme) {\n            var _a;\n            var t = globalTheme.siteVariables.t;\n            return (React.createElement(ChartTheme, { globalTheme: globalTheme },\n                React.createElement(React.Suspense, { fallback: React.createElement(Loader, null) }, data ? ((data === null || data === void 0 ? void 0 : data.datasets.length) || ((_a = data === null || data === void 0 ? void 0 : data.labels) === null || _a === void 0 ? void 0 : _a.length) ? (React.createElement(ChartContainer, { title: getText(t.locale, title), data: data, siteVariables: globalTheme.siteVariables })) : (React.createElement(ChartEmptyState, { siteVariables: globalTheme.siteVariables }))) : (React.createElement(ChartErrorState, { siteVariables: globalTheme.siteVariables })))));\n        } }));\n}\n//# sourceMappingURL=Chart.js.map","import { Flex, Text } from \"@fluentui/react-northstar\";\nimport React from \"react\";\n/**\n * @internal\n */\nvar Placeholder = function (_a) {\n    var message = _a.message;\n    return (React.createElement(Flex, { vAlign: \"center\", hAlign: \"center\", styles: { height: \"100%\", border: \"1px dashed rgb(179, 176, 173)\" } },\n        React.createElement(Text, { size: \"large\", weight: \"semibold\" }, message)));\n};\nexport { Placeholder };\n//# sourceMappingURL=Placeholder.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { Flex, Card, Text, Box, tabListBehavior, Menu, ArrowRightIcon, } from \"@fluentui/react-northstar\";\nimport { DashboardCallout } from \"./DashboardCallout\";\nimport { Chart } from \"../Chart/Chart\";\nimport { Placeholder } from \"./Placeholder\";\n/**\n * The widget’s target size in the Dashboard’s grid layout.\n * @public\n */\nexport var EWidgetSize;\n(function (EWidgetSize) {\n    /**\n     * The widget will occupy 1×1 grid cells.\n     */\n    EWidgetSize[\"Single\"] = \"single\";\n    /**\n     * The widget will occupy 2×1 grid cells.\n     */\n    EWidgetSize[\"Double\"] = \"double\";\n    /**\n     * The widget will occupy 3×1 grid cells.\n     */\n    EWidgetSize[\"Triple\"] = \"triple\";\n    /**\n     * The widget will occupy 2×2 grid cells.\n     */\n    EWidgetSize[\"Box\"] = \"box\";\n})(EWidgetSize || (EWidgetSize = {}));\nexport var Widget = function (_a) {\n    var children = _a.children, size = _a.size;\n    var cardStyle = {\n        gridColumnEnd: \"auto\",\n        gridRowEnd: \"auto\",\n        \"@media (max-width: 842px)\": {\n            gridColumnEnd: \"span 3\",\n        },\n    };\n    if (size === EWidgetSize.Double) {\n        cardStyle.gridColumnEnd = \"span 2\";\n    }\n    if (size === EWidgetSize.Box) {\n        cardStyle.gridColumnEnd = \"span 2\";\n        cardStyle.gridRowEnd = \"span 2\";\n    }\n    if (size === EWidgetSize.Triple) {\n        cardStyle.gridColumnEnd = \"span 3\";\n    }\n    return (React.createElement(Card, { styles: cardStyle, fluid: true }, children));\n};\nexport var WidgetTitle = function (_a) {\n    var widgetId = _a.widgetId, title = _a.title, desc = _a.desc, globalTheme = _a.globalTheme, widgetActionGroup = _a.widgetActionGroup, onInteraction = _a.onInteraction;\n    var _b = React.useState(false), calloutOpen = _b[0], setCalloutOpen = _b[1];\n    return (React.createElement(Card.Header, null,\n        React.createElement(Flex, { gap: \"gap.small\", space: \"between\", style: { minHeight: \"2rem\" } },\n            React.createElement(Flex, { gap: \"gap.small\", column: true },\n                React.createElement(Text, { content: title, style: { margin: 0 }, weight: \"bold\" }),\n                desc && React.createElement(Text, { content: desc, size: \"small\" })),\n            React.createElement(DashboardCallout, __assign({ open: calloutOpen, onOpenChange: function (_a, props) {\n                    var currentTarget = _a.currentTarget;\n                    var open = !!(props === null || props === void 0 ? void 0 : props.open);\n                    setCalloutOpen(open);\n                }, menuProps: {\n                    offset: [0, 0],\n                    position: \"below\",\n                } }, {\n                widgetId: widgetId,\n                globalTheme: globalTheme,\n                widgetActionGroup: widgetActionGroup,\n                onInteraction: onInteraction,\n            })))));\n};\nvar EmptyState = function (_a) {\n    var borderColor = _a.borderColor;\n    return (React.createElement(Box, { styles: {\n            height: \"100%\",\n            border: \"1px dashed \" + borderColor,\n        } }));\n};\nexport var WidgetBody = function (_a) {\n    var body = _a.body, siteVariables = _a.siteVariables;\n    var _b = React.useState(0), activeTabId = _b[0], setActiveTabId = _b[1];\n    return (React.createElement(Card.Body, { style: {\n            marginBottom: \"0.75rem\",\n            height: \"100%\",\n            overflow: \"hidden\",\n        }, fitted: true }, body ? (React.createElement(React.Fragment, null,\n        body.length > 1 && (React.createElement(Menu, { style: {\n                border: \"none\",\n                background: \"none\",\n                marginBottom: \"1.25rem\",\n            }, items: Array.from(body, function (_a) {\n                var id = _a.id, title = _a.title;\n                return Object.assign({ key: id, content: title });\n            }), activeIndex: activeTabId, onItemClick: function (_a, props) {\n                var currentTarget = _a.currentTarget;\n                return setActiveTabId(props && props.index ? props.index : 0);\n            }, accessibility: tabListBehavior, underlined: true, primary: true })),\n        body.map(function (_a, i) {\n            var id = _a.id, content = _a.content;\n            return (React.createElement(Flex, { key: id, styles: {\n                    height: \"100%\",\n                    display: activeTabId === i ? \"flex\" : \"none\",\n                }, column: true }, (function () {\n                switch (content.type) {\n                    case \"chart\":\n                        return (React.createElement(Chart, __assign({}, content.chart)));\n                    case \"placeholder\":\n                        return (React.createElement(Placeholder, { message: content.message }));\n                }\n            })()));\n        }))) : (React.createElement(EmptyState, { borderColor: siteVariables.colors.grey[\"300\"] }))));\n};\nexport var WidgetFooter = function (_a) {\n    var link = _a.link, siteVariables = _a.siteVariables;\n    return (React.createElement(Card.Footer, { fitted: true },\n        React.createElement(Flex, { space: \"between\", vAlign: \"center\" },\n            React.createElement(Text, { as: \"a\", href: link.href, target: \"_blank\", size: \"small\", color: \"brand\", styles: {\n                    textDecoration: \"none\",\n                    \"&:focus\": {\n                        outlineColor: siteVariables.colorScheme.default.foregroundActive,\n                    },\n                } },\n                \"View more\",\n                React.createElement(ArrowRightIcon, { size: \"small\", styles: { margin: \"0 .4rem\" } })))));\n};\n//# sourceMappingURL=DashboardWidget.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React, { useLayoutEffect, useState, useRef } from \"react\";\nimport omit from \"lodash/omit\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Box, ButtonContent, ProviderConsumer as FluentUIThemeConsumer, Toolbar as FluentUIToolbar, Tooltip, tooltipAsLabelBehavior, } from \"@fluentui/react-northstar\";\nimport Icon from \"../../lib/Icon\";\nimport { TeamsTheme } from \"../../themes\";\nimport { ToolbarFilter } from \"./ToolbarFilter\";\nimport { ToolbarFind } from \"./ToolbarFind\";\nimport { ToolbarTheme } from \"./ToolbarTheme\";\nvar slugSeparator = \"__\";\nvar toolbarMenuProps = {\n    offset: [0, 4],\n    position: \"below\",\n};\nvar toolbarActionTooltipProps = (function () {\n    var props = cloneDeep(toolbarMenuProps);\n    props.offset[1] += 10;\n    return props;\n})();\nvar toolbarButtonStyles = {\n    padding: \".5rem\",\n    borderWidth: \"1px\",\n    marginTop: 0,\n    marginBottom: 0,\n    height: \"3rem\",\n    minWidth: 0,\n    \"&:focus:before\": {\n        top: \"calc(.5rem - 1px)\",\n        bottom: \"calc(.5rem - 1px)\",\n    },\n    \"&:focus:after\": {\n        top: \"calc(.5rem - 1px)\",\n        bottom: \"calc(.5rem - 1px)\",\n    },\n};\nfunction flattenedActions(actionGroups) {\n    return Object.keys(actionGroups).reduce(function (acc_i, actionGroupSlug) {\n        var actionGroup = actionGroups[actionGroupSlug];\n        return Object.keys(actionGroup).reduce(function (acc_j, actionKey) {\n            var action = actionGroup[actionKey];\n            acc_j[\"\" + actionGroupSlug + slugSeparator + actionKey] = action;\n            return acc_j;\n        }, acc_i);\n    }, {});\n}\nfunction needsSeparator(actionKey, index, actionKeys) {\n    var _a;\n    return index === 0\n        ? false\n        : ((_a = actionKeys[index - 1]) === null || _a === void 0 ? void 0 : _a.split(slugSeparator)[0]) !==\n            actionKey.split(slugSeparator)[0];\n}\nvar InFlowToolbarItem = function (_a) {\n    var action = _a.action, layout = _a.layout;\n    var icon = action.icon, title = action.title;\n    var contentIcon = (React.createElement(Box, { styles: {\n            width: \"1rem\",\n            display: \"inline-flex\",\n            justifyContent: \"center\",\n            alignItems: \"center\",\n            \"@media (min-width: 640px)\": {\n                marginRight: \".5rem\",\n            },\n        }, className: \"extended-toolbar__near-side__item__icon\" },\n        React.createElement(Icon, { icon: icon })));\n    switch (layout) {\n        case \"verbose\":\n            return (React.createElement(React.Fragment, null,\n                contentIcon,\n                React.createElement(ButtonContent, { content: title })));\n        default:\n        case \"compact\":\n            return (React.createElement(Tooltip, __assign({}, toolbarActionTooltipProps, { trigger: contentIcon, content: title, accessibility: tooltipAsLabelBehavior })));\n    }\n};\n/**\n * @public\n */\nexport var Toolbar = function (props) {\n    var actionGroups = props.actionGroups, filters = props.filters, filtersSingleSelect = props.filtersSingleSelect, find = props.find;\n    var allActions = flattenedActions(actionGroups);\n    var _a = useState(false), overflowOpen = _a[0], setOverflowOpen = _a[1];\n    var _b = useState(false), filtersOpen = _b[0], setFiltersOpen = _b[1];\n    var _c = useState(\"compact\"), layout = _c[0], setLayout = _c[1];\n    var _d = useState(false), findActive = _d[0], setFindActive = _d[1];\n    var layoutQuery = useRef(null);\n    var onChangeLayout = function () {\n        setLayout(layoutQuery.current && layoutQuery.current.matches ? \"verbose\" : \"compact\");\n    };\n    useLayoutEffect(function () {\n        layoutQuery.current = window.matchMedia(\"(min-width: 640px)\");\n        layoutQuery.current.addEventListener(\"change\", onChangeLayout);\n        onChangeLayout();\n        return function () { var _a; return (_a = layoutQuery.current) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"change\", onChangeLayout); };\n    });\n    var inFlowToolbarItems = Object.keys(allActions).reduce(function (acc, actionKey, index, actionKeys) {\n        var action = allActions[actionKey];\n        acc.push(__assign({ key: actionKey, children: React.createElement(InFlowToolbarItem, { action: action, layout: layout }), title: action.title, \"aria-label\": action.title, className: \"extended-toolbar__near-side__item\", styles: __assign(__assign({}, toolbarButtonStyles), { flex: \"0 0 auto\", margin: \"0 .0625rem\", display: \"inline-flex\", justifyContent: \"center\", alignItems: \"center\" }) }, (props.onInteraction && {\n            onClick: function () {\n                return props.onInteraction({\n                    event: \"click\",\n                    target: \"toolbar\",\n                    subject: action.subject || null,\n                    action: actionKey.split(\"__\").pop(),\n                });\n            },\n        })));\n        if (needsSeparator(actionKey, index, actionKeys))\n            acc.push({\n                key: \"divider\" + slugSeparator + index,\n                kind: \"divider\",\n            });\n        return acc;\n    }, []);\n    var overflowToolbarItems = Object.keys(allActions).reduce(function (acc, actionKey, index, actionKeys) {\n        var action = allActions[actionKey];\n        acc.push(__assign({ key: actionKey, content: action.title, icon: React.createElement(Icon, { icon: action.icon }), title: action.title, \"aria-label\": action.title, styles: { padding: \".375rem .5rem\" } }, (props.onInteraction && {\n            onClick: function () {\n                return props.onInteraction({\n                    event: \"click\",\n                    target: \"toolbar\",\n                    action: actionKey.split(\"__\").pop(),\n                    subject: action.subject || null,\n                });\n            },\n        })));\n        if (needsSeparator(actionKey, index, actionKeys))\n            acc.push({\n                key: \"divider\" + slugSeparator + index,\n                kind: \"divider\",\n                styles: { margin: \".25rem 0\", \"&:first-child\": { display: \"none\" } },\n            });\n        return acc;\n    }, []);\n    var displayFindOnly = find && layout === \"compact\" && findActive;\n    return (React.createElement(FluentUIThemeConsumer, { render: function (globalTheme) { return (React.createElement(ToolbarTheme, { globalTheme: globalTheme },\n            React.createElement(Box, __assign({ className: \"extended-toolbar\", variables: function (_a) {\n                    var colorScheme = _a.colorScheme, theme = _a.theme;\n                    return ({\n                        backgroundColor: theme === TeamsTheme.HighContrast\n                            ? colorScheme.grey.background\n                            : colorScheme.default.background2,\n                        elevation: colorScheme.elevations[16],\n                    });\n                }, styles: {\n                    display: \"flex\",\n                    justifyContent: \"space-between\",\n                    padding: \"0 1.25rem\",\n                    boxShadow: \"none\",\n                } }, omit(props, [\n                \"actionGroups\",\n                \"filters\",\n                \"find\",\n                \"filtersSingleSelect\",\n                \"onSelectedFiltersChange\",\n                \"onFindQueryChange\",\n            ])),\n                !displayFindOnly && (React.createElement(FluentUIToolbar, { \"aria-label\": \"Extended toolbar\", className: \"extended-toolbar__near-side\", items: inFlowToolbarItems, overflow: true, overflowOpen: overflowOpen, overflowItem: {\n                        title: \"More\",\n                        menu: toolbarMenuProps,\n                        styles: toolbarButtonStyles,\n                    }, onOverflowOpenChange: function (e, props) {\n                        var open = !!(props === null || props === void 0 ? void 0 : props.overflowOpen);\n                        setOverflowOpen(open);\n                        if (open)\n                            setFiltersOpen(false);\n                    }, getOverflowItems: function (startIndex) {\n                        return overflowToolbarItems.slice(startIndex);\n                    }, styles: {\n                        flex: \"1 0 0\",\n                        overflow: \"hidden\",\n                        maxWidth: \"40rem\",\n                        minWidth: \"2rem\",\n                    } })),\n                React.createElement(Box, { className: \"extended-toolbar__far-side\", styles: {\n                        flex: displayFindOnly ? \"1 1 100%\" : \"0 1 auto\",\n                        display: \"flex\",\n                        flexFlow: \"row nowrap\",\n                        overflow: \"hidden\",\n                        paddingLeft: displayFindOnly ? \"0\" : \"2.5rem\",\n                    } },\n                    !displayFindOnly && filters && (React.createElement(ToolbarFilter, { layout: layout, filters: filters, singleSelect: !!filtersSingleSelect, open: filtersOpen, onOpenChange: function (_e, props) {\n                            var open = !!(props === null || props === void 0 ? void 0 : props.open);\n                            setFiltersOpen(open);\n                            if (open)\n                                setOverflowOpen(false);\n                        }, onSelectedFiltersChange: props.onSelectedFiltersChange, toolbarMenuProps: toolbarMenuProps, toolbarButtonStyles: toolbarButtonStyles })),\n                    find && (React.createElement(ToolbarFind, __assign({}, {\n                        layout: layout,\n                        findActive: findActive,\n                        setFindActive: setFindActive,\n                        toolbarButtonStyles: toolbarButtonStyles,\n                        onFindQueryChange: props.onFindQueryChange,\n                    }))))))); } }));\n};\n//# sourceMappingURL=Toolbar.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { Button, Input, Tooltip, tooltipAsLabelBehavior, } from \"@fluentui/react-northstar\";\nimport { SearchIcon } from \"@fluentui/react-icons-northstar\";\nexport var ToolbarFind = function (props) {\n    switch (props.layout) {\n        case \"verbose\":\n            return (React.createElement(Input, { clearable: true, placeholder: \"Find\", \"aria-label\": \"Find\", className: \"extended-toolbar__far-side__input\", icon: React.createElement(SearchIcon, { outline: true }), styles: {\n                    flexShrink: 1,\n                    width: \"13.125rem\",\n                }, onChange: function (e, inputProps) {\n                    if (props.onFindQueryChange && inputProps)\n                        props.onFindQueryChange(inputProps.value);\n                } }));\n        default:\n        case \"compact\":\n            return props.findActive ? (React.createElement(React.Fragment, null,\n                React.createElement(Input, { autoFocus: true, clearable: true, placeholder: \"Find\", \"aria-label\": \"Find\", className: \"extended-toolbar__far-side__input\", icon: React.createElement(SearchIcon, { outline: true }), styles: {\n                        flexShrink: 1,\n                        flexGrow: 1,\n                        width: \"13.125rem\",\n                    }, onChange: function (e, inputProps) {\n                        if (props.onFindQueryChange && inputProps)\n                            props.onFindQueryChange(inputProps.value);\n                    } }),\n                React.createElement(Button, { text: true, title: \"Cancel\", content: \"Cancel\", className: \"extended-toolbar__find-cancel\", styles: __assign({ marginLeft: \"1px\", marginRight: \"1px\" }, props.toolbarButtonStyles), onClick: function (_e) {\n                        props.onFindQueryChange && props.onFindQueryChange(\"\");\n                        props.setFindActive(false);\n                    } }))) : (React.createElement(Tooltip, { trigger: React.createElement(Button, { text: true, title: \"Find\", content: \"\", className: \"extended-toolbar__find-invoker\", icon: React.createElement(SearchIcon, { outline: true }), styles: __assign(__assign({}, props.toolbarButtonStyles), { marginRight: \".5rem\", flex: \"0 0 auto\" }), onClick: function (_e) { return props.setFindActive(true); } }), content: \"Find\", accessibility: tooltipAsLabelBehavior }));\n    }\n};\n//# sourceMappingURL=ToolbarFind.js.map","/**\n * @public\n */\nexport var TeamsTheme;\n(function (TeamsTheme) {\n    TeamsTheme[\"HighContrast\"] = \"teamsHighContrastTheme\";\n    TeamsTheme[\"Dark\"] = \"teamsDarkTheme\";\n    TeamsTheme[\"Default\"] = \"teamsTheme\";\n})(TeamsTheme || (TeamsTheme = {}));\n//# sourceMappingURL=constants.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nexport var buttonStyles = {\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, _a = componentStyleParameters.props, primary = _a.primary, text = _a.text;\n        return __assign({ borderRadius: \"4px\", color: colorScheme.default.foreground }, (!text && __assign(__assign({ boxShadow: colorScheme.elevations[4] }, (primary && {\n            color: colorScheme.brand.foregroundHover1,\n        })), { \"&:active\": {\n                boxShadow: colorScheme.elevations[2],\n            } })));\n    },\n};\n//# sourceMappingURL=button-styles.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nexport var checkboxStyles = {\n    root: function (componentStyleParameters) {\n        var variables = componentStyleParameters.variables;\n        return __assign({ padding: \".25rem .3125rem\" }, (variables.layout === \"radio-like\" && {\n            display: \"grid\",\n            gridTemplateColumns: \"auto 0.75rem 1fr\",\n        }));\n    },\n};\n//# sourceMappingURL=checkbox-styles.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar borderZero = {\n    borderTopWidth: \"0\",\n    borderRightWidth: \"0\",\n    borderBottomWidth: \"0\",\n    borderLeftWidth: \"0\",\n};\nexport var dropdownStyles = {\n    root: function (componentStyleParameters) {\n        var props = componentStyleParameters.props, colorScheme = componentStyleParameters.theme.siteVariables.colorScheme;\n        return {\n            borderRadius: \"4px\",\n            position: \"relative\",\n            \"&::after\": {\n                content: '\"\"',\n                position: \"absolute\",\n                top: 0,\n                left: 0,\n                bottom: 0,\n                right: 0,\n                borderRadius: \"4px\",\n                borderStyle: \"solid\",\n                borderWidth: \"1px\",\n                borderColor: props.error ? colorScheme.red.foreground : \"transparent\",\n                pointerEvents: \"none\",\n            },\n        };\n    },\n    container: function (componentStyleParameters) {\n        return __assign(__assign({}, borderZero), { \"&:hover\": borderZero });\n    },\n    triggerButton: function (componentStyleParameters) {\n        return {\n            \"--button__content--font-weight\": 400,\n        };\n    },\n};\n//# sourceMappingURL=dropdown-styles.js.map","import get from \"lodash/get\";\nexport var radiogroupItemStyles = {\n    indicator: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, props = componentStyleParameters.props;\n        var checked = get(props, \"checked\");\n        return {\n            width: \"1rem\",\n            height: \"1rem\",\n            background: \"transparent\",\n            borderWidth: \"1px\",\n            borderStyle: \"solid\",\n            borderColor: \"var(--radiogroup__item__indicator-color--outer)\",\n            borderRadius: \"99px\",\n            \"&::before\": {\n                content: '\"\"',\n                display: \"block\",\n                borderRadius: \"9999px\",\n                width: \"100%\",\n                height: \"100%\",\n                padding: \"var(--radiogroup__item__indicator-padding--inner, 2px)\",\n                backgroundClip: \"content-box !important\",\n                background: \"var(--radiogroup__item__indicator-color--inner)\",\n            },\n            \"& .ui-icon\": { display: \"none\" },\n        };\n    },\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, props = componentStyleParameters.props;\n        var checked = get(props, \"checked\");\n        return {\n            borderWidth: 0,\n            marginLeft: 0,\n            marginTop: 0,\n            marginRight: 0,\n            marginBottom: 0,\n            padding: \".25rem .3125rem\",\n            \"--radiogroup__item__indicator-color--outer\": checked\n                ? colorScheme.brand.borderFocus1\n                : colorScheme.default.foreground2,\n            \"--radiogroup__item__indicator-color--inner\": checked\n                ? colorScheme.brand.borderFocus1\n                : \"transparent\",\n            \"&:hover\": checked\n                ? {\n                    \"--radiogroup__item__indicator-color--outer\": colorScheme.brand.backgroundHover,\n                    \"--radiogroup__item__indicator-color--inner\": colorScheme.brand.backgroundHover,\n                }\n                : {\n                    \"--radiogroup__item__indicator-color--outer\": colorScheme.default.foreground1,\n                },\n            \"&:active\": {\n                \"--radiogroup__item__indicator-padding--inner\": \"3px\",\n                \"--radiogroup__item__indicator-color--outer\": checked\n                    ? colorScheme.brand.backgroundPressed\n                    : colorScheme.default.foregroundPressed,\n                \"--radiogroup__item__indicator-color--inner\": checked\n                    ? colorScheme.brand.backgroundPressed\n                    : colorScheme.default.foreground2,\n            },\n        };\n    },\n};\n//# sourceMappingURL=radiogroupItem-styles.js.map","/**\n * Custom static styles.\n *\n * ! Avoid adding anything to this export, unless absolutely necessary.\n * ! Rather, refactor these definitions into component-specific styles.\n */\nvar focusableSelectors = [\n    \":focus\",\n    \".ui-dropdown__container\",\n    \".ui-dropdown__item\",\n];\nexport var staticStyles = [\n    focusableSelectors\n        .map(function (selector) {\n        return \"html[data-whatinput=\\\"keyboard\\\"] \" + selector + \"::before, html[data-whatinput=\\\"keyboard\\\"] \" + selector + \"::after\";\n    })\n        .join(\", \") + \" {\\n    border-width: 2px !important;\\n    border-radius: 4px !important;\\n  }\",\n];\n//# sourceMappingURL=static-styles.js.map","import { mergeComponentStyles } from \"@fluentui/react-northstar\";\nimport mergeWith from \"lodash/mergeWith\";\nimport { avatarStyles } from \"./components/Avatar/avatar-styles\";\nimport { buttonStyles } from \"./components/Button/button-styles\";\nimport { buttonContentStyles } from \"./components/Button/buttonContent-styles\";\nimport { checkboxStyles } from \"./components/Checkbox/checkbox-styles\";\nimport { cardStyles } from \"./components/Card/card-styles\";\nimport { dropdownStyles } from \"./components/Dropdown/dropdown-styles\";\nimport { formMessageStyles } from \"./components/Form/formMessage-styles\";\nimport { radiogroupItemStyles } from \"./components/Radiogroup/radiogroupItem-styles\";\nexport var sharedComponentStyles = {\n    Avatar: avatarStyles,\n    Button: buttonStyles,\n    ButtonContent: buttonContentStyles,\n    Card: cardStyles,\n    Checkbox: checkboxStyles,\n    Dropdown: dropdownStyles,\n    FormMessage: formMessageStyles,\n    RadioGroupItem: radiogroupItemStyles,\n};\nexport var mergeSharedComponentStyles = function (componentStyles) {\n    return mergeWith(componentStyles, sharedComponentStyles, function (styles, sharedStyles) {\n        if (styles && sharedStyles) {\n            return mergeComponentStyles(sharedStyles, styles);\n        }\n        else\n            return styles || sharedStyles;\n    });\n};\nexport { staticStyles as sharedStaticStyles } from \"./static-styles\";\n//# sourceMappingURL=index.js.map","export var avatarStyles = {\n    image: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme;\n        return {\n            borderColor: \"var(--surface-background-color, \" + colorScheme.default.background + \")\",\n        };\n    },\n    label: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme;\n        return {\n            borderColor: \"var(--surface-background-color, \" + colorScheme.default.background + \")\",\n        };\n    },\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme;\n        return {\n            backgroundColor: \"var(--surface-background-color, \" + colorScheme.default.background + \")\",\n        };\n    },\n};\n//# sourceMappingURL=avatar-styles.js.map","export var buttonContentStyles = {\n    root: function () {\n        return {\n            fontWeight: \"var(--button__content--font-weight, 600)\",\n        };\n    },\n};\n//# sourceMappingURL=buttonContent-styles.js.map","export var cardStyles = {\n    root: function () {\n        return {\n            borderRadius: \"4px\",\n        };\n    },\n};\n//# sourceMappingURL=card-styles.js.map","export var formMessageStyles = {\n    root: function () {\n        return {\n            paddingLeft: 0,\n        };\n    },\n};\n//# sourceMappingURL=formMessage-styles.js.map","import { TeamsTheme } from \"../constants\";\nexport default {\n    theme: TeamsTheme.HighContrast,\n    colorScheme: {\n        elevations: {\n            2: \"none\",\n            4: \"none\",\n            8: \"none\",\n            16: \"none\",\n            32: \"none\",\n            64: \"none\",\n        },\n    },\n};\n//# sourceMappingURL=site-variables.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport { teamsHighContrastTheme, } from \"@fluentui/react-northstar\";\nimport { mergeSharedComponentStyles, sharedStaticStyles } from \"../shared\";\n// Teams high contrast theme\n/**\n * Custom override styles, as needed, for each exported Stardust component.\n * All component-specific styling should be defined in these functions.\n */\nimport siteVariables from \"./site-variables\";\nimport { staticStyles } from \"./static-styles\";\nimport { buttonStyles } from \"./components/Button/button-styles\";\nimport { cardStyles } from \"./components/Card/card-styles\";\nexport var highContrastThemeOverrides = {\n    componentStyles: mergeSharedComponentStyles({\n        Button: buttonStyles,\n        Card: cardStyles,\n    }),\n    componentVariables: {},\n    siteVariables: __assign(__assign({}, teamsHighContrastTheme.siteVariables), siteVariables),\n    staticStyles: sharedStaticStyles.concat(staticStyles),\n};\n//# sourceMappingURL=theme.js.map","export var buttonStyles = {\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, _a = componentStyleParameters.props, primary = _a.primary, text = _a.text;\n        return {\n            borderRadius: \"4px\",\n            borderStyle: \"solid\",\n            \"&:hover\": {\n                borderColor: colorScheme.default.borderHover,\n                backgroundColor: colorScheme.default.backgroundHover,\n                color: colorScheme.default.foregroundHover + \" !important\",\n            },\n            \"&:focus\": {\n                backgroundColor: !text && primary\n                    ? colorScheme.brand.background + \" !important\"\n                    : colorScheme.default.background + \" !important\",\n                color: !text && primary\n                    ? colorScheme.brand.foreground4\n                    : colorScheme.default.foreground + \" !important\",\n            },\n        };\n    },\n};\n//# sourceMappingURL=button-styles.js.map","export var cardStyles = {\n    root: function (_a) {\n        var colorScheme = _a.theme.siteVariables.colorScheme, _b = _a.variables;\n        return {\n            borderRadius: \"4px\",\n            borderColor: colorScheme.default.border,\n            \"&:hover\": {\n                backgroundColor: colorScheme.default.background,\n                borderColor: colorScheme.default.borderHover,\n            },\n        };\n    },\n};\n//# sourceMappingURL=card-styles.js.map","/**\n * Custom static styles.\n *\n * ! Avoid adding anything to this export, unless absolutely necessary.\n * ! Rather, refactor these definitions into component-specific styles.\n */\nexport var staticStyles = [];\n//# sourceMappingURL=static-styles.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nexport var alertStyles = {\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, statusNote = componentStyleParameters.variables.statusNote;\n        var colorSchemeDefault = colorScheme.default;\n        return __assign({}, (statusNote && {\n            backgroundColor: colorSchemeDefault.background4,\n        }));\n    },\n};\n//# sourceMappingURL=alert-styles.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nexport var flexStyles = {\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, appTileVertical = componentStyleParameters.variables.appTileVertical;\n        var colorSchemeDefault = colorScheme.default;\n        return __assign({}, (appTileVertical && {\n            color: colorSchemeDefault.foreground1,\n            \":hover\": {\n                backgroundColor: colorSchemeDefault.backgroundHover,\n                color: colorSchemeDefault.foregroundHover,\n            },\n        }));\n    },\n};\n//# sourceMappingURL=flex-styles.js.map","import { TeamsTheme } from \"../constants\";\n/**\n * Color palette for the following new themes.\n *\n * TFL Default - tfl-default\n * TFL Dark - tfl-dark\n * TFW 2 Default - defaultV2\n * TFW 2 Dark - darkV2\n *\n * Design spec at\n *\n * https://www.figma.com/file/bD1cO42H6KuWwpyEeNWoIz/Shell20-ShipPlan-POR?node-id=0%3A1\n */\nexport var colorPaletteV2 = {\n    black: \"#000\",\n    white: \"#fff\",\n    grey: {\n        25: \"#fafafa\",\n        50: \"#f5f5f5\",\n        100: \"#f0f0f0\",\n        150: \"#ebebeb\",\n        200: \"#e0e0e0\",\n        220: \"#d6d6d6\",\n        230: \"#d1d1d1\",\n        250: \"#c7c7c7\",\n        270: \"#bdbdbd\",\n        300: \"#b3b3b3\",\n        310: \"#adadad\",\n        350: \"#949494\",\n        400: \"#8a8a8a\",\n        430: \"#707070\",\n        440: \"#666\",\n        450: \"#616161\",\n        460: \"#5c5c5c\",\n        500: \"#424242\",\n        550: \"#3d3d3d\",\n        600: \"#333\",\n        650: \"#2e2e2e\",\n        700: \"#292929\",\n        750: \"#242424\",\n        800: \"#1f1f1f\",\n        850: \"#1a1a1a\",\n        870: \"#141414\",\n        900: \"#0f0f0f\",\n        910: \"#0a0a0a\",\n    },\n    brand: {\n        50: \"#e9eaf6\",\n        100: \"#dbdcf0\",\n        200: \"#c7c9ff\",\n        300: \"#b2b5ff\",\n        400: \"#a6a7dc\",\n        450: \"#9ea2ff\",\n        500: \"#7479dc\",\n        600: \"#6264a7\",\n        700: \"#494b83\",\n        800: \"#464775\",\n        900: \"#3d3e66\",\n        1000: \"#323348\",\n    },\n};\n/**\n * Site variable overrides for the TFW 2 default theme\n */\nexport default {\n    theme: TeamsTheme.Default,\n    colors: colorPaletteV2,\n    /**\n     * Design spec at\n     * https://www.figma.com/file/bD1cO42H6KuWwpyEeNWoIz/Shell20-ShipPlan-POR?node-id=0%3A1\n     */\n    colorScheme: {\n        elevations: {\n            2: \"0px 0.8px 1.8px rgba(0, 0, 0, 0.13), 0px 0.15px 0.45px rgba(0, 0, 0, 0.11)\",\n            4: \"0px 1.6px 3.6px rgba(0, 0, 0, 0.11), 0px 0.3px 0.9px rgba(0, 0, 0, 0.07)\",\n            8: \"0px 3.2px 7.2px rgba(0, 0, 0, 0.13), 0px 0.6px 1.8px rgba(0, 0, 0, 0.11)\",\n            16: \"0px 6.4px 14.4px rgba(0, 0, 0, 0.13), 0px 1.2px 3.6px rgba(0, 0, 0, 0.11)\",\n            32: \"0px 12.8px 28.8px rgba(0, 0, 0, 0.22), 0px 2.4px 7.4px rgba(0, 0, 0, 0.18)\",\n            64: \"0px 25.6px 57.6px rgba(0, 0, 0, 0.22), 0px 4.8px 14.4px rgba(0, 0, 0, 0.18)\",\n        },\n        default: {\n            foreground: colorPaletteV2.grey[\"750\"],\n            foreground1: colorPaletteV2.grey[\"500\"],\n            foreground2: colorPaletteV2.grey[\"450\"],\n            foreground3: colorPaletteV2.white,\n            foreground4: colorPaletteV2.white,\n            background: colorPaletteV2.white,\n            background1: colorPaletteV2.grey[\"25\"],\n            background2: colorPaletteV2.grey[\"50\"],\n            background3: colorPaletteV2.grey[\"100\"],\n            background4: colorPaletteV2.grey[\"150\"],\n            background5: colorPaletteV2.grey[\"200\"],\n            border: colorPaletteV2.grey[\"230\"],\n            border1: colorPaletteV2.grey[\"100\"],\n            border2: colorPaletteV2.grey[\"200\"],\n            border3: colorPaletteV2.grey[\"100\"],\n            foregroundHover: colorPaletteV2.grey[\"750\"],\n            foregroundHover1: colorPaletteV2.white,\n            foregroundHover2: colorPaletteV2.white,\n            backgroundHover: colorPaletteV2.grey[\"50\"],\n            backgroundHover1: colorPaletteV2.grey[\"25\"],\n            backgroundHover2: \"transparent\",\n            backgroundHover3: colorPaletteV2.grey[\"150\"],\n            backgroundHover4: colorPaletteV2.grey[\"25\"],\n            borderHover: colorPaletteV2.grey[\"250\"],\n            foregroundPressed: colorPaletteV2.grey[\"750\"],\n            backgroundPressed: colorPaletteV2.grey[\"200\"],\n            foregroundActive: colorPaletteV2.grey[\"750\"],\n            foregroundActive1: colorPaletteV2.white,\n            backgroundActive: colorPaletteV2.grey[\"150\"],\n            backgroundActive1: colorPaletteV2.white,\n            borderActive: colorPaletteV2.grey[\"270\"],\n            // foregroundFocus: not specified,\n            // backgroundFocus: not specified,\n            borderFocus: colorPaletteV2.black,\n            borderFocusWithin: colorPaletteV2.white,\n            foregroundDisabled: colorPaletteV2.grey[\"250\"],\n            foregroundDisabled1: colorPaletteV2.grey[\"250\"],\n            borderDisabled: colorPaletteV2.grey[\"200\"],\n            backgroundDisabled: colorPaletteV2.grey[\"100\"],\n            backgroundDisabled1: colorPaletteV2.grey[\"100\"],\n        },\n        brand: {\n            background: colorPaletteV2.brand[\"600\"],\n            background1: colorPaletteV2.brand[\"50\"],\n            background2: colorPaletteV2.brand[\"900\"],\n            background3: colorPaletteV2.brand[\"1000\"],\n            background4: colorPaletteV2.brand[\"800\"],\n            foreground: colorPaletteV2.brand[\"600\"],\n            foreground1: colorPaletteV2.brand[\"600\"],\n            foreground2: colorPaletteV2.brand[\"700\"],\n            foreground3: colorPaletteV2.brand[\"200\"],\n            foreground4: colorPaletteV2.white,\n            border: colorPaletteV2.grey[\"200\"],\n            border1: colorPaletteV2.brand[\"300\"],\n            border2: colorPaletteV2.brand[\"200\"],\n            foregroundHover: colorPaletteV2.brand[\"600\"],\n            foregroundHover1: colorPaletteV2.white,\n            foregroundHover2: colorPaletteV2.brand[\"200\"],\n            borderHover: colorPaletteV2.brand[\"300\"],\n            backgroundHover: colorPaletteV2.brand[\"700\"],\n            backgroundHover1: colorPaletteV2.brand[\"50\"],\n            foregroundPressed: colorPaletteV2.brand[\"700\"],\n            foregroundPressed1: colorPaletteV2.white,\n            backgroundPressed: colorPaletteV2.brand[\"800\"],\n            borderPressed: colorPaletteV2.brand[\"300\"],\n            foregroundActive: colorPaletteV2.brand[\"600\"],\n            foregroundActive1: colorPaletteV2.brand[\"600\"],\n            foregroundActive2: colorPaletteV2.brand[\"50\"],\n            backgroundActive: colorPaletteV2.brand[\"600\"],\n            backgroundActive1: colorPaletteV2.brand[\"600\"],\n            borderActive: colorPaletteV2.grey[\"200\"],\n            borderActive1: colorPaletteV2.brand[\"50\"],\n            borderActive2: colorPaletteV2.brand[\"300\"],\n            foregroundFocus: colorPaletteV2.brand[\"600\"],\n            foregroundFocus1: colorPaletteV2.brand[\"600\"],\n            foregroundFocus2: colorPaletteV2.brand[\"700\"],\n            foregroundFocus3: colorPaletteV2.brand[\"50\"],\n            foregroundFocus4: colorPaletteV2.white,\n            backgroundFocus: colorPaletteV2.brand[\"600\"],\n            backgroundFocus1: colorPaletteV2.brand[\"50\"],\n            backgroundFocus2: colorPaletteV2.brand[\"900\"],\n            backgroundFocus3: colorPaletteV2.brand[\"1000\"],\n            borderFocus: colorPaletteV2.black,\n            borderFocus1: colorPaletteV2.brand[\"600\"],\n            borderFocusWithin: colorPaletteV2.white,\n            foregroundDisabled: colorPaletteV2.grey[\"250\"],\n            foregroundDisabled1: colorPaletteV2.grey[\"250\"],\n            borderDisabled: colorPaletteV2.grey[\"550\"],\n            backgroundDisabled: colorPaletteV2.grey[\"100\"],\n            backgroundDisabled1: colorPaletteV2.grey[\"100\"],\n        },\n    },\n};\n//# sourceMappingURL=site-variables.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport { teamsTheme } from \"@fluentui/react-northstar\";\nimport { mergeSharedComponentStyles, sharedStaticStyles } from \"../shared\";\n/**\n * Custom override styles, as needed, for each exported Stardust component.\n * All component-specific styling should be defined in these functions.\n */\nimport { alertStyles } from \"./components/Alert/alert-styles\";\nimport { flexStyles } from \"./components/Flex/flex-styles\";\nimport { staticStyles } from \"./static-styles\";\nimport siteVariables from \"./site-variables\";\n/**\n * TFW 2 default theme overrides\n */\nexport var defaultV2ThemeOverrides = {\n    componentStyles: mergeSharedComponentStyles({\n        Alert: alertStyles,\n        Flex: flexStyles,\n    }),\n    siteVariables: __assign(__assign({}, teamsTheme.siteVariables), siteVariables),\n    staticStyles: sharedStaticStyles.concat(staticStyles),\n};\n//# sourceMappingURL=theme.js.map","/**\n * Custom static styles.\n *\n * ! Avoid adding anything to this export, unless absolutely necessary.\n * ! Rather, refactor these definitions into component-specific styles.\n */\nexport var staticStyles = [];\n//# sourceMappingURL=static-styles.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nexport var alertStyles = {\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, statusNote = componentStyleParameters.variables.statusNote;\n        var colorSchemeDefault = colorScheme.default;\n        return __assign({}, (statusNote && {\n            backgroundColor: colorSchemeDefault.background4,\n        }));\n    },\n};\n//# sourceMappingURL=alert-styles.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nexport var flexStyles = {\n    root: function (componentStyleParameters) {\n        var colorScheme = componentStyleParameters.theme.siteVariables.colorScheme, _a = componentStyleParameters.variables, isCallingSidePanel = _a.isCallingSidePanel, appTileVertical = _a.appTileVertical;\n        var colorSchemeDefault = colorScheme.default;\n        return __assign(__assign({}, (isCallingSidePanel && {\n            background: colorSchemeDefault.background2,\n            borderLeft: \".1rem solid \" + colorSchemeDefault.border2,\n        })), (appTileVertical && {\n            color: colorSchemeDefault.foreground1,\n            \":hover\": {\n                backgroundColor: colorSchemeDefault.backgroundHover,\n                color: colorSchemeDefault.foregroundHover,\n            },\n        }));\n    },\n};\n//# sourceMappingURL=flex-styles.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nexport var treeStyles = {\n    root: function (componentStyleParameters) {\n        var isCallingRoster = componentStyleParameters.variables.isCallingRoster, colorSchemeDefault = componentStyleParameters.theme.siteVariables.colorScheme.default;\n        return __assign({}, (isCallingRoster && {\n            backgroundColor: colorSchemeDefault.background2,\n        }));\n    },\n};\n//# sourceMappingURL=tree-styles.js.map","import { colorPaletteV2 } from \"../teams-v2/site-variables\";\nimport { TeamsTheme } from \"../constants\";\n/**\n * Site variable overrides for the TFW 2 dark theme\n */\nexport default {\n    theme: TeamsTheme.Dark,\n    colors: colorPaletteV2,\n    colorScheme: {\n        elevations: {\n            2: \"0px 0.8px 1.8px rgba(0, 0, 0, 0.32), 0px 0.15px 0.45px rgba(0, 0, 0, 0.28)\",\n            4: \"0px 1.6px 3.6px rgba(0, 0, 0, 0.28), 0px 0.3px 0.9px rgba(0, 0, 0, 0.32)\",\n            8: \"0px 3.2px 7.2px rgba(0, 0, 0, 0.32), 0px 0.6px 1.8px rgba(0, 0, 0, 0.28)\",\n            16: \"0px 6.4px 14.4px rgba(0, 0, 0, 0.32), 0px 1.2px 3.6px rgba(0, 0, 0, 0.28)\",\n            32: \"0px 12.8px 28.8px rgba(0, 0, 0, 0.32), 0px 2.4px 7.2px rgba(0, 0, 0, 0.28)\",\n            64: \"0px 25.6px 57.6px rgba(0, 0, 0, 0.32), 0px 4.8px 14.4px rgba(0, 0, 0, 0.28)\",\n        },\n        default: {\n            foreground: colorPaletteV2.white,\n            foreground1: colorPaletteV2.grey[\"220\"],\n            foreground2: colorPaletteV2.grey[\"310\"],\n            foreground3: colorPaletteV2.white,\n            foreground4: colorPaletteV2.white,\n            background: colorPaletteV2.grey[\"700\"],\n            background1: colorPaletteV2.grey[\"750\"],\n            background2: colorPaletteV2.grey[\"800\"],\n            background3: colorPaletteV2.grey[\"870\"],\n            background4: colorPaletteV2.grey[\"550\"],\n            background5: colorPaletteV2.grey[\"600\"],\n            border: colorPaletteV2.grey[\"450\"],\n            border1: colorPaletteV2.grey[\"850\"],\n            border2: colorPaletteV2.grey[\"900\"],\n            border3: colorPaletteV2.grey[\"550\"],\n            foregroundHover: colorPaletteV2.white,\n            foregroundHover1: colorPaletteV2.white,\n            foregroundHover2: colorPaletteV2.white,\n            backgroundHover: colorPaletteV2.grey[\"550\"],\n            backgroundHover1: colorPaletteV2.grey[\"750\"],\n            backgroundHover2: \"transparent\",\n            backgroundHover3: colorPaletteV2.grey[\"650\"],\n            backgroundHover4: colorPaletteV2.grey[\"750\"],\n            backgroundHover6: colorPaletteV2.grey[\"550\"],\n            borderHover: colorPaletteV2.grey[\"430\"],\n            foregroundPressed: colorPaletteV2.white,\n            backgroundPressed: colorPaletteV2.grey[\"650\"],\n            foregroundActive: colorPaletteV2.white,\n            foregroundActive1: colorPaletteV2.white,\n            backgroundActive: colorPaletteV2.grey[\"600\"],\n            backgroundActive1: colorPaletteV2.grey[\"800\"],\n            borderActive: colorPaletteV2.grey[\"440\"],\n            // foregroundFocus: not specified,\n            // backgroundFocus: not specified,\n            borderFocus: colorPaletteV2.white,\n            borderFocusWithin: colorPaletteV2.black,\n            foregroundDisabled: colorPaletteV2.grey[\"460\"],\n            foregroundDisabled1: colorPaletteV2.grey[\"460\"],\n            borderDisabled: colorPaletteV2.grey[\"500\"],\n            backgroundDisabled: colorPaletteV2.grey[\"800\"],\n            backgroundDisabled1: colorPaletteV2.grey[\"800\"],\n        },\n        brand: {\n            background: colorPaletteV2.brand[\"600\"],\n            background1: colorPaletteV2.brand[\"1000\"],\n            background2: colorPaletteV2.brand[\"900\"],\n            background3: colorPaletteV2.brand[\"1000\"],\n            background4: colorPaletteV2.grey[\"910\"],\n            foreground: colorPaletteV2.brand[\"450\"],\n            foreground1: colorPaletteV2.brand[\"450\"],\n            foreground2: colorPaletteV2.brand[\"450\"],\n            foreground3: colorPaletteV2.brand[\"200\"],\n            foreground4: colorPaletteV2.white,\n            border: colorPaletteV2.grey[\"450\"],\n            border1: colorPaletteV2.brand[\"800\"],\n            border2: colorPaletteV2.brand[\"800\"],\n            foregroundHover: colorPaletteV2.brand[\"450\"],\n            foregroundHover1: colorPaletteV2.white,\n            foregroundHover2: colorPaletteV2.brand[\"200\"],\n            borderHover: colorPaletteV2.brand[\"600\"],\n            backgroundHover: colorPaletteV2.brand[\"700\"],\n            backgroundHover1: colorPaletteV2.brand[\"900\"],\n            foregroundPressed: colorPaletteV2.brand[\"200\"],\n            foregroundPressed1: colorPaletteV2.white,\n            backgroundPressed: colorPaletteV2.brand[\"800\"],\n            borderPressed: colorPaletteV2.brand[\"800\"],\n            foregroundActive: colorPaletteV2.brand[\"450\"],\n            foregroundActive1: colorPaletteV2.brand[\"450\"],\n            foregroundActive2: colorPaletteV2.brand[\"50\"],\n            backgroundActive: colorPaletteV2.brand[\"450\"],\n            backgroundActive1: colorPaletteV2.brand[\"450\"],\n            borderActive: colorPaletteV2.grey[\"450\"],\n            borderActive1: colorPaletteV2.brand[\"800\"],\n            borderActive2: colorPaletteV2.brand[\"800\"],\n            foregroundFocus: colorPaletteV2.brand[\"450\"],\n            foregroundFocus1: colorPaletteV2.brand[\"450\"],\n            foregroundFocus2: colorPaletteV2.brand[\"450\"],\n            foregroundFocus3: colorPaletteV2.brand[\"50\"],\n            foregroundFocus4: colorPaletteV2.white,\n            backgroundFocus: colorPaletteV2.brand[\"450\"],\n            backgroundFocus1: colorPaletteV2.brand[\"1000\"],\n            backgroundFocus2: colorPaletteV2.brand[\"900\"],\n            backgroundFocus3: colorPaletteV2.brand[\"1000\"],\n            borderFocus: colorPaletteV2.white,\n            borderFocus1: colorPaletteV2.brand[\"450\"],\n            borderFocusWithin: colorPaletteV2.black,\n            foregroundDisabled: colorPaletteV2.grey[\"460\"],\n            foregroundDisabled1: colorPaletteV2.grey[\"460\"],\n            borderDisabled: colorPaletteV2.grey[\"500\"],\n            backgroundDisabled: colorPaletteV2.grey[\"800\"],\n            backgroundDisabled1: colorPaletteV2.grey[\"800\"],\n        },\n    },\n};\n//# sourceMappingURL=site-variables.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport { teamsDarkTheme } from \"@fluentui/react-northstar\";\nimport { mergeSharedComponentStyles, sharedStaticStyles } from \"../shared\";\n/**\n * Custom override styles, as needed, for each exported Stardust component.\n * All component-specific styling should be defined in these functions.\n */\nimport { alertStyles } from \"./components/Alert/alert-styles\";\nimport { flexStyles } from \"./components/Flex/flex-styles\";\nimport { treeStyles } from \"./components/Tree/tree-styles\";\nimport { staticStyles } from \"./static-styles\";\nimport siteVariables from \"./site-variables\";\n/**\n * TFW 2 dark theme overrides\n */\nexport var darkV2ThemeOverrides = {\n    componentStyles: mergeSharedComponentStyles({\n        Alert: alertStyles,\n        Flex: flexStyles,\n        Tree: treeStyles,\n    }),\n    siteVariables: __assign(__assign({}, teamsDarkTheme.siteVariables), siteVariables),\n    staticStyles: sharedStaticStyles.concat(staticStyles),\n};\n//# sourceMappingURL=theme.js.map","/**\n * Custom static styles.\n *\n * ! Avoid adding anything to this export, unless absolutely necessary.\n * ! Rather, refactor these definitions into component-specific styles.\n */\nexport var staticStyles = [];\n//# sourceMappingURL=static-styles.js.map","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","var _a;\nexport var interpolate = function (template, interpolationArgs) {\n    if (interpolationArgs.length) {\n        var t = typeof interpolationArgs[0];\n        var key = void 0;\n        var args = \"string\" === t || \"number\" === t\n            ? Array.prototype.slice.call(interpolationArgs)\n            : interpolationArgs[0];\n        for (key in args) {\n            template = template.replace(new RegExp(\"\\\\{\" + key + \"\\\\}\", \"gi\"), args[key]);\n        }\n    }\n    return template;\n};\nexport var getText = function (currentLocale, textObject) {\n    var interpolationArgs = [];\n    for (var _i = 2; _i < arguments.length; _i++) {\n        interpolationArgs[_i - 2] = arguments[_i];\n    }\n    if (!textObject)\n        return \"\";\n    if (typeof textObject === \"string\")\n        return interpolate(textObject, interpolationArgs);\n    if (currentLocale && textObject.hasOwnProperty(currentLocale))\n        return interpolate(textObject[currentLocale], interpolationArgs);\n    else\n        return interpolate(textObject[Object.keys(textObject)[0]], interpolationArgs);\n};\nexport default (_a = {},\n    _a[\"en-US\"] = {\n        locale: \"en-US\",\n        hello: \"Hello\",\n        \"add lane\": \"Add column\",\n        \"add board item\": \"Add item to board\",\n        \"edit board item\": \"Edit item\",\n        \"board lane\": \"Board column\",\n        \"board item\": \"Board item\",\n        \"name lane\": \"Name this column…\",\n        \"lane pending\": \"New column\",\n        \"move lane nearer\": \"Move left\",\n        \"move lane further\": \"Move right\",\n        delete: \"Delete\",\n        \"confirm delete\": \"Are you sure you want to delete “{title}”?\",\n        \"lane options\": \"Column options\",\n        \"sort-order alphabetical descending\": \"A-Z\",\n        \"sort-order alphabetical ascending\": \"Z-A\",\n        cancel: \"Cancel\",\n        confirm: \"Confirm\",\n        discard: \"Discard\",\n        save: \"Save\",\n        title: \"Title\",\n        subtitle: \"Subtitle\",\n        \"board item body\": \"Description\",\n        \"board item users\": \"Tagged users\",\n        \"board item options\": \"Board item options\",\n        \"on drag start board item\": \"You have lifted the item called {itemTitle} in position {itemPosition} of {laneLength} in the {laneTitle} column.\",\n        \"on drag update board item same lane\": \"You have moved the item called {itemTitle} to position {itemPosition} of {laneLength}.\",\n        \"on drag update board item different lane\": \"You have moved the item called {itemTitle} to position {itemPosition} of {laneLength} in the {laneTitle} column.\",\n        \"on drag end board item\": \"You have placed the item called {itemTitle} in position {itemPosition} of {laneLength} in the {laneTitle} column.\",\n        \"on drag cancel board item\": \"You have cancelled dragging the item called {itemTitle}.\",\n        \"board lane instructions\": \"Press Enter to explore board lane items, then use Escape to shift focus back to the board lane.\",\n        \"toolbar overflow menu\": \"Toolbar overflow menu\",\n        \"could not load data\": \"Could not load data.\",\n        \"no data\": \"No data available.\",\n        \"list empty header\": \"Create your first list item\",\n        \"list empty body\": \"Get started with the ‘Add’ button in the toolbar above.\",\n        \"board empty header\": \"Create your first column\",\n        \"board empty body\": \"Get started by adding a column in the toolbar above.\",\n    },\n    _a);\n//# sourceMappingURL=index.js.map","/**\n * Mapping from numeric key code to key name. If the value is an array, the first element is the\n * primary key name, and the second element is the key name when shift is pressed.\n */\nexport var codes = {\n  // ----------------------------------------\n  // By Code\n  // ----------------------------------------\n  3: 'Cancel',\n  6: 'Help',\n  8: 'Backspace',\n  9: 'Tab',\n  12: 'Clear',\n  13: 'Enter',\n  16: 'Shift',\n  17: 'Control',\n  18: 'Alt',\n  19: 'Pause',\n  20: 'CapsLock',\n  27: 'Escape',\n  28: 'Convert',\n  29: 'NonConvert',\n  30: 'Accept',\n  31: 'ModeChange',\n  32: ' ',\n  33: 'PageUp',\n  34: 'PageDown',\n  35: 'End',\n  36: 'Home',\n  37: 'ArrowLeft',\n  38: 'ArrowUp',\n  39: 'ArrowRight',\n  40: 'ArrowDown',\n  41: 'Select',\n  42: 'Print',\n  43: 'Execute',\n  44: 'PrintScreen',\n  45: 'Insert',\n  46: 'Delete',\n  48: ['0', ')'],\n  49: ['1', '!'],\n  50: ['2', '@'],\n  51: ['3', '#'],\n  52: ['4', '$'],\n  53: ['5', '%'],\n  54: ['6', '^'],\n  55: ['7', '&'],\n  56: ['8', '*'],\n  57: ['9', '('],\n  65: ['a', 'A'],\n  66: ['b', 'B'],\n  67: ['c', 'C'],\n  68: ['d', 'D'],\n  69: ['e', 'E'],\n  70: ['f', 'F'],\n  71: ['g', 'G'],\n  72: ['h', 'H'],\n  73: ['i', 'I'],\n  74: ['j', 'J'],\n  75: ['k', 'K'],\n  76: ['l', 'L'],\n  77: ['m', 'M'],\n  78: ['n', 'N'],\n  79: ['o', 'O'],\n  80: ['p', 'P'],\n  81: ['q', 'Q'],\n  82: ['r', 'R'],\n  83: ['s', 'S'],\n  84: ['t', 'T'],\n  85: ['u', 'U'],\n  86: ['v', 'V'],\n  87: ['w', 'W'],\n  88: ['x', 'X'],\n  89: ['y', 'Y'],\n  90: ['z', 'Z'],\n  91: 'OS',\n  93: 'ContextMenu',\n  112: 'F1',\n  113: 'F2',\n  114: 'F3',\n  115: 'F4',\n  116: 'F5',\n  117: 'F6',\n  118: 'F7',\n  119: 'F8',\n  120: 'F9',\n  121: 'F10',\n  122: 'F11',\n  123: 'F12',\n  124: 'F13',\n  125: 'F14',\n  126: 'F15',\n  127: 'F16',\n  128: 'F17',\n  129: 'F18',\n  130: 'F19',\n  131: 'F20',\n  132: 'F21',\n  133: 'F22',\n  134: 'F23',\n  135: 'F24',\n  144: 'NumLock',\n  145: 'ScrollLock',\n  181: 'VolumeMute',\n  182: 'VolumeDown',\n  183: 'VolumeUp',\n  186: [';', ':'],\n  187: ['=', '+'],\n  188: [',', '<'],\n  189: ['-', '_'],\n  190: ['.', '>'],\n  191: ['/', '?'],\n  192: ['`', '~'],\n  219: ['[', '{'],\n  220: ['\\\\', '|'],\n  221: [']', '}'],\n  222: [\"'\", '\"'],\n  224: 'Meta',\n  225: 'AltGraph',\n  246: 'Attn',\n  247: 'CrSel',\n  248: 'ExSel',\n  249: 'EraseEof',\n  250: 'Play',\n  251: 'ZoomOut'\n};\n//# sourceMappingURL=codes.js.map\n","import { codes } from './codes';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar isObject = function isObject(val) {\n  return val !== null && !Array.isArray(val) && typeof val === 'object';\n};\n/**\n * Get the `keyCode` or `which` value from a keyboard event or `key` name.\n * If an object is provided, the precedence of properties is `keyCode`, `which`, `key`.\n * @param eventOrKey - A keyboard event-like object or `key` name. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\n\n\nexport function getCode(eventOrKey) {\n  if (isObject(eventOrKey)) {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    return eventOrKey.keyCode || eventOrKey.which || keyboardKey[eventOrKey.key];\n  } // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n  return keyboardKey[eventOrKey];\n}\n/**\n * Get the key name from a keyboard event, `keyCode`, or `which` value.\n * If an object is provided, the precedence of properties is `key`, `keyCode`, `which`.\n * @param eventOrCode - A keyboard event-like object or key code. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\n\nexport function getKey(eventOrCode) {\n  var isEvent = isObject(eventOrCode);\n  var event = eventOrCode; // handle events with a `key` already defined\n\n  if (isEvent && event.key) {\n    return event.key;\n  }\n\n  var name = codes[isEvent ? event.keyCode || event.which : eventOrCode];\n\n  if (Array.isArray(name)) {\n    if (isEvent) {\n      name = name[event.shiftKey ? 1 : 0];\n    } else {\n      name = name[0];\n    }\n  }\n\n  return name;\n}\n/**\n * Mapping of keyboard keys with aliases and codes.\n */\n\nexport var keyboardKey = {}; // Populate names on keyboardKey.\n\nfor (var code in codes) {\n  if (codes.hasOwnProperty(code)) {\n    var value = codes[code];\n\n    if (typeof value === 'string') {\n      // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      keyboardKey[value] = Number(code);\n    } else {\n      // Array of valid values which map to the same code.\n      for (var i = 0; i < value.length; i++) {\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        keyboardKey[value[i]] = Number(code);\n      }\n    }\n  }\n} // As single exports for keys that normally have special functionality attached to them.\n\n\nexport var SpacebarKey = keyboardKey[' '];\nexport var Digit0Key = keyboardKey['0'];\nexport var Digit1Key = keyboardKey['1'];\nexport var Digit2Key = keyboardKey['2'];\nexport var Digit3Key = keyboardKey['3'];\nexport var Digit4Key = keyboardKey['4'];\nexport var Digit5Key = keyboardKey['5'];\nexport var Digit6Key = keyboardKey['6'];\nexport var Digit7Key = keyboardKey['7'];\nexport var Digit8Key = keyboardKey['8'];\nexport var Digit9Key = keyboardKey['9'];\nexport var TildeKey = keyboardKey['~'];\nexport var GraveAccentKey = keyboardKey['`'];\nexport var ExclamationPointKey = keyboardKey['!'];\nexport var AtSignKey = keyboardKey['@'];\nexport var PoundSignKey = keyboardKey['#'];\nexport var PercentSignKey = keyboardKey['%'];\nexport var CaretKey = keyboardKey['^'];\nexport var AmpersandKey = keyboardKey['&'];\nexport var PlusSignKey = keyboardKey['+'];\nexport var MinusSignKey = keyboardKey['-'];\nexport var EqualsSignKey = keyboardKey['='];\nexport var DivisionSignKey = keyboardKey['/'];\nexport var MultiplicationSignKey = keyboardKey['*'];\nexport var CommaKey = keyboardKey[','];\nexport var DecimalKey = keyboardKey['.'];\nexport var ColonKey = keyboardKey[':'];\nexport var SemicolonKey = keyboardKey[';'];\nexport var PipeKey = keyboardKey['|'];\nexport var BackSlashKey = keyboardKey['\\\\'];\nexport var QuestionMarkKey = keyboardKey['?'];\nexport var SingleQuoteKey = keyboardKey[\"'\"];\nexport var DoubleQuoteKey = keyboardKey['\"'];\nexport var LeftCurlyBraceKey = keyboardKey['{'];\nexport var RightCurlyBraceKey = keyboardKey['}'];\nexport var LeftParenthesisKey = keyboardKey['('];\nexport var RightParenthesisKey = keyboardKey[')'];\nexport var LeftAngleBracketKey = keyboardKey['<'];\nexport var RightAngleBracketKey = keyboardKey['>'];\nexport var LeftSquareBracketKey = keyboardKey['['];\nexport var RightSquareBracketKey = keyboardKey[']'];\nexport var ArrowDownKey = keyboardKey.ArrowDown;\nexport var ArrowLeftKey = keyboardKey.ArrowLeft;\nexport var ArrowRightKey = keyboardKey.ArrowRight;\nexport var ArrowUpKey = keyboardKey.ArrowUp;\nexport var EndKey = keyboardKey.End;\nexport var EnterKey = keyboardKey.Enter;\nexport var HomeKey = keyboardKey.Home;\nexport var PageDownKey = keyboardKey.PageDown;\nexport var PageUpKey = keyboardKey.PageUp;\nexport var TabKey = keyboardKey.Tab;\n//# sourceMappingURL=index.js.map\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n  if (condition) {\n    return;\n  }\n\n  if (isProduction) {\n    throw new Error(prefix);\n  } else {\n    throw new Error(prefix + \": \" + (message || ''));\n  }\n}\n\nexport default invariant;\n","//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks() {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback(callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return (\n            input instanceof Array ||\n            Object.prototype.toString.call(input) === '[object Array]'\n        );\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return (\n            input != null &&\n            Object.prototype.toString.call(input) === '[object Object]'\n        );\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return Object.getOwnPropertyNames(obj).length === 0;\n        } else {\n            var k;\n            for (k in obj) {\n                if (hasOwnProp(obj, k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return (\n            typeof input === 'number' ||\n            Object.prototype.toString.call(input) === '[object Number]'\n        );\n    }\n\n    function isDate(input) {\n        return (\n            input instanceof Date ||\n            Object.prototype.toString.call(input) === '[object Date]'\n        );\n    }\n\n    function map(arr, fn) {\n        var res = [],\n            i;\n        for (i = 0; i < arr.length; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty: false,\n            unusedTokens: [],\n            unusedInput: [],\n            overflow: -2,\n            charsLeftOver: 0,\n            nullInput: false,\n            invalidEra: null,\n            invalidMonth: null,\n            invalidFormat: false,\n            userInvalidated: false,\n            iso: false,\n            parsedDateParts: [],\n            era: null,\n            meridiem: null,\n            rfc2822: false,\n            weekdayMismatch: false,\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this),\n                len = t.length >>> 0,\n                i;\n\n            for (i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        if (m._isValid == null) {\n            var flags = getParsingFlags(m),\n                parsedParts = some.call(flags.parsedDateParts, function (i) {\n                    return i != null;\n                }),\n                isNowValid =\n                    !isNaN(m._d.getTime()) &&\n                    flags.overflow < 0 &&\n                    !flags.empty &&\n                    !flags.invalidEra &&\n                    !flags.invalidMonth &&\n                    !flags.invalidWeekday &&\n                    !flags.weekdayMismatch &&\n                    !flags.nullInput &&\n                    !flags.invalidFormat &&\n                    !flags.userInvalidated &&\n                    (!flags.meridiem || (flags.meridiem && parsedParts));\n\n            if (m._strict) {\n                isNowValid =\n                    isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n\n            if (Object.isFrozen == null || !Object.isFrozen(m)) {\n                m._isValid = isNowValid;\n            } else {\n                return isNowValid;\n            }\n        }\n        return m._isValid;\n    }\n\n    function createInvalid(flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        } else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = (hooks.momentProperties = []),\n        updateInProgress = false;\n\n    function copyConfig(to, from) {\n        var i, prop, val;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentProperties.length > 0) {\n            for (i = 0; i < momentProperties.length; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment(obj) {\n        return (\n            obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n        );\n    }\n\n    function warn(msg) {\n        if (\n            hooks.suppressDeprecationWarnings === false &&\n            typeof console !== 'undefined' &&\n            console.warn\n        ) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [],\n                    arg,\n                    i,\n                    key;\n                for (i = 0; i < arguments.length; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (key in arguments[0]) {\n                            if (hasOwnProp(arguments[0], key)) {\n                                arg += key + ': ' + arguments[0][key] + ', ';\n                            }\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(\n                    msg +\n                        '\\nArguments: ' +\n                        Array.prototype.slice.call(args).join('') +\n                        '\\n' +\n                        new Error().stack\n                );\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    function set(config) {\n        var prop, i;\n        for (i in config) {\n            if (hasOwnProp(config, i)) {\n                prop = config[i];\n                if (isFunction(prop)) {\n                    this[i] = prop;\n                } else {\n                    this['_' + i] = prop;\n                }\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' +\n                /\\d{1,2}/.source\n        );\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig),\n            prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (\n                hasOwnProp(parentConfig, prop) &&\n                !hasOwnProp(childConfig, prop) &&\n                isObject(parentConfig[prop])\n            ) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i,\n                res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay: '[Today at] LT',\n        nextDay: '[Tomorrow at] LT',\n        nextWeek: 'dddd [at] LT',\n        lastDay: '[Yesterday at] LT',\n        lastWeek: '[Last] dddd [at] LT',\n        sameElse: 'L',\n    };\n\n    function calendar(key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (\n            (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n            absNumber\n        );\n    }\n\n    var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n        localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n        formatFunctions = {},\n        formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken(token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(\n                    func.apply(this, arguments),\n                    token\n                );\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens),\n            i,\n            length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '',\n                i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i])\n                    ? array[i].call(mom, format)\n                    : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] =\n            formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(\n                localFormattingTokens,\n                replaceLongDateFormatTokens\n            );\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var defaultLongDateFormat = {\n        LTS: 'h:mm:ss A',\n        LT: 'h:mm A',\n        L: 'MM/DD/YYYY',\n        LL: 'MMMM D, YYYY',\n        LLL: 'MMMM D, YYYY h:mm A',\n        LLLL: 'dddd, MMMM D, YYYY h:mm A',\n    };\n\n    function longDateFormat(key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper\n            .match(formattingTokens)\n            .map(function (tok) {\n                if (\n                    tok === 'MMMM' ||\n                    tok === 'MM' ||\n                    tok === 'DD' ||\n                    tok === 'dddd'\n                ) {\n                    return tok.slice(1);\n                }\n                return tok;\n            })\n            .join('');\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate() {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d',\n        defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal(number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future: 'in %s',\n        past: '%s ago',\n        s: 'a few seconds',\n        ss: '%d seconds',\n        m: 'a minute',\n        mm: '%d minutes',\n        h: 'an hour',\n        hh: '%d hours',\n        d: 'a day',\n        dd: '%d days',\n        w: 'a week',\n        ww: '%d weeks',\n        M: 'a month',\n        MM: '%d months',\n        y: 'a year',\n        yy: '%d years',\n    };\n\n    function relativeTime(number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return isFunction(output)\n            ? output(number, withoutSuffix, string, isFuture)\n            : output.replace(/%d/i, number);\n    }\n\n    function pastFuture(diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {};\n\n    function addUnitAlias(unit, shorthand) {\n        var lowerCase = unit.toLowerCase();\n        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n    }\n\n    function normalizeUnits(units) {\n        return typeof units === 'string'\n            ? aliases[units] || aliases[units.toLowerCase()]\n            : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {};\n\n    function addUnitPriority(unit, priority) {\n        priorities[unit] = priority;\n    }\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [],\n            u;\n        for (u in unitsObj) {\n            if (hasOwnProp(unitsObj, u)) {\n                units.push({ unit: u, priority: priorities[u] });\n            }\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    function absFloor(number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    function makeGetSet(unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get(mom, unit) {\n        return mom.isValid()\n            ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n            : NaN;\n    }\n\n    function set$1(mom, unit, value) {\n        if (mom.isValid() && !isNaN(value)) {\n            if (\n                unit === 'FullYear' &&\n                isLeapYear(mom.year()) &&\n                mom.month() === 1 &&\n                mom.date() === 29\n            ) {\n                value = toInt(value);\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n                    value,\n                    mom.month(),\n                    daysInMonth(value, mom.month())\n                );\n            } else {\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function stringGet(units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n    function stringSet(units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units),\n                i;\n            for (i = 0; i < prioritized.length; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    var match1 = /\\d/, //       0 - 9\n        match2 = /\\d\\d/, //      00 - 99\n        match3 = /\\d{3}/, //     000 - 999\n        match4 = /\\d{4}/, //    0000 - 9999\n        match6 = /[+-]?\\d{6}/, // -999999 - 999999\n        match1to2 = /\\d\\d?/, //       0 - 99\n        match3to4 = /\\d\\d\\d\\d?/, //     999 - 9999\n        match5to6 = /\\d\\d\\d\\d\\d\\d?/, //   99999 - 999999\n        match1to3 = /\\d{1,3}/, //       0 - 999\n        match1to4 = /\\d{1,4}/, //       0 - 9999\n        match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n        matchUnsigned = /\\d+/, //       0 - inf\n        matchSigned = /[+-]?\\d+/, //    -inf - inf\n        matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n        matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n        matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n        // any word (or two) characters or numbers including two/three word month in arabic.\n        // includes scottish gaelic two word and hyphenated months\n        matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n        regexes;\n\n    regexes = {};\n\n    function addRegexToken(token, regex, strictRegex) {\n        regexes[token] = isFunction(regex)\n            ? regex\n            : function (isStrict, localeData) {\n                  return isStrict && strictRegex ? strictRegex : regex;\n              };\n    }\n\n    function getParseRegexForToken(token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(\n            s\n                .replace('\\\\', '')\n                .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n                    matched,\n                    p1,\n                    p2,\n                    p3,\n                    p4\n                ) {\n                    return p1 || p2 || p3 || p4;\n                })\n        );\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    var tokens = {};\n\n    function addParseToken(token, callback) {\n        var i,\n            func = callback;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        for (i = 0; i < token.length; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken(token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    var YEAR = 0,\n        MONTH = 1,\n        DATE = 2,\n        HOUR = 3,\n        MINUTE = 4,\n        SECOND = 5,\n        MILLISECOND = 6,\n        WEEK = 7,\n        WEEKDAY = 8;\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1\n            ? isLeapYear(year)\n                ? 29\n                : 28\n            : 31 - ((modMonth % 7) % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // ALIASES\n\n    addUnitAlias('month', 'M');\n\n    // PRIORITY\n\n    addUnitPriority('month', 8);\n\n    // PARSING\n\n    addRegexToken('M', match1to2);\n    addRegexToken('MM', match1to2, match2);\n    addRegexToken('MMM', function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n            '_'\n        ),\n        MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n        defaultMonthsShortRegex = matchWord,\n        defaultMonthsRegex = matchWord;\n\n    function localeMonths(m, format) {\n        if (!m) {\n            return isArray(this._months)\n                ? this._months\n                : this._months['standalone'];\n        }\n        return isArray(this._months)\n            ? this._months[m.month()]\n            : this._months[\n                  (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n                      ? 'format'\n                      : 'standalone'\n              ][m.month()];\n    }\n\n    function localeMonthsShort(m, format) {\n        if (!m) {\n            return isArray(this._monthsShort)\n                ? this._monthsShort\n                : this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort)\n            ? this._monthsShort[m.month()]\n            : this._monthsShort[\n                  MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n              ][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse(monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp(\n                    '^' + this.months(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n                this._shortMonthsParse[i] = new RegExp(\n                    '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n                    'i'\n                );\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex =\n                    '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'MMMM' &&\n                this._longMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'MMM' &&\n                this._shortMonthsParse[i].test(monthName)\n            ) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth(mom, value) {\n        var dayOfMonth;\n\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n        return mom;\n    }\n\n    function getSetMonth(value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth() {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    function monthsShortRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict\n                ? this._monthsShortStrictRegex\n                : this._monthsShortRegex;\n        }\n    }\n\n    function monthsRegex(isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict\n                ? this._monthsStrictRegex\n                : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortPieces.push(this.monthsShort(mom, ''));\n            longPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.monthsShort(mom, ''));\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n        for (i = 0; i < 12; i++) {\n            shortPieces[i] = regexEscape(shortPieces[i]);\n            longPieces[i] = regexEscape(longPieces[i]);\n        }\n        for (i = 0; i < 24; i++) {\n            mixedPieces[i] = regexEscape(mixedPieces[i]);\n        }\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._monthsShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY', 4], 0, 'year');\n    addFormatToken(0, ['YYYYY', 5], 0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // ALIASES\n\n    addUnitAlias('year', 'y');\n\n    // PRIORITIES\n\n    addUnitPriority('year', 1);\n\n    // PARSING\n\n    addRegexToken('Y', matchSigned);\n    addRegexToken('YY', match1to2, match2);\n    addRegexToken('YYYY', match1to4, match4);\n    addRegexToken('YYYYY', match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] =\n            input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear() {\n        return isLeapYear(this.year());\n    }\n\n    function createDate(y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate(y) {\n        var date, args;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear,\n            resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear,\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek,\n            resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear,\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // ALIASES\n\n    addUnitAlias('week', 'w');\n    addUnitAlias('isoWeek', 'W');\n\n    // PRIORITIES\n\n    addUnitPriority('week', 5);\n    addUnitPriority('isoWeek', 5);\n\n    // PARSING\n\n    addRegexToken('w', match1to2);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W', match1to2);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n        input,\n        week,\n        config,\n        token\n    ) {\n        week[token.substr(0, 1)] = toInt(input);\n    });\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek(mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow: 0, // Sunday is the first day of the week.\n        doy: 6, // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek() {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear() {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek(input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek(input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // ALIASES\n\n    addUnitAlias('day', 'd');\n    addUnitAlias('weekday', 'e');\n    addUnitAlias('isoWeekday', 'E');\n\n    // PRIORITY\n    addUnitPriority('day', 11);\n    addUnitPriority('weekday', 11);\n    addUnitPriority('isoWeekday', 11);\n\n    // PARSING\n\n    addRegexToken('d', match1to2);\n    addRegexToken('e', match1to2);\n    addRegexToken('E', match1to2);\n    addRegexToken('dd', function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd', function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd', function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays(ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        defaultWeekdaysRegex = matchWord,\n        defaultWeekdaysShortRegex = matchWord,\n        defaultWeekdaysMinRegex = matchWord;\n\n    function localeWeekdays(m, format) {\n        var weekdays = isArray(this._weekdays)\n            ? this._weekdays\n            : this._weekdays[\n                  m && m !== true && this._weekdays.isFormat.test(format)\n                      ? 'format'\n                      : 'standalone'\n              ];\n        return m === true\n            ? shiftWeekdays(weekdays, this._week.dow)\n            : m\n            ? weekdays[m.day()]\n            : weekdays;\n    }\n\n    function localeWeekdaysShort(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : m\n            ? this._weekdaysShort[m.day()]\n            : this._weekdaysShort;\n    }\n\n    function localeWeekdaysMin(m) {\n        return m === true\n            ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : m\n            ? this._weekdaysMin[m.day()]\n            : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i,\n            ii,\n            mom,\n            llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(\n                    mom,\n                    ''\n                ).toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse(weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._shortWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n                this._minWeekdaysParse[i] = new RegExp(\n                    '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n                    'i'\n                );\n            }\n            if (!this._weekdaysParse[i]) {\n                regex =\n                    '^' +\n                    this.weekdays(mom, '') +\n                    '|^' +\n                    this.weekdaysShort(mom, '') +\n                    '|^' +\n                    this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (\n                strict &&\n                format === 'dddd' &&\n                this._fullWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'ddd' &&\n                this._shortWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (\n                strict &&\n                format === 'dd' &&\n                this._minWeekdaysParse[i].test(weekdayName)\n            ) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek(input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    function weekdaysRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict\n                ? this._weekdaysStrictRegex\n                : this._weekdaysRegex;\n        }\n    }\n\n    function weekdaysShortRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict\n                ? this._weekdaysShortStrictRegex\n                : this._weekdaysShortRegex;\n        }\n    }\n\n    function weekdaysMinRegex(isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict\n                ? this._weekdaysMinStrictRegex\n                : this._weekdaysMinRegex;\n        }\n    }\n\n    function computeWeekdaysParse() {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [],\n            shortPieces = [],\n            longPieces = [],\n            mixedPieces = [],\n            i,\n            mom,\n            minp,\n            shortp,\n            longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = regexEscape(this.weekdaysMin(mom, ''));\n            shortp = regexEscape(this.weekdaysShort(mom, ''));\n            longp = regexEscape(this.weekdays(mom, ''));\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp(\n            '^(' + longPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysShortStrictRegex = new RegExp(\n            '^(' + shortPieces.join('|') + ')',\n            'i'\n        );\n        this._weekdaysMinStrictRegex = new RegExp(\n            '^(' + minPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return (\n            '' +\n            hFormat.apply(this) +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return (\n            '' +\n            this.hours() +\n            zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2)\n        );\n    });\n\n    function meridiem(token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(\n                this.hours(),\n                this.minutes(),\n                lowercase\n            );\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // ALIASES\n\n    addUnitAlias('hour', 'h');\n\n    // PRIORITY\n    addUnitPriority('hour', 13);\n\n    // PARSING\n\n    function matchMeridiem(isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a', matchMeridiem);\n    addRegexToken('A', matchMeridiem);\n    addRegexToken('H', match1to2);\n    addRegexToken('h', match1to2);\n    addRegexToken('k', match1to2);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4,\n            pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM(input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return (input + '').toLowerCase().charAt(0) === 'p';\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n        // Setting the hour should keep the time, because the user explicitly\n        // specified which hour they want. So trying to maintain the same hour (in\n        // a new timezone) makes sense. Adding/subtracting hours does not follow\n        // this rule.\n        getSetHour = makeGetSet('Hours', true);\n\n    function localeMeridiem(hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse,\n    };\n\n    // internal storage for locale config files\n    var locales = {},\n        localeFamilies = {},\n        globalLocale;\n\n    function commonPrefix(arr1, arr2) {\n        var i,\n            minl = Math.min(arr1.length, arr2.length);\n        for (i = 0; i < minl; i += 1) {\n            if (arr1[i] !== arr2[i]) {\n                return i;\n            }\n        }\n        return minl;\n    }\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0,\n            j,\n            next,\n            locale,\n            split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (\n                    next &&\n                    next.length >= j &&\n                    commonPrefix(split, next) >= j - 1\n                ) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null,\n            aliasedRequire;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (\n            locales[name] === undefined &&\n            typeof module !== 'undefined' &&\n            module &&\n            module.exports\n        ) {\n            try {\n                oldLocale = globalLocale._abbr;\n                aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {\n                // mark as not found to avoid repeating expensive file require call causing high CPU\n                // when trying to find en-US, en_US, en-us for every format call\n                locales[name] = null; // null means not found\n            }\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale(key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            } else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            } else {\n                if (typeof console !== 'undefined' && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn(\n                        'Locale ' + key + ' not found. Did you forget to load it?'\n                    );\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale(name, config) {\n        if (config !== null) {\n            var locale,\n                parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple(\n                    'defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n                );\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config,\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale,\n                tmpLocale,\n                parentConfig = baseConfig;\n\n            if (locales[name] != null && locales[name].parentLocale != null) {\n                // Update existing child locale in-place to avoid memory-leaks\n                locales[name].set(mergeConfigs(locales[name]._config, config));\n            } else {\n                // MERGE\n                tmpLocale = loadLocale(name);\n                if (tmpLocale != null) {\n                    parentConfig = tmpLocale._config;\n                }\n                config = mergeConfigs(parentConfig, config);\n                if (tmpLocale == null) {\n                    // updateLocale is called for creating a new locale\n                    // Set abbr so it will have a name (getters return\n                    // undefined otherwise).\n                    config.abbr = name;\n                }\n                locale = new Locale(config);\n                locale.parentLocale = locales[name];\n                locales[name] = locale;\n            }\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                    if (name === getSetGlobalLocale()) {\n                        getSetGlobalLocale(name);\n                    }\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale(key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow(m) {\n        var overflow,\n            a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH] < 0 || a[MONTH] > 11\n                    ? MONTH\n                    : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n                    ? DATE\n                    : a[HOUR] < 0 ||\n                      a[HOUR] > 24 ||\n                      (a[HOUR] === 24 &&\n                          (a[MINUTE] !== 0 ||\n                              a[SECOND] !== 0 ||\n                              a[MILLISECOND] !== 0))\n                    ? HOUR\n                    : a[MINUTE] < 0 || a[MINUTE] > 59\n                    ? MINUTE\n                    : a[SECOND] < 0 || a[SECOND] > 59\n                    ? SECOND\n                    : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n                    ? MILLISECOND\n                    : -1;\n\n            if (\n                getParsingFlags(m)._overflowDayOfYear &&\n                (overflow < YEAR || overflow > DATE)\n            ) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // iso 8601 regex\n    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n    var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n        tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n        isoDates = [\n            ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n            ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n            ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n            ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n            ['YYYY-DDD', /\\d{4}-\\d{3}/],\n            ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n            ['YYYYYYMMDD', /[+-]\\d{10}/],\n            ['YYYYMMDD', /\\d{8}/],\n            ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n            ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n            ['YYYYDDD', /\\d{7}/],\n            ['YYYYMM', /\\d{6}/, false],\n            ['YYYY', /\\d{4}/, false],\n        ],\n        // iso time formats and regexes\n        isoTimes = [\n            ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n            ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n            ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n            ['HH:mm', /\\d\\d:\\d\\d/],\n            ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n            ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n            ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n            ['HHmm', /\\d\\d\\d\\d/],\n            ['HH', /\\d\\d/],\n        ],\n        aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n        // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n        rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n        obsOffsets = {\n            UT: 0,\n            GMT: 0,\n            EDT: -4 * 60,\n            EST: -5 * 60,\n            CDT: -5 * 60,\n            CST: -6 * 60,\n            MDT: -6 * 60,\n            MST: -7 * 60,\n            PDT: -7 * 60,\n            PST: -8 * 60,\n        };\n\n    // date from iso format\n    function configFromISO(config) {\n        var i,\n            l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime,\n            dateFormat,\n            timeFormat,\n            tzFormat;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n\n            for (i = 0, l = isoDates.length; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimes.length; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    function extractFromRFC2822Strings(\n        yearStr,\n        monthStr,\n        dayStr,\n        hourStr,\n        minuteStr,\n        secondStr\n    ) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10),\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s\n            .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n            .replace(/(\\s\\s+)/g, ' ')\n            .replace(/^\\s\\s*/, '')\n            .replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(\n                    parsedInput[0],\n                    parsedInput[1],\n                    parsedInput[2]\n                ).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10),\n                m = hm % 100,\n                h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i)),\n            parsedArray;\n        if (match) {\n            parsedArray = extractFromRFC2822Strings(\n                match[4],\n                match[3],\n                match[2],\n                match[5],\n                match[6],\n                match[7]\n            );\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        if (config._strict) {\n            config._isValid = false;\n        } else {\n            // Final attempt, use Input Fallback\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n            'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n            'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [\n                nowValue.getUTCFullYear(),\n                nowValue.getUTCMonth(),\n                nowValue.getUTCDate(),\n            ];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray(config) {\n        var i,\n            date,\n            input = [],\n            currentDate,\n            expectedWeekday,\n            yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (\n                config._dayOfYear > daysInYear(yearToUse) ||\n                config._dayOfYear === 0\n            ) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] =\n                config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (\n            config._a[HOUR] === 24 &&\n            config._a[MINUTE] === 0 &&\n            config._a[SECOND] === 0 &&\n            config._a[MILLISECOND] === 0\n        ) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(\n            null,\n            input\n        );\n        expectedWeekday = config._useUTC\n            ? config._d.getUTCDay()\n            : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (\n            config._w &&\n            typeof config._w.d !== 'undefined' &&\n            config._w.d !== expectedWeekday\n        ) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(\n                w.GG,\n                config._a[YEAR],\n                weekOfYear(createLocal(), 1, 4).year\n            );\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i,\n            parsedInput,\n            tokens,\n            token,\n            skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0,\n            era;\n\n        tokens =\n            expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n        for (i = 0; i < tokens.length; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n                [])[0];\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(\n                    string.indexOf(parsedInput) + parsedInput.length\n                );\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                } else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            } else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver =\n            stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (\n            config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0\n        ) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(\n            config._locale,\n            config._a[HOUR],\n            config._meridiem\n        );\n\n        // handle era\n        era = getParsingFlags(config).era;\n        if (era !== null) {\n            config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n        }\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n    function meridiemFixWrap(locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n            scoreToBeat,\n            i,\n            currentScore,\n            validFormatFound,\n            bestFormatIsValid = false;\n\n        if (config._f.length === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < config._f.length; i++) {\n            currentScore = 0;\n            validFormatFound = false;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (isValid(tempConfig)) {\n                validFormatFound = true;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (!bestFormatIsValid) {\n                if (\n                    scoreToBeat == null ||\n                    currentScore < scoreToBeat ||\n                    validFormatFound\n                ) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                    if (validFormatFound) {\n                        bestFormatIsValid = true;\n                    }\n                }\n            } else {\n                if (currentScore < scoreToBeat) {\n                    scoreToBeat = currentScore;\n                    bestMoment = tempConfig;\n                }\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i),\n            dayOrDate = i.day === undefined ? i.date : i.day;\n        config._a = map(\n            [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n            function (obj) {\n                return obj && parseInt(obj, 10);\n            }\n        );\n\n        configFromArray(config);\n    }\n\n    function createFromConfig(config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig(config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({ nullInput: true });\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        } else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC(input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (format === true || format === false) {\n            strict = format;\n            format = undefined;\n        }\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if (\n            (isObject(input) && isObjectEmpty(input)) ||\n            (isArray(input) && input.length === 0)\n        ) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal(input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n            'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other < this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        ),\n        prototypeMax = deprecate(\n            'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n            function () {\n                var other = createLocal.apply(null, arguments);\n                if (this.isValid() && other.isValid()) {\n                    return other > this ? this : other;\n                } else {\n                    return createInvalid();\n                }\n            }\n        );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max() {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +new Date();\n    };\n\n    var ordering = [\n        'year',\n        'quarter',\n        'month',\n        'week',\n        'day',\n        'hour',\n        'minute',\n        'second',\n        'millisecond',\n    ];\n\n    function isDurationValid(m) {\n        var key,\n            unitHasDecimal = false,\n            i;\n        for (key in m) {\n            if (\n                hasOwnProp(m, key) &&\n                !(\n                    indexOf.call(ordering, key) !== -1 &&\n                    (m[key] == null || !isNaN(m[key]))\n                )\n            ) {\n                return false;\n            }\n        }\n\n        for (i = 0; i < ordering.length; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration(duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds =\n            +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days + weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months + quarters * 3 + years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration(obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound(number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if (\n                (dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n            ) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    // FORMATTING\n\n    function offset(token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset(),\n                sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return (\n                sign +\n                zeroFill(~~(offset / 60), 2) +\n                separator +\n                zeroFill(~~offset % 60, 2)\n            );\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z', matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher),\n            chunk,\n            parts,\n            minutes;\n\n        if (matches === null) {\n            return null;\n        }\n\n        chunk = matches[matches.length - 1] || [];\n        parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff =\n                (isMoment(input) || isDate(input)\n                    ? input.valueOf()\n                    : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset(m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset());\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset(input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(\n                        this,\n                        createDuration(input - offset, 'm'),\n                        1,\n                        false\n                    );\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone(input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC(keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal(keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset() {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            } else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset(input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime() {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted() {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {},\n            other;\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted =\n                this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal() {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset() {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc() {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n        // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n        // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n        // and further modified to allow for strings containing both week and day\n        isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration(input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms: input._milliseconds,\n                d: input._days,\n                M: input._months,\n            };\n        } else if (isNumber(input) || !isNaN(+input)) {\n            duration = {};\n            if (key) {\n                duration[key] = +input;\n            } else {\n                duration.milliseconds = +input;\n            }\n        } else if ((match = aspNetRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: 0,\n                d: toInt(match[DATE]) * sign,\n                h: toInt(match[HOUR]) * sign,\n                m: toInt(match[MINUTE]) * sign,\n                s: toInt(match[SECOND]) * sign,\n                ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n            };\n        } else if ((match = isoRegex.exec(input))) {\n            sign = match[1] === '-' ? -1 : 1;\n            duration = {\n                y: parseIso(match[2], sign),\n                M: parseIso(match[3], sign),\n                w: parseIso(match[4], sign),\n                d: parseIso(match[5], sign),\n                h: parseIso(match[6], sign),\n                m: parseIso(match[7], sign),\n                s: parseIso(match[8], sign),\n            };\n        } else if (duration == null) {\n            // checks for null or undefined\n            duration = {};\n        } else if (\n            typeof duration === 'object' &&\n            ('from' in duration || 'to' in duration)\n        ) {\n            diffRes = momentsDifference(\n                createLocal(duration.from),\n                createLocal(duration.to)\n            );\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n            ret._isValid = input._isValid;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso(inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months =\n            other.month() - base.month() + (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return { milliseconds: 0, months: 0 };\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(\n                    name,\n                    'moment().' +\n                        name +\n                        '(period, number) is deprecated. Please use moment().' +\n                        name +\n                        '(number, period). ' +\n                        'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n                );\n                tmp = val;\n                val = period;\n                period = tmp;\n            }\n\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract(mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add = createAdder(1, 'add'),\n        subtract = createAdder(-1, 'subtract');\n\n    function isString(input) {\n        return typeof input === 'string' || input instanceof String;\n    }\n\n    // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n    function isMomentInput(input) {\n        return (\n            isMoment(input) ||\n            isDate(input) ||\n            isString(input) ||\n            isNumber(input) ||\n            isNumberOrStringArray(input) ||\n            isMomentInputObject(input) ||\n            input === null ||\n            input === undefined\n        );\n    }\n\n    function isMomentInputObject(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'years',\n                'year',\n                'y',\n                'months',\n                'month',\n                'M',\n                'days',\n                'day',\n                'd',\n                'dates',\n                'date',\n                'D',\n                'hours',\n                'hour',\n                'h',\n                'minutes',\n                'minute',\n                'm',\n                'seconds',\n                'second',\n                's',\n                'milliseconds',\n                'millisecond',\n                'ms',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function isNumberOrStringArray(input) {\n        var arrayTest = isArray(input),\n            dataTypeTest = false;\n        if (arrayTest) {\n            dataTypeTest =\n                input.filter(function (item) {\n                    return !isNumber(item) && isString(input);\n                }).length === 0;\n        }\n        return arrayTest && dataTypeTest;\n    }\n\n    function isCalendarSpec(input) {\n        var objectTest = isObject(input) && !isObjectEmpty(input),\n            propertyTest = false,\n            properties = [\n                'sameDay',\n                'nextDay',\n                'lastDay',\n                'nextWeek',\n                'lastWeek',\n                'sameElse',\n            ],\n            i,\n            property;\n\n        for (i = 0; i < properties.length; i += 1) {\n            property = properties[i];\n            propertyTest = propertyTest || hasOwnProp(input, property);\n        }\n\n        return objectTest && propertyTest;\n    }\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6\n            ? 'sameElse'\n            : diff < -1\n            ? 'lastWeek'\n            : diff < 0\n            ? 'lastDay'\n            : diff < 1\n            ? 'sameDay'\n            : diff < 2\n            ? 'nextDay'\n            : diff < 7\n            ? 'nextWeek'\n            : 'sameElse';\n    }\n\n    function calendar$1(time, formats) {\n        // Support for single parameter, formats only overload to the calendar function\n        if (arguments.length === 1) {\n            if (!arguments[0]) {\n                time = undefined;\n                formats = undefined;\n            } else if (isMomentInput(arguments[0])) {\n                time = arguments[0];\n                formats = undefined;\n            } else if (isCalendarSpec(arguments[0])) {\n                formats = arguments[0];\n                time = undefined;\n            }\n        }\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse',\n            output =\n                formats &&\n                (isFunction(formats[format])\n                    ? formats[format].call(this, now)\n                    : formats[format]);\n\n        return this.format(\n            output || this.localeData().calendar(format, this, createLocal(now))\n        );\n    }\n\n    function clone() {\n        return new Moment(this);\n    }\n\n    function isAfter(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween(from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (\n            (inclusivity[0] === '('\n                ? this.isAfter(localFrom, units)\n                : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')'\n                ? this.isBefore(localTo, units)\n                : !this.isAfter(localTo, units))\n        );\n    }\n\n    function isSame(input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return (\n                this.clone().startOf(units).valueOf() <= inputMs &&\n                inputMs <= this.clone().endOf(units).valueOf()\n            );\n        }\n    }\n\n    function isSameOrAfter(input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore(input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff(input, units, asFloat) {\n        var that, zoneDelta, output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year':\n                output = monthDiff(this, that) / 12;\n                break;\n            case 'month':\n                output = monthDiff(this, that);\n                break;\n            case 'quarter':\n                output = monthDiff(this, that) / 3;\n                break;\n            case 'second':\n                output = (this - that) / 1e3;\n                break; // 1000\n            case 'minute':\n                output = (this - that) / 6e4;\n                break; // 1000 * 60\n            case 'hour':\n                output = (this - that) / 36e5;\n                break; // 1000 * 60 * 60\n            case 'day':\n                output = (this - that - zoneDelta) / 864e5;\n                break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week':\n                output = (this - that - zoneDelta) / 6048e5;\n                break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default:\n                output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff(a, b) {\n        if (a.date() < b.date()) {\n            // end-of-month calculations work correct when the start month has more\n            // days than the end month.\n            return -monthDiff(b, a);\n        }\n        // difference in months\n        var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2,\n            adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString() {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true,\n            m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(\n                m,\n                utc\n                    ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n                    : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n            );\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n                    .toISOString()\n                    .replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(\n            m,\n            utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n        );\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect() {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment',\n            zone = '',\n            prefix,\n            year,\n            datetime,\n            suffix;\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        prefix = '[' + func + '(\"]';\n        year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n        datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format(inputString) {\n        if (!inputString) {\n            inputString = this.isUtc()\n                ? hooks.defaultFormatUtc\n                : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ to: this, from: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow(withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to(time, withoutSuffix) {\n        if (\n            this.isValid() &&\n            ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n        ) {\n            return createDuration({ from: this, to: time })\n                .locale(this.locale())\n                .humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow(withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale(key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData() {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000,\n        MS_PER_MINUTE = 60 * MS_PER_SECOND,\n        MS_PER_HOUR = 60 * MS_PER_MINUTE,\n        MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return ((dividend % divisor) + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(\n                    this.year(),\n                    this.month() - (this.month() % 3),\n                    1\n                );\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - this.weekday()\n                );\n                break;\n            case 'isoWeek':\n                time = startOfDate(\n                    this.year(),\n                    this.month(),\n                    this.date() - (this.isoWeekday() - 1)\n                );\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(\n                    time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                    MS_PER_HOUR\n                );\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf(units) {\n        var time, startOfDate;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month() - (this.month() % 3) + 3,\n                        1\n                    ) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - this.weekday() + 7\n                    ) - 1;\n                break;\n            case 'isoWeek':\n                time =\n                    startOfDate(\n                        this.year(),\n                        this.month(),\n                        this.date() - (this.isoWeekday() - 1) + 7\n                    ) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time +=\n                    MS_PER_HOUR -\n                    mod$1(\n                        time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n                        MS_PER_HOUR\n                    ) -\n                    1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf() {\n        return this._d.valueOf() - (this._offset || 0) * 60000;\n    }\n\n    function unix() {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate() {\n        return new Date(this.valueOf());\n    }\n\n    function toArray() {\n        var m = this;\n        return [\n            m.year(),\n            m.month(),\n            m.date(),\n            m.hour(),\n            m.minute(),\n            m.second(),\n            m.millisecond(),\n        ];\n    }\n\n    function toObject() {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds(),\n        };\n    }\n\n    function toJSON() {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2() {\n        return isValid(this);\n    }\n\n    function parsingFlags() {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt() {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict,\n        };\n    }\n\n    addFormatToken('N', 0, 0, 'eraAbbr');\n    addFormatToken('NN', 0, 0, 'eraAbbr');\n    addFormatToken('NNN', 0, 0, 'eraAbbr');\n    addFormatToken('NNNN', 0, 0, 'eraName');\n    addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n    addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n    addFormatToken('y', ['yy', 2], 0, 'eraYear');\n    addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n    addRegexToken('N', matchEraAbbr);\n    addRegexToken('NN', matchEraAbbr);\n    addRegexToken('NNN', matchEraAbbr);\n    addRegexToken('NNNN', matchEraName);\n    addRegexToken('NNNNN', matchEraNarrow);\n\n    addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n        input,\n        array,\n        config,\n        token\n    ) {\n        var era = config._locale.erasParse(input, token, config._strict);\n        if (era) {\n            getParsingFlags(config).era = era;\n        } else {\n            getParsingFlags(config).invalidEra = input;\n        }\n    });\n\n    addRegexToken('y', matchUnsigned);\n    addRegexToken('yy', matchUnsigned);\n    addRegexToken('yyy', matchUnsigned);\n    addRegexToken('yyyy', matchUnsigned);\n    addRegexToken('yo', matchEraYearOrdinal);\n\n    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n    addParseToken(['yo'], function (input, array, config, token) {\n        var match;\n        if (config._locale._eraYearOrdinalRegex) {\n            match = input.match(config._locale._eraYearOrdinalRegex);\n        }\n\n        if (config._locale.eraYearOrdinalParse) {\n            array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n        } else {\n            array[YEAR] = parseInt(input, 10);\n        }\n    });\n\n    function localeEras(m, format) {\n        var i,\n            l,\n            date,\n            eras = this._eras || getLocale('en')._eras;\n        for (i = 0, l = eras.length; i < l; ++i) {\n            switch (typeof eras[i].since) {\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].since).startOf('day');\n                    eras[i].since = date.valueOf();\n                    break;\n            }\n\n            switch (typeof eras[i].until) {\n                case 'undefined':\n                    eras[i].until = +Infinity;\n                    break;\n                case 'string':\n                    // truncate time\n                    date = hooks(eras[i].until).startOf('day').valueOf();\n                    eras[i].until = date.valueOf();\n                    break;\n            }\n        }\n        return eras;\n    }\n\n    function localeErasParse(eraName, format, strict) {\n        var i,\n            l,\n            eras = this.eras(),\n            name,\n            abbr,\n            narrow;\n        eraName = eraName.toUpperCase();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            name = eras[i].name.toUpperCase();\n            abbr = eras[i].abbr.toUpperCase();\n            narrow = eras[i].narrow.toUpperCase();\n\n            if (strict) {\n                switch (format) {\n                    case 'N':\n                    case 'NN':\n                    case 'NNN':\n                        if (abbr === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNN':\n                        if (name === eraName) {\n                            return eras[i];\n                        }\n                        break;\n\n                    case 'NNNNN':\n                        if (narrow === eraName) {\n                            return eras[i];\n                        }\n                        break;\n                }\n            } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n                return eras[i];\n            }\n        }\n    }\n\n    function localeErasConvertYear(era, year) {\n        var dir = era.since <= era.until ? +1 : -1;\n        if (year === undefined) {\n            return hooks(era.since).year();\n        } else {\n            return hooks(era.since).year() + (year - era.offset) * dir;\n        }\n    }\n\n    function getEraName() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].name;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].name;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraNarrow() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].narrow;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].narrow;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraAbbr() {\n        var i,\n            l,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (eras[i].since <= val && val <= eras[i].until) {\n                return eras[i].abbr;\n            }\n            if (eras[i].until <= val && val <= eras[i].since) {\n                return eras[i].abbr;\n            }\n        }\n\n        return '';\n    }\n\n    function getEraYear() {\n        var i,\n            l,\n            dir,\n            val,\n            eras = this.localeData().eras();\n        for (i = 0, l = eras.length; i < l; ++i) {\n            dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n            // truncate time\n            val = this.clone().startOf('day').valueOf();\n\n            if (\n                (eras[i].since <= val && val <= eras[i].until) ||\n                (eras[i].until <= val && val <= eras[i].since)\n            ) {\n                return (\n                    (this.year() - hooks(eras[i].since).year()) * dir +\n                    eras[i].offset\n                );\n            }\n        }\n\n        return this.year();\n    }\n\n    function erasNameRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNameRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNameRegex : this._erasRegex;\n    }\n\n    function erasAbbrRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasAbbrRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasAbbrRegex : this._erasRegex;\n    }\n\n    function erasNarrowRegex(isStrict) {\n        if (!hasOwnProp(this, '_erasNarrowRegex')) {\n            computeErasParse.call(this);\n        }\n        return isStrict ? this._erasNarrowRegex : this._erasRegex;\n    }\n\n    function matchEraAbbr(isStrict, locale) {\n        return locale.erasAbbrRegex(isStrict);\n    }\n\n    function matchEraName(isStrict, locale) {\n        return locale.erasNameRegex(isStrict);\n    }\n\n    function matchEraNarrow(isStrict, locale) {\n        return locale.erasNarrowRegex(isStrict);\n    }\n\n    function matchEraYearOrdinal(isStrict, locale) {\n        return locale._eraYearOrdinalRegex || matchUnsigned;\n    }\n\n    function computeErasParse() {\n        var abbrPieces = [],\n            namePieces = [],\n            narrowPieces = [],\n            mixedPieces = [],\n            i,\n            l,\n            eras = this.eras();\n\n        for (i = 0, l = eras.length; i < l; ++i) {\n            namePieces.push(regexEscape(eras[i].name));\n            abbrPieces.push(regexEscape(eras[i].abbr));\n            narrowPieces.push(regexEscape(eras[i].narrow));\n\n            mixedPieces.push(regexEscape(eras[i].name));\n            mixedPieces.push(regexEscape(eras[i].abbr));\n            mixedPieces.push(regexEscape(eras[i].narrow));\n        }\n\n        this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n        this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n        this._erasNarrowRegex = new RegExp(\n            '^(' + narrowPieces.join('|') + ')',\n            'i'\n        );\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken(token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg', 'weekYear');\n    addWeekYearFormatToken('ggggg', 'weekYear');\n    addWeekYearFormatToken('GGGG', 'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    addUnitAlias('weekYear', 'gg');\n    addUnitAlias('isoWeekYear', 'GG');\n\n    // PRIORITY\n\n    addUnitPriority('weekYear', 1);\n    addUnitPriority('isoWeekYear', 1);\n\n    // PARSING\n\n    addRegexToken('G', matchSigned);\n    addRegexToken('g', matchSigned);\n    addRegexToken('GG', match1to2, match2);\n    addRegexToken('gg', match1to2, match2);\n    addRegexToken('GGGG', match1to4, match4);\n    addRegexToken('gggg', match1to4, match4);\n    addRegexToken('GGGGG', match1to6, match6);\n    addRegexToken('ggggg', match1to6, match6);\n\n    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n        input,\n        week,\n        config,\n        token\n    ) {\n        week[token.substr(0, 2)] = toInt(input);\n    });\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.week(),\n            this.weekday(),\n            this.localeData()._week.dow,\n            this.localeData()._week.doy\n        );\n    }\n\n    function getSetISOWeekYear(input) {\n        return getSetWeekYearHelper.call(\n            this,\n            input,\n            this.isoWeek(),\n            this.isoWeekday(),\n            1,\n            4\n        );\n    }\n\n    function getISOWeeksInYear() {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getISOWeeksInISOWeekYear() {\n        return weeksInYear(this.isoWeekYear(), 1, 4);\n    }\n\n    function getWeeksInYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getWeeksInWeekYear() {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // ALIASES\n\n    addUnitAlias('quarter', 'Q');\n\n    // PRIORITY\n\n    addUnitPriority('quarter', 7);\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter(input) {\n        return input == null\n            ? Math.ceil((this.month() + 1) / 3)\n            : this.month((input - 1) * 3 + (this.month() % 3));\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // ALIASES\n\n    addUnitAlias('date', 'D');\n\n    // PRIORITY\n    addUnitPriority('date', 9);\n\n    // PARSING\n\n    addRegexToken('D', match1to2);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict\n            ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n            : locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // ALIASES\n\n    addUnitAlias('dayOfYear', 'DDD');\n\n    // PRIORITY\n    addUnitPriority('dayOfYear', 4);\n\n    // PARSING\n\n    addRegexToken('DDD', match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear(input) {\n        var dayOfYear =\n            Math.round(\n                (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n            ) + 1;\n        return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // ALIASES\n\n    addUnitAlias('minute', 'm');\n\n    // PRIORITY\n\n    addUnitPriority('minute', 14);\n\n    // PARSING\n\n    addRegexToken('m', match1to2);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // ALIASES\n\n    addUnitAlias('second', 's');\n\n    // PRIORITY\n\n    addUnitPriority('second', 15);\n\n    // PARSING\n\n    addRegexToken('s', match1to2);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n    // ALIASES\n\n    addUnitAlias('millisecond', 'ms');\n\n    // PRIORITY\n\n    addUnitPriority('millisecond', 16);\n\n    // PARSING\n\n    addRegexToken('S', match1to3, match1);\n    addRegexToken('SS', match1to3, match2);\n    addRegexToken('SSS', match1to3, match3);\n\n    var token, getSetMillisecond;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n\n    getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z', 0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr() {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName() {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add = add;\n    proto.calendar = calendar$1;\n    proto.clone = clone;\n    proto.diff = diff;\n    proto.endOf = endOf;\n    proto.format = format;\n    proto.from = from;\n    proto.fromNow = fromNow;\n    proto.to = to;\n    proto.toNow = toNow;\n    proto.get = stringGet;\n    proto.invalidAt = invalidAt;\n    proto.isAfter = isAfter;\n    proto.isBefore = isBefore;\n    proto.isBetween = isBetween;\n    proto.isSame = isSame;\n    proto.isSameOrAfter = isSameOrAfter;\n    proto.isSameOrBefore = isSameOrBefore;\n    proto.isValid = isValid$2;\n    proto.lang = lang;\n    proto.locale = locale;\n    proto.localeData = localeData;\n    proto.max = prototypeMax;\n    proto.min = prototypeMin;\n    proto.parsingFlags = parsingFlags;\n    proto.set = stringSet;\n    proto.startOf = startOf;\n    proto.subtract = subtract;\n    proto.toArray = toArray;\n    proto.toObject = toObject;\n    proto.toDate = toDate;\n    proto.toISOString = toISOString;\n    proto.inspect = inspect;\n    if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n        proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n            return 'Moment<' + this.format() + '>';\n        };\n    }\n    proto.toJSON = toJSON;\n    proto.toString = toString;\n    proto.unix = unix;\n    proto.valueOf = valueOf;\n    proto.creationData = creationData;\n    proto.eraName = getEraName;\n    proto.eraNarrow = getEraNarrow;\n    proto.eraAbbr = getEraAbbr;\n    proto.eraYear = getEraYear;\n    proto.year = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week = proto.weeks = getSetWeek;\n    proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n    proto.weeksInYear = getWeeksInYear;\n    proto.weeksInWeekYear = getWeeksInWeekYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n    proto.date = getSetDayOfMonth;\n    proto.day = proto.days = getSetDayOfWeek;\n    proto.weekday = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset = getSetOffset;\n    proto.utc = setOffsetToUTC;\n    proto.local = setOffsetToLocal;\n    proto.parseZone = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST = isDaylightSavingTime;\n    proto.isLocal = isLocal;\n    proto.isUtcOffset = isUtcOffset;\n    proto.isUtc = isUtc;\n    proto.isUTC = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates = deprecate(\n        'dates accessor is deprecated. Use date instead.',\n        getSetDayOfMonth\n    );\n    proto.months = deprecate(\n        'months accessor is deprecated. Use month instead',\n        getSetMonth\n    );\n    proto.years = deprecate(\n        'years accessor is deprecated. Use year instead',\n        getSetYear\n    );\n    proto.zone = deprecate(\n        'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n        getSetZone\n    );\n    proto.isDSTShifted = deprecate(\n        'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n        isDaylightSavingTimeShifted\n    );\n\n    function createUnix(input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone() {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat(string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar = calendar;\n    proto$1.longDateFormat = longDateFormat;\n    proto$1.invalidDate = invalidDate;\n    proto$1.ordinal = ordinal;\n    proto$1.preparse = preParsePostFormat;\n    proto$1.postformat = preParsePostFormat;\n    proto$1.relativeTime = relativeTime;\n    proto$1.pastFuture = pastFuture;\n    proto$1.set = set;\n    proto$1.eras = localeEras;\n    proto$1.erasParse = localeErasParse;\n    proto$1.erasConvertYear = localeErasConvertYear;\n    proto$1.erasAbbrRegex = erasAbbrRegex;\n    proto$1.erasNameRegex = erasNameRegex;\n    proto$1.erasNarrowRegex = erasNarrowRegex;\n\n    proto$1.months = localeMonths;\n    proto$1.monthsShort = localeMonthsShort;\n    proto$1.monthsParse = localeMonthsParse;\n    proto$1.monthsRegex = monthsRegex;\n    proto$1.monthsShortRegex = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays = localeWeekdays;\n    proto$1.weekdaysMin = localeWeekdaysMin;\n    proto$1.weekdaysShort = localeWeekdaysShort;\n    proto$1.weekdaysParse = localeWeekdaysParse;\n\n    proto$1.weekdaysRegex = weekdaysRegex;\n    proto$1.weekdaysShortRegex = weekdaysShortRegex;\n    proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1(format, index, field, setter) {\n        var locale = getLocale(),\n            utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl(format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i,\n            out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl(localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0,\n            i,\n            out = [];\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths(format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort(format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin(localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        eras: [\n            {\n                since: '0001-01-01',\n                until: +Infinity,\n                offset: 1,\n                name: 'Anno Domini',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: 'Before Christ',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    toInt((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate(\n        'moment.lang is deprecated. Use moment.locale instead.',\n        getSetGlobalLocale\n    );\n    hooks.langData = deprecate(\n        'moment.langData is deprecated. Use moment.localeData instead.',\n        getLocale\n    );\n\n    var mathAbs = Math.abs;\n\n    function abs() {\n        var data = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days = mathAbs(this._days);\n        this._months = mathAbs(this._months);\n\n        data.milliseconds = mathAbs(data.milliseconds);\n        data.seconds = mathAbs(data.seconds);\n        data.minutes = mathAbs(data.minutes);\n        data.hours = mathAbs(data.hours);\n        data.months = mathAbs(data.months);\n        data.years = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1(duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days += direction * other._days;\n        duration._months += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1(input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1(input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil(number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble() {\n        var milliseconds = this._milliseconds,\n            days = this._days,\n            months = this._months,\n            data = this._data,\n            seconds,\n            minutes,\n            hours,\n            years,\n            monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (\n            !(\n                (milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0)\n            )\n        ) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds = absFloor(milliseconds / 1000);\n        data.seconds = seconds % 60;\n\n        minutes = absFloor(seconds / 60);\n        data.minutes = minutes % 60;\n\n        hours = absFloor(minutes / 60);\n        data.hours = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days = days;\n        data.months = months;\n        data.years = years;\n\n        return this;\n    }\n\n    function daysToMonths(days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return (days * 4800) / 146097;\n    }\n\n    function monthsToDays(months) {\n        // the reverse of daysToMonths\n        return (months * 146097) / 4800;\n    }\n\n    function as(units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days,\n            months,\n            milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':\n                    return months;\n                case 'quarter':\n                    return months / 3;\n                case 'year':\n                    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week':\n                    return days / 7 + milliseconds / 6048e5;\n                case 'day':\n                    return days + milliseconds / 864e5;\n                case 'hour':\n                    return days * 24 + milliseconds / 36e5;\n                case 'minute':\n                    return days * 1440 + milliseconds / 6e4;\n                case 'second':\n                    return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond':\n                    return Math.floor(days * 864e5) + milliseconds;\n                default:\n                    throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    // TODO: Use this.as('ms')?\n    function valueOf$1() {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        return (\n            this._milliseconds +\n            this._days * 864e5 +\n            (this._months % 12) * 2592e6 +\n            toInt(this._months / 12) * 31536e6\n        );\n    }\n\n    function makeAs(alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms'),\n        asSeconds = makeAs('s'),\n        asMinutes = makeAs('m'),\n        asHours = makeAs('h'),\n        asDays = makeAs('d'),\n        asWeeks = makeAs('w'),\n        asMonths = makeAs('M'),\n        asQuarters = makeAs('Q'),\n        asYears = makeAs('y');\n\n    function clone$1() {\n        return createDuration(this);\n    }\n\n    function get$2(units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds'),\n        seconds = makeGetter('seconds'),\n        minutes = makeGetter('minutes'),\n        hours = makeGetter('hours'),\n        days = makeGetter('days'),\n        months = makeGetter('months'),\n        years = makeGetter('years');\n\n    function weeks() {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round,\n        thresholds = {\n            ss: 44, // a few seconds to seconds\n            s: 45, // seconds to minute\n            m: 45, // minutes to hour\n            h: 22, // hours to day\n            d: 26, // days to month/week\n            w: null, // weeks to month\n            M: 11, // months to year\n        };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n        var duration = createDuration(posNegDuration).abs(),\n            seconds = round(duration.as('s')),\n            minutes = round(duration.as('m')),\n            hours = round(duration.as('h')),\n            days = round(duration.as('d')),\n            months = round(duration.as('M')),\n            weeks = round(duration.as('w')),\n            years = round(duration.as('y')),\n            a =\n                (seconds <= thresholds.ss && ['s', seconds]) ||\n                (seconds < thresholds.s && ['ss', seconds]) ||\n                (minutes <= 1 && ['m']) ||\n                (minutes < thresholds.m && ['mm', minutes]) ||\n                (hours <= 1 && ['h']) ||\n                (hours < thresholds.h && ['hh', hours]) ||\n                (days <= 1 && ['d']) ||\n                (days < thresholds.d && ['dd', days]);\n\n        if (thresholds.w != null) {\n            a =\n                a ||\n                (weeks <= 1 && ['w']) ||\n                (weeks < thresholds.w && ['ww', weeks]);\n        }\n        a = a ||\n            (months <= 1 && ['M']) ||\n            (months < thresholds.M && ['MM', months]) ||\n            (years <= 1 && ['y']) || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding(roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof roundingFunction === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold(threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize(argWithSuffix, argThresholds) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var withSuffix = false,\n            th = thresholds,\n            locale,\n            output;\n\n        if (typeof argWithSuffix === 'object') {\n            argThresholds = argWithSuffix;\n            argWithSuffix = false;\n        }\n        if (typeof argWithSuffix === 'boolean') {\n            withSuffix = argWithSuffix;\n        }\n        if (typeof argThresholds === 'object') {\n            th = Object.assign({}, thresholds, argThresholds);\n            if (argThresholds.s != null && argThresholds.ss == null) {\n                th.ss = argThresholds.s - 1;\n            }\n        }\n\n        locale = this.localeData();\n        output = relativeTime$1(this, !withSuffix, th, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return (x > 0) - (x < 0) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000,\n            days = abs$1(this._days),\n            months = abs$1(this._months),\n            minutes,\n            hours,\n            years,\n            s,\n            total = this.asSeconds(),\n            totalSign,\n            ymSign,\n            daysSign,\n            hmsSign;\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes = absFloor(seconds / 60);\n        hours = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n        totalSign = total < 0 ? '-' : '';\n        ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return (\n            totalSign +\n            'P' +\n            (years ? ymSign + years + 'Y' : '') +\n            (months ? ymSign + months + 'M' : '') +\n            (days ? daysSign + days + 'D' : '') +\n            (hours || minutes || seconds ? 'T' : '') +\n            (hours ? hmsSign + hours + 'H' : '') +\n            (minutes ? hmsSign + minutes + 'M' : '') +\n            (seconds ? hmsSign + s + 'S' : '')\n        );\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid = isValid$1;\n    proto$2.abs = abs;\n    proto$2.add = add$1;\n    proto$2.subtract = subtract$1;\n    proto$2.as = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds = asSeconds;\n    proto$2.asMinutes = asMinutes;\n    proto$2.asHours = asHours;\n    proto$2.asDays = asDays;\n    proto$2.asWeeks = asWeeks;\n    proto$2.asMonths = asMonths;\n    proto$2.asQuarters = asQuarters;\n    proto$2.asYears = asYears;\n    proto$2.valueOf = valueOf$1;\n    proto$2._bubble = bubble;\n    proto$2.clone = clone$1;\n    proto$2.get = get$2;\n    proto$2.milliseconds = milliseconds;\n    proto$2.seconds = seconds;\n    proto$2.minutes = minutes;\n    proto$2.hours = hours;\n    proto$2.days = days;\n    proto$2.weeks = weeks;\n    proto$2.months = months;\n    proto$2.years = years;\n    proto$2.humanize = humanize;\n    proto$2.toISOString = toISOString$1;\n    proto$2.toString = toISOString$1;\n    proto$2.toJSON = toISOString$1;\n    proto$2.locale = locale;\n    proto$2.localeData = localeData;\n\n    proto$2.toIsoString = deprecate(\n        'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n        toISOString$1\n    );\n    proto$2.lang = lang;\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    //! moment.js\n\n    hooks.version = '2.29.1';\n\n    setHookCallback(createLocal);\n\n    hooks.fn = proto;\n    hooks.min = min;\n    hooks.max = max;\n    hooks.now = now;\n    hooks.utc = createUTC;\n    hooks.unix = createUnix;\n    hooks.months = listMonths;\n    hooks.isDate = isDate;\n    hooks.locale = getSetGlobalLocale;\n    hooks.invalid = createInvalid;\n    hooks.duration = createDuration;\n    hooks.isMoment = isMoment;\n    hooks.weekdays = listWeekdays;\n    hooks.parseZone = createInZone;\n    hooks.localeData = getLocale;\n    hooks.isDuration = isDuration;\n    hooks.monthsShort = listMonthsShort;\n    hooks.weekdaysMin = listWeekdaysMin;\n    hooks.defineLocale = defineLocale;\n    hooks.updateLocale = updateLocale;\n    hooks.locales = listLocales;\n    hooks.weekdaysShort = listWeekdaysShort;\n    hooks.normalizeUnits = normalizeUnits;\n    hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat = getCalendarFormat;\n    hooks.prototype = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n        TIME: 'HH:mm', // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n        MONTH: 'YYYY-MM', // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","import { compose, getElementType, useUnhandledProps, useAccessibility, useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nexport var boxClassName = 'ui-box';\n/**\n * A Box is a basic component, commonly used for slots in other Fluent UI components.\n * By default it just renders a `div`.\n */\n\nexport var Box = /*#__PURE__*/function () {\n  var Box = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children,\n        content = props.content;\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var ElementType = getElementType(props);\n    var result = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({}, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }), {\n      className: classes.root,\n      ref: ref\n    }, unhandledProps)), childrenExist(children) ? children : content));\n    setEnd();\n    return result;\n  }, {\n    className: boxClassName,\n    displayName: 'Box',\n    handledProps: ['accessibility', 'as', 'className', 'children', 'content', 'design', 'styles', 'variables']\n  });\n  Box.propTypes = commonPropTypes.createCommon();\n  Box.create = createShorthandFactory({\n    Component: Box\n  });\n  return Box;\n}();\n//# sourceMappingURL=Box.js.map\n","export var iconClassNames = {\n  filled: 'ui-icon__filled',\n  outline: 'ui-icon__outline'\n};\n//# sourceMappingURL=iconClassNames.js.map\n","var baseGet = require('./_baseGet');\n\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 */\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;\n","import * as React from 'react';\nimport { useFluentContext, useStyles, getUnhandledProps } from '@fluentui/react-bindings';\nexport var svgIconClassName = 'ui-icon';\nexport var svgIconDisplayName = 'SvgIcon';\nexport var svgIconHandledProps = ['bordered', 'className', 'circular', 'design', 'disabled', 'outline', 'size', 'rotate', 'styles', 'variables', 'xSpacing'];\nexport var createSvgIcon = function createSvgIcon(_ref) {\n  var svg = _ref.svg,\n      displayName = _ref.displayName,\n      _ref$handledProps = _ref.handledProps,\n      handledProps = _ref$handledProps === void 0 ? [] : _ref$handledProps;\n\n  var Component = function Component(props) {\n    var context = useFluentContext();\n    var alt = props.alt,\n        ariaLabel = props['aria-label'],\n        bordered = props.bordered,\n        circular = props.circular,\n        className = props.className,\n        design = props.design,\n        disabled = props.disabled,\n        outline = props.outline,\n        _props$rotate = props.rotate,\n        rotate = _props$rotate === void 0 ? 0 : _props$rotate,\n        _props$size = props.size,\n        size = _props$size === void 0 ? 'medium' : _props$size,\n        styles = props.styles,\n        variables = props.variables,\n        xSpacing = props.xSpacing;\n\n    var _useStyles = useStyles(svgIconDisplayName, {\n      className: svgIconClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          bordered: bordered,\n          circular: circular,\n          disabled: disabled,\n          outline: outline,\n          rotate: rotate,\n          size: size,\n          xSpacing: xSpacing\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var unhandledProps = getUnhandledProps([].concat(svgIconHandledProps, handledProps), props);\n    return /*#__PURE__*/React.createElement('span', Object.assign({\n      role: 'img',\n      'aria-hidden': alt || ariaLabel ? undefined : 'true',\n      'aria-label': ariaLabel,\n      className: classes.root\n    }, unhandledProps), svg({\n      classes: classes,\n      rtl: context.rtl,\n      props: props\n    }));\n  };\n\n  Component.displayName = displayName;\n  Component.handledProps = [].concat(svgIconHandledProps, handledProps);\n  return Component;\n};\n//# sourceMappingURL=createSvgIcon.js.map\n","export var contextualColors = {\n  brand: {\n    50: '#F4F4FC',\n    // siteVariables.brand16, same as prev\n    100: '#E5E5F1',\n    // brand15\n    200: '#E2E2F6',\n    // 100, light brand14, dark theme brand02\n    300: '#BDBDE6',\n    // 200, light brand12, dark theme brand04\n    400: '#A6A7DC',\n    // dark theme brand06 (dark06)\n    450: '#9EA2FF',\n    500: '#8B8CC7',\n    // light08, dark08\n    600: '#6264A7',\n    // 500, siteVariables.brand, siteVariables.brand06, dark theme brand, brand12\n    700: '#585A96',\n    // light05\n    800: '#464775',\n    // light04, dark14\n    900: '#33344A',\n    // siteVariables.brand02, dark theme brand16, same as 900 prev\n    1000: '#373644'\n  }\n};\nexport var naturalColors = {\n  grey: {\n    0: '#FFFFFF',\n    // white\n    25: '#FCFCFB',\n    // old $app-density-message-initial-hover-focus\n    50: '#FAF9F8',\n    // light14\n    100: '#F3F2F1',\n    // light10, old $app-density-message-background-replay-hover-focus\n    150: '#EDEBE9',\n    // light09, old $app-density-border-gray\n    200: '#E1DFDD',\n    // light08\n    250: '#C8C6C4',\n    // light06, dark02\n    300: '#B3B0AD',\n    // dark03\n    350: '#979593',\n    // light04\n    400: '#8A8886',\n    // dark04\n    440: '#666666',\n    450: '#605E5C',\n    // light03, dark06, $app-gray-20-theme-agnostic, old $message-highlight-color-darktheme\n    500: '#484644',\n    // light02, dark08\n    550: '#3B3A39',\n    // dark09\n    600: '#323131',\n    // dark10, in call audio only grid slot 4\n    650: '#2D2C2C',\n    // in call audio only grid slot 3\n    700: '#292828',\n    // dark14, in call audio only grid slot 2, old $app-density-message-background-initial-hover-focus-darktheme\n    750: '#252423',\n    // 900 - different [#252424] , old $app-black, in call audio only grid slot 1, old $app-density-message-background-replay-hover-focus-darktheme\n    800: '#201F1F',\n    // app black darktheme, in call title bar, in call audio only pip\n    850: '#1B1A1A',\n    // in call background behind presented doc, old $app-density-message-border-darktheme\n    900: '#11100F',\n    // dark theme borders\n    1000: '#000000' // black\n\n  },\n  orange: {\n    50: '#F9ECEA',\n    // darkOrange[50]\n    100: '#EFDBD3',\n    // app orange14\n    200: '#EDC2A7',\n    // old message highlight border\n    300: '#E97548',\n    // orange[900]\n    400: '#CC4A31',\n    // app orange04 darkOrange[400]\n    500: '#BD432C',\n    // app orange03\n    600: '#A33D2A',\n    // app orange02\n    700: '#833122',\n    // app orange01 darkOrange[900]\n    800: '#664134',\n    // app orange14 dark\n    900: '#51332C' // app orange16 dark\n\n  },\n  pink: {\n    50: '#FCF2FA',\n    // app orchid opacity, oof message, oof banner bg\n    100: '#F1DFEE',\n    // new oof banner border default theme\n    200: '#EC6FAE',\n    // new oof text for better contrast in dark theme\n    300: '#DE569A',\n    // magenta dark theme\n    400: '#E959D9',\n    // oof presence icon dark theme\n    500: '#B4009E',\n    // merge oof presence icon, odl $app-magenta\n    600: '#943670',\n    // old $app-orchid, use for oof banner text\n    700: undefined,\n    //\n    800: '#3E2D3B',\n    // old @app orchid opacity, oof message bg, oof banner bg\n    900: '#1F191D' // new oof banner border dark theme\n\n  },\n  red: {\n    50: '#FCF4F6',\n    // app red 10\n    100: '#F3D6D8',\n    // postOrange[900] app red 08\n    200: '#F9526B',\n    // new, error banner string\n    300: '#E73550',\n    // merge old @app-red-dark-theme\n    400: '#C4314B',\n    // red[900], app red 06, siteVariables.red\n    500: '#A72037',\n    // app red 04\n    600: '#8E192E',\n    // app red 02\n    700: '#4F222B',\n    // old app red 10 dark\n    800: '#3E1F25',\n    // new error banner bg\n    900: '#1E040A' // app red08 dark\n\n  },\n  green: {\n    50: '#E7F2DA',\n    100: '#BDDA9B',\n    200: '#92C353',\n    // lightGreen[900] old $app-green, available presence dark theme, siteVars.green\n    300: '#6BB700',\n    // new Available presence\n    400: '#13A40E',\n    // dual presence Available\n    500: undefined,\n    600: '#237B4B',\n    // old $app-green-04, siteVariables.green04, green[900]\n    700: undefined,\n    800: '#0D2E0D',\n    900: '#032003'\n  },\n  yellow: {\n    50: undefined,\n    100: '#FBF6D9',\n    // old message highlight color\n    200: '#F2E384',\n    300: '#F9EC02',\n    // old acc critical ufd icon color\n    400: '#F8D22A',\n    // old siteVariables.yellow, $app-yellow, yellow[900]\n    500: '#FFB900',\n    // old $bcast pre live color\n    600: '#FFAA44',\n    // new away presence\n    700: '#835C00',\n    800: '#463100',\n    900: '#261A00'\n  }\n};\nvar contextualAndNaturalColors = Object.assign({}, contextualColors, naturalColors);\nexport var primitiveColors = {\n  black: '#000',\n  white: '#fff'\n};\nexport var transparentColors = {\n  silver: {\n    100: undefined,\n    200: 'rgba(255,255,255,0.75)',\n    300: 'rgba(255,255,255,0.65)',\n    400: 'rgba(255,255,255,0.5)',\n    500: 'rgba(255,255,255,0.4)',\n    600: 'rgba(255,255,255,0.3)',\n    700: 'rgba(255,255,255,0.2)',\n    800: 'rgba(255,255,255,0.1)',\n    900: 'rgba(255,255,255,0.05)'\n  },\n  ruby: {\n    100: undefined,\n    200: undefined,\n    300: undefined,\n    400: undefined,\n    500: 'rgba(196,49,75,0.9)',\n    600: 'rgba(167,32,55,0.9)',\n    700: 'rgba(142,25,46,0.9)',\n    800: undefined,\n    900: undefined\n  },\n  onyx: {\n    100: 'rgba(59,58,57,0.9)',\n    200: 'rgba(45,44,44,0.4)',\n    300: 'rgba(37,36,35,0.2)',\n    400: 'rgba(37,36,35,0.65)',\n    500: 'rgba(41,40,40,0.9)',\n    600: undefined,\n    700: 'rgba(0,0,0,0.5)',\n    800: 'rgba(27,26,26,0.9)',\n    900: 'rgba(0,0,0,0.8)'\n  },\n  amethyst: {\n    100: undefined,\n    200: undefined,\n    300: undefined,\n    400: 'rgba(98,100,167,0.75)',\n    500: 'rgba(51,52,74,0.5)',\n    600: 'rgba(70,71,117,0.4)',\n    700: 'rgba(98,100,167,0.15)',\n    800: undefined,\n    900: undefined\n  }\n};\nexport var colors = Object.assign({}, contextualAndNaturalColors, primitiveColors, transparentColors);\nexport var createColorScheme = function createColorScheme(customValues) {\n  if (customValues === void 0) {\n    customValues = {};\n  }\n\n  return Object.assign({\n    foreground: undefined,\n    background: undefined,\n    border: undefined,\n    shadow: undefined,\n    foregroundHover: undefined,\n    backgroundHover: undefined,\n    borderHover: undefined,\n    shadowHover: undefined,\n    foregroundActive: undefined,\n    backgroundActive: undefined,\n    borderActive: undefined,\n    shadowActive: undefined,\n    foregroundFocus: undefined,\n    backgroundFocus: undefined,\n    borderFocus: undefined,\n    shadowFocus: undefined,\n    foregroundPressed: undefined,\n    backgroundPressed: undefined,\n    borderPressed: undefined,\n    shadowPressed: undefined,\n    foregroundDisabled: undefined,\n    backgroundDisabled: undefined,\n    borderDisabled: undefined,\n    shadowDisabled: undefined\n  }, customValues);\n};\nexport var colorScheme = /*#__PURE__*/function () {\n  var colorScheme = {\n    default: createColorScheme({\n      foreground: colors.grey[750],\n      foreground1: colors.grey[500],\n      foreground2: colors.grey[450],\n      foreground3: colors.white,\n      foreground4: colors.white,\n      foreground5: colors.grey[100],\n      foreground6: colors.grey[200],\n      foreground7: colors.grey[750],\n      foreground8: colors.grey[750],\n      background: colors.white,\n      background1: colors.grey[50],\n      background2: colors.grey[100],\n      background3: colors.grey[150],\n      background4: colors.grey[100],\n      background5: colors.grey[350],\n      border: colors.grey[200],\n      // buttons\n      border1: colors.grey[150],\n      border2: colors.grey[200],\n      border3: colors.grey[150],\n      // divider\n      shadow: colors.black,\n      // opacity 10%\n      shadowHover: colors.black,\n      // opacity 10%\n      foregroundHover: colors.grey[750],\n      foregroundHover1: colors.white,\n      foregroundHover2: colors.white,\n      backgroundHover: colors.grey[100],\n      backgroundHover1: colors.grey[150],\n      backgroundHover2: 'transparent',\n      backgroundHover3: colors.grey[150],\n      backgroundHover4: colors.grey[50],\n      borderHover: colors.grey[250],\n      // buttons\n      foregroundPressed: colors.grey[750],\n      backgroundPressed: colors.grey[200],\n      backgroundPressed3: colors.grey[150],\n      borderPressed: colors.grey[250],\n      foregroundActive: colors.grey[750],\n      foregroundActive1: colors.white,\n      backgroundActive: colors.grey[100],\n      backgroundActive1: colors.grey[150],\n      backgroundActive2: colors.grey[150],\n      borderActive: colors.grey[200],\n      // buttons\n      borderActive1: colors.grey[150],\n      borderActive2: colors.grey[200],\n      borderActive3: colors.grey[150],\n      // divider\n      borderActive4: colors.grey[400],\n      foregroundFocus: colors.grey[750],\n      foregroundFocus1: colors.grey[500],\n      foregroundFocus2: colors.grey[450],\n      foregroundFocus3: colors.white,\n      backgroundFocus: colors.white,\n      backgroundFocus1: colors.grey[50],\n      backgroundFocus2: colors.grey[100],\n      backgroundFocus3: colors.grey[150],\n      borderFocusWithin: colors.white,\n      borderFocus: colors.black,\n      foregroundDisabled1: colors.grey[250],\n      foregroundDisabled: colors.grey[250],\n      backgroundDisabled: colors.grey[150],\n      backgroundDisabled1: colors.grey[150],\n      backgroundDisabled2: colors.grey[50],\n      backgroundDisabled3: colors.grey[50],\n      borderDisabled: colors.grey[150]\n    }),\n    brand: createColorScheme({\n      foreground: colors.brand[600],\n      foreground1: colors.brand[600],\n      foreground2: colors.brand[700],\n      foreground3: colors.brand[200],\n      foreground4: colors.white,\n      foreground5: colors.white,\n      background: colors.brand[600],\n      background1: colors.brand[100],\n      background2: colors.brand[900],\n      background3: colors.brand[1000],\n      background4: colors.brand[800],\n      background5: colors.brand[100],\n      background6: colors.brand[600],\n      border: colors.grey[200],\n      border1: colors.brand[200],\n      border2: colors.brand[300],\n      shadow: colors.black,\n      // opacity 25%\n      shadowHover: colors.black,\n      foregroundHover: colors.brand[600],\n      foregroundHover1: colors.white,\n      foregroundHover2: colors.brand[200],\n      borderHover: colors.brand[300],\n      backgroundHover: colors.brand[700],\n      backgroundHover1: colors.brand[50],\n      backgroundHover2: colors.brand[100],\n      foregroundPressed: colors.brand[800],\n      foregroundPressed1: colors.white,\n      backgroundPressed: colors.brand[800],\n      // it's 900 on the button - 800 is same as hover\n      backgroundPressed1: colors.brand[100],\n      borderPressed: colors.brand[300],\n      foregroundActive: colors.brand[600],\n      foregroundActive1: colors.brand[600],\n      foregroundActive2: colors.brand[200],\n      backgroundActive: colors.brand[600],\n      backgroundActive1: colors.brand[600],\n      borderActive: colors.grey[200],\n      borderActive1: colors.brand[200],\n      borderActive2: colors.brand[300],\n      foregroundFocus: colors.brand[600],\n      foregroundFocus1: colors.brand[600],\n      foregroundFocus2: colors.brand[700],\n      foregroundFocus3: colors.brand[200],\n      foregroundFocus4: colors.white,\n      backgroundFocus: colors.brand[600],\n      backgroundFocus1: colors.brand[100],\n      backgroundFocus2: colors.brand[900],\n      backgroundFocus3: colors.brand[1000],\n      borderFocus: colors.black,\n      borderFocusWithin: colors.white,\n      borderFocus1: colors.brand[600],\n      // only input\n      foregroundDisabled: colors.grey[250],\n      foregroundDisabled1: colors.grey[250],\n      backgroundDisabled: colors.grey[150],\n      backgroundDisabled1: colors.grey[150],\n      borderDisabled: colors.grey[150]\n    }),\n    black: {\n      foreground: colors.black,\n      foreground1: colors.white,\n      background: colors.white,\n      background1: colors.grey[750],\n      border: colors.black,\n      shadow: colors.black,\n      foregroundHover: colors.white,\n      backgroundHover: colors.black,\n      borderHover: colors.black,\n      shadowHover: colors.black,\n      foregroundActive: colors.white,\n      backgroundActive: colors.black,\n      borderActive: colors.black,\n      shadowActive: colors.black,\n      foregroundFocus: colors.white,\n      backgroundFocus: colors.black,\n      borderFocus: colors.black,\n      shadowFocus: colors.black,\n      foregroundPressed: colors.white,\n      backgroundPressed: colors.black,\n      borderPressed: colors.black,\n      shadowPressed: colors.black,\n      foregroundDisabled: colors.white,\n      backgroundDisabled: colors.black,\n      borderDisabled: colors.black,\n      shadowDisabled: colors.black\n    },\n    white: {\n      foreground: colors.white,\n      foreground1: colors.grey[750],\n      background: colors.black,\n      background1: colors.white,\n      border: colors.white,\n      shadow: colors.white,\n      foregroundHover: colors.black,\n      backgroundHover: colors.white,\n      borderHover: colors.white,\n      shadowHover: colors.white,\n      foregroundActive: colors.black,\n      backgroundActive: colors.white,\n      borderActive: colors.white,\n      shadowActive: colors.white,\n      foregroundFocus: colors.black,\n      backgroundFocus: colors.white,\n      borderFocus: colors.white,\n      shadowFocus: colors.white,\n      foregroundPressed: colors.black,\n      backgroundPressed: colors.white,\n      borderPressed: colors.white,\n      shadowPressed: colors.white,\n      foregroundDisabled: colors.black,\n      backgroundDisabled: colors.white,\n      borderDisabled: colors.white,\n      shadowDisabled: colors.white\n    },\n    green: createColorScheme({\n      foreground: colors.green[600],\n      foreground1: colors.white,\n      foreground2: colors.green[400],\n      foreground3: colors.white,\n      background: colors.green[300],\n      background1: colors.green[600],\n      background2: colors.green[50],\n      border: colors.green[100]\n    }),\n    orange: createColorScheme({\n      foreground: colors.orange[400],\n      foreground1: colors.orange[300],\n      foreground2: colors.white,\n      background: colors.orange[400],\n      background1: colors.orange[400],\n      border: colors.orange[200]\n    }),\n    pink: createColorScheme({\n      foreground: colors.pink[600],\n      foreground1: colors.pink[500],\n      background: colors.pink[50],\n      border: colors.pink[100]\n    }),\n    red: createColorScheme({\n      foreground: colors.red[400],\n      foreground1: colors.white,\n      foreground2: colors.white,\n      background: colors.red[400],\n      background1: colors.red[50],\n      background2: colors.ruby[500],\n      background3: colors.red[400],\n      border: colors.red[100],\n      foregroundHover: colors.white,\n      backgroundHover: colors.ruby[600],\n      backgroundHover1: colors.red[400],\n      foregroundPressed: colors.white,\n      backgroundPressed: colors.ruby[700]\n    }),\n    yellow: createColorScheme({\n      foreground: colors.yellow[300],\n      foreground1: colors.grey[800],\n      foreground2: colors.white,\n      foreground3: colors.grey[750],\n      foreground4: colors.yellow[700],\n      background: colors.yellow[600],\n      background1: colors.yellow[100],\n      background2: colors.yellow[500],\n      background3: colors.yellow[100],\n      border: colors.yellow[200]\n    }),\n    silver: createColorScheme({\n      foreground: colors.white,\n      foreground1: colors.silver[200],\n      foregroundHover: colors.white,\n      foregroundPressed: colors.white,\n      border: colors.silver[600],\n      background: 'transparent',\n      backgroundHover: colors.silver[800],\n      borderHover: colors.silver[600],\n      backgroundPressed: colors.silver[700],\n      borderPressed: colors.silver[600],\n      foregroundDisabled: colors.silver[600],\n      backgroundDisabled: colors.silver[900]\n    }),\n    onyx: createColorScheme({\n      background: colors.onyx[500],\n      background1: colors.onyx[100],\n      background2: colors.onyx[500],\n      background3: colors.onyx[400],\n      backgroundHover: colors.onyx[500],\n      backgroundPressed: colors.onyx[800],\n      border: colors.onyx[800],\n      border1: 'transparent',\n      border2: colors.onyx[300]\n    }),\n    amethyst: createColorScheme({\n      background: colors.amethyst[600],\n      backgroundHover: colors.amethyst[700],\n      backgroundHover1: colors.amethyst[500],\n      backgroundActive: colors.amethyst[700]\n    })\n  };\n  colorScheme.grey = colorScheme.default;\n  return colorScheme;\n}();\nexport var availableColors = ['default', 'black', 'white', 'brand', 'grey', 'red', 'yellow', 'green', 'pink', 'orange'];\nexport var isValidColor = function isValidColor(color) {\n  return color && availableColors.indexOf(color) >= 0;\n};\nexport var getColorSchemeKey = function getColorSchemeKey(color, primary) {\n  return color && isValidColor(color) ? color : primary ? 'brand' : 'default';\n};\nexport var getColorScheme = function getColorScheme(colorScheme, color, primary) {\n  return colorScheme[getColorSchemeKey(color, primary)];\n};\n//# sourceMappingURL=colors.js.map\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}","var arrayMap = require('./_arrayMap'),\n    baseIteratee = require('./_baseIteratee'),\n    baseMap = require('./_baseMap'),\n    isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\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} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n *   return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n *   { 'user': 'barney' },\n *   { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n  var func = isArray(collection) ? arrayMap : baseMap;\n  return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\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;\n","import invariant from 'tiny-invariant';\n\nvar getRect = function getRect(_ref) {\n  var top = _ref.top,\n      right = _ref.right,\n      bottom = _ref.bottom,\n      left = _ref.left;\n  var width = right - left;\n  var height = bottom - top;\n  var rect = {\n    top: top,\n    right: right,\n    bottom: bottom,\n    left: left,\n    width: width,\n    height: height,\n    x: left,\n    y: top,\n    center: {\n      x: (right + left) / 2,\n      y: (bottom + top) / 2\n    }\n  };\n  return rect;\n};\nvar expand = function expand(target, expandBy) {\n  return {\n    top: target.top - expandBy.top,\n    left: target.left - expandBy.left,\n    bottom: target.bottom + expandBy.bottom,\n    right: target.right + expandBy.right\n  };\n};\nvar shrink = function shrink(target, shrinkBy) {\n  return {\n    top: target.top + shrinkBy.top,\n    left: target.left + shrinkBy.left,\n    bottom: target.bottom - shrinkBy.bottom,\n    right: target.right - shrinkBy.right\n  };\n};\n\nvar shift = function shift(target, shiftBy) {\n  return {\n    top: target.top + shiftBy.y,\n    left: target.left + shiftBy.x,\n    bottom: target.bottom + shiftBy.y,\n    right: target.right + shiftBy.x\n  };\n};\n\nvar noSpacing = {\n  top: 0,\n  right: 0,\n  bottom: 0,\n  left: 0\n};\nvar createBox = function createBox(_ref2) {\n  var borderBox = _ref2.borderBox,\n      _ref2$margin = _ref2.margin,\n      margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n      _ref2$border = _ref2.border,\n      border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n      _ref2$padding = _ref2.padding,\n      padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n  var marginBox = getRect(expand(borderBox, margin));\n  var paddingBox = getRect(shrink(borderBox, border));\n  var contentBox = getRect(shrink(paddingBox, padding));\n  return {\n    marginBox: marginBox,\n    borderBox: getRect(borderBox),\n    paddingBox: paddingBox,\n    contentBox: contentBox,\n    margin: margin,\n    border: border,\n    padding: padding\n  };\n};\n\nvar parse = function parse(raw) {\n  var value = raw.slice(0, -2);\n  var suffix = raw.slice(-2);\n\n  if (suffix !== 'px') {\n    return 0;\n  }\n\n  var result = Number(value);\n  !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n  return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n  return {\n    x: window.pageXOffset,\n    y: window.pageYOffset\n  };\n};\n\nvar offset = function offset(original, change) {\n  var borderBox = original.borderBox,\n      border = original.border,\n      margin = original.margin,\n      padding = original.padding;\n  var shifted = shift(borderBox, change);\n  return createBox({\n    borderBox: shifted,\n    border: border,\n    margin: margin,\n    padding: padding\n  });\n};\nvar withScroll = function withScroll(original, scroll) {\n  if (scroll === void 0) {\n    scroll = getWindowScroll();\n  }\n\n  return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n  var margin = {\n    top: parse(styles.marginTop),\n    right: parse(styles.marginRight),\n    bottom: parse(styles.marginBottom),\n    left: parse(styles.marginLeft)\n  };\n  var padding = {\n    top: parse(styles.paddingTop),\n    right: parse(styles.paddingRight),\n    bottom: parse(styles.paddingBottom),\n    left: parse(styles.paddingLeft)\n  };\n  var border = {\n    top: parse(styles.borderTopWidth),\n    right: parse(styles.borderRightWidth),\n    bottom: parse(styles.borderBottomWidth),\n    left: parse(styles.borderLeftWidth)\n  };\n  return createBox({\n    borderBox: borderBox,\n    margin: margin,\n    padding: padding,\n    border: border\n  });\n};\nvar getBox = function getBox(el) {\n  var borderBox = el.getBoundingClientRect();\n  var styles = window.getComputedStyle(el);\n  return calculateBox(borderBox, styles);\n};\n\nexport { calculateBox, createBox, expand, getBox, getRect, offset, shrink, withScroll };\n","function _createForOfIteratorHelperLoose(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; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\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 { IS_FOCUSABLE_ATTRIBUTE } from '@fluentui/accessibility';\nimport { getParent, getWindow } from '@uifabric/utilities';\nexport var IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nexport var FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nexport var FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\nexport var HIDDEN_FROM_ACC_TREE = 'data-is-hidden-from-acc-tree';\nexport { getDocument, getParent, getWindow } from '@uifabric/utilities';\n/**\n * Gets the first focusable element.\n *\n * @public\n */\n\nexport function getFirstFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n  return getNextElement(rootElement, currentElement, true\n  /* checkNode */\n  , false\n  /* suppressParentTraversal */\n  , false\n  /* suppressChildTraversal */\n  , includeElementsInFocusZones);\n}\n/**\n * Gets the last focusable element.\n *\n * @public\n */\n\nexport function getLastFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n  return getPreviousElement(rootElement, currentElement, true\n  /* checkNode */\n  , false\n  /* suppressParentTraversal */\n  , true\n  /* traverseChildren */\n  , includeElementsInFocusZones);\n}\n/**\n * Gets the first tabbable element.\n * The difference between focusable and tabbable is that tabbable elements are focusable elements that also have tabIndex != -1.\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at.  This element is the first one checked,\n * and iteration continues forward.  Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @public\n */\n\nexport function getFirstTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n  return getNextElement(rootElement, currentElement, checkNode, false\n  /* suppressParentTraversal */\n  , false\n  /* suppressChildTraversal */\n  , includeElementsInFocusZones, true\n  /* tabbable */\n  );\n}\n/**\n * Gets the last tabbable element.\n * The difference between focusable and tabbable is that tabbable elements are focusable elements that also have tabIndex != -1.\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at.  This element is the first one checked,\n * and iteration continues in reverse.  Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @public\n */\n\nexport function getLastTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n  return getPreviousElement(rootElement, currentElement, checkNode, false\n  /* suppressParentTraversal */\n  , true\n  /* traverseChildren */\n  , includeElementsInFocusZones, true\n  /* tabbable */\n  );\n}\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\n\nexport function getPreviousElement(rootElement, currentElement, checkNode, suppressParentTraversal, traverseChildren, includeElementsInFocusZones, tabbable) {\n  if (!currentElement || currentElement === rootElement) {\n    return null;\n  }\n\n  var isCurrentElementVisible = isElementVisible(currentElement); // Check its children.\n\n  if (traverseChildren && isCurrentElementVisible && (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n    var childMatch = getPreviousElement(rootElement, currentElement.lastElementChild, true, true, true, includeElementsInFocusZones, tabbable);\n\n    if (childMatch) {\n      if (tabbable && isElementTabbable(childMatch, true) || !tabbable) {\n        return childMatch;\n      }\n\n      var childMatchSiblingMatch = getPreviousElement(rootElement, childMatch.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n      if (childMatchSiblingMatch) {\n        return childMatchSiblingMatch;\n      }\n\n      var childMatchParent = childMatch.parentElement; // At this point if we have not found any potential matches\n      // start looking at the rest of the subtree under the currentParent.\n      // NOTE: We do not want to recurse here because doing so could\n      // cause elements to get skipped.\n\n      while (childMatchParent && childMatchParent !== currentElement) {\n        var childMatchParentMatch = getPreviousElement(rootElement, childMatchParent.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n        if (childMatchParentMatch) {\n          return childMatchParentMatch;\n        }\n\n        childMatchParent = childMatchParent.parentElement;\n      }\n    }\n  } // Check the current node, if it's not the first traversal.\n\n\n  if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n    return currentElement;\n  } // Check its previous sibling.\n\n\n  var siblingMatch = getPreviousElement(rootElement, currentElement.previousElementSibling, true, true, true, includeElementsInFocusZones, tabbable);\n\n  if (siblingMatch) {\n    return siblingMatch;\n  } // Check its parent.\n\n\n  if (!suppressParentTraversal) {\n    return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones, tabbable);\n  }\n\n  return null;\n}\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\n\nexport function getNextElement(rootElement, currentElement, checkNode, suppressParentTraversal, suppressChildTraversal, includeElementsInFocusZones, tabbable) {\n  if (!currentElement || currentElement === rootElement && suppressChildTraversal) {\n    return null;\n  }\n\n  var isCurrentElementVisible = isElementVisible(currentElement); // Check the current node, if it's not the first traversal.\n\n  if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n    return currentElement;\n  } // Check its children.\n\n\n  if (!suppressChildTraversal && isCurrentElementVisible && (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n    var childMatch = getNextElement(rootElement, currentElement.firstElementChild, true, true, false, includeElementsInFocusZones, tabbable);\n\n    if (childMatch) {\n      return childMatch;\n    }\n  }\n\n  if (currentElement === rootElement) {\n    return null;\n  } // Check its sibling.\n\n\n  var siblingMatch = getNextElement(rootElement, currentElement.nextElementSibling, true, true, false, includeElementsInFocusZones, tabbable);\n\n  if (siblingMatch) {\n    return siblingMatch;\n  }\n\n  if (!suppressParentTraversal) {\n    return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones, tabbable);\n  }\n\n  return null;\n}\n/**\n * Determines if an element is visible.\n *\n * @public\n */\n\nexport function isElementVisible(element) {\n  // If the element is not valid, return false.\n  if (!element || !element.getAttribute) {\n    return false;\n  }\n\n  var visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE); // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n\n  if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n    return visibilityAttribute === 'true';\n  } // Fallback to other methods of determining actual visibility.\n\n\n  return element.offsetHeight !== 0 || element.offsetParent !== null || // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  element.isVisible === true; // used as a workaround for testing.\n}\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key, meaning tabIndex != -1.\n *\n * @public\n */\n\nexport function isElementTabbable(element, checkTabIndex) {\n  // If this element is null or is disabled, it is not considered tabbable.\n  if (!element || element.disabled) {\n    return false;\n  }\n\n  var tabIndex = 0;\n  var tabIndexAttributeValue = null;\n\n  if (element && element.getAttribute) {\n    tabIndexAttributeValue = element.getAttribute('tabIndex');\n\n    if (tabIndexAttributeValue) {\n      tabIndex = parseInt(tabIndexAttributeValue, 10);\n    }\n  }\n\n  var isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n  var isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n  var result = !!element && isFocusableAttribute !== 'false' && (element.tagName === 'A' || element.tagName === 'BUTTON' || element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || isFocusableAttribute === 'true' || isTabIndexSet || element.getAttribute && element.getAttribute('role') === 'button');\n  return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\n\nexport function isElementFocusZone(element) {\n  return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\n\nexport function isElementFocusSubZone(element) {\n  return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\nvar targetToFocusOnNextRepaint = undefined;\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\n\nexport function focusAsync(element) {\n  if (element) {\n    // An element was already queued to be focused, so replace that one with the new element\n    if (targetToFocusOnNextRepaint) {\n      targetToFocusOnNextRepaint = element;\n      return;\n    }\n\n    targetToFocusOnNextRepaint = element;\n    var win = getWindow(element);\n\n    if (win) {\n      // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n      win.requestAnimationFrame(function () {\n        targetToFocusOnNextRepaint && targetToFocusOnNextRepaint.focus(); // We are done focusing for this frame, so reset the queued focus element\n\n        targetToFocusOnNextRepaint = undefined;\n      });\n    }\n  }\n}\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\n\nexport function getFocusableByIndexPath(parent, path) {\n  var element = parent;\n\n  for (var _iterator = _createForOfIteratorHelperLoose(path), _step; !(_step = _iterator()).done;) {\n    var index = _step.value;\n    var nextChild = element.children[Math.min(index, element.children.length - 1)];\n\n    if (!nextChild) {\n      break;\n    }\n\n    element = nextChild;\n  }\n\n  element = isElementTabbable(element) && isElementVisible(element) ? element : getNextElement(parent, element, true) || getPreviousElement(parent, element);\n  return element;\n}\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\n\nexport function getElementIndexPath(fromElement, toElement) {\n  var path = [];\n  var currentElement = toElement;\n\n  while (currentElement && fromElement && currentElement !== fromElement) {\n    var parent = getParent(currentElement, false);\n\n    if (parent === null) {\n      return [];\n    }\n\n    path.unshift(Array.prototype.indexOf.call(parent.children, currentElement));\n    currentElement = parent;\n  }\n\n  return path;\n}\n//# sourceMappingURL=focusUtilities.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nexport var commonPropTypes = {\n  createCommon: function createCommon(config) {\n    if (config === void 0) {\n      config = {};\n    }\n\n    var _config = config,\n        _config$accessibility = _config.accessibility,\n        accessibility = _config$accessibility === void 0 ? true : _config$accessibility,\n        _config$as = _config.as,\n        as = _config$as === void 0 ? true : _config$as,\n        _config$children = _config.children,\n        children = _config$children === void 0 ? 'node' : _config$children,\n        _config$className = _config.className,\n        className = _config$className === void 0 ? true : _config$className,\n        _config$color = _config.color,\n        color = _config$color === void 0 ? false : _config$color,\n        _config$content = _config.content,\n        content = _config$content === void 0 ? 'node' : _config$content,\n        _config$styled = _config.styled,\n        styled = _config$styled === void 0 ? true : _config$styled;\n    return Object.assign({}, accessibility && {\n      accessibility: customPropTypes.accessibility\n    }, as && {\n      as: PropTypes.elementType\n    }, children && {\n      children: children === 'element' ? PropTypes.element : PropTypes.node\n    }, className && {\n      className: PropTypes.string\n    }, color && {\n      color: PropTypes.string\n    }, content && {\n      content: content === 'shorthand' ? customPropTypes.itemShorthand : customPropTypes.nodeContent\n    }, styled && {\n      styles: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n      variables: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n      design: customPropTypes.design\n    });\n  }\n};\n//# sourceMappingURL=commonPropTypes.js.map\n","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","// This is a type-only import and this package depends on @types/react\n// eslint-disable-next-line import/no-extraneous-dependencies\n// Heads up! Keep in sync with FocusZone.types.ts\nexport var FocusZoneTabbableElements;\n\n(function (FocusZoneTabbableElements) {\n  FocusZoneTabbableElements[FocusZoneTabbableElements[\"none\"] = 0] = \"none\";\n  FocusZoneTabbableElements[FocusZoneTabbableElements[\"all\"] = 1] = \"all\";\n  FocusZoneTabbableElements[FocusZoneTabbableElements[\"inputOnly\"] = 2] = \"inputOnly\";\n})(FocusZoneTabbableElements || (FocusZoneTabbableElements = {}));\n\nexport var FocusZoneDirection;\n\n(function (FocusZoneDirection) {\n  FocusZoneDirection[FocusZoneDirection[\"vertical\"] = 0] = \"vertical\";\n  FocusZoneDirection[FocusZoneDirection[\"horizontal\"] = 1] = \"horizontal\";\n  FocusZoneDirection[FocusZoneDirection[\"bidirectional\"] = 2] = \"bidirectional\";\n  FocusZoneDirection[FocusZoneDirection[\"bidirectionalDomOrder\"] = 3] = \"bidirectionalDomOrder\";\n})(FocusZoneDirection || (FocusZoneDirection = {}));\n//# sourceMappingURL=types.js.map\n","export var IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nexport var IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\n//# sourceMappingURL=attributes.js.map\n","export var extendColorScheme = function extendColorScheme(colorScheme, overrides) {\n  var result = colorScheme;\n  Object.keys(overrides).forEach(function (color) {\n    var _Object$assign;\n\n    result = Object.assign({}, result, (_Object$assign = {}, _Object$assign[color] = Object.assign({}, colorScheme[color], overrides[color]), _Object$assign));\n  });\n  return result;\n};\nexport function pickValuesFromColorScheme(colorScheme, componentAreas) {\n  var result = {};\n  Object.keys(colorScheme).forEach(function (color) {\n    var _Object$assign3;\n\n    var colorValues = componentAreas.reduce(function (accumulator, area) {\n      var _Object$assign2;\n\n      return Object.assign({}, accumulator, (_Object$assign2 = {}, _Object$assign2[area] = colorScheme[color][area], _Object$assign2));\n    }, {});\n    result = Object.assign({}, result, (_Object$assign3 = {}, _Object$assign3[color] = colorValues, _Object$assign3));\n  });\n  return result;\n}\n//# sourceMappingURL=colorUtils.js.map\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  setPrototypeOf(subClass, superClass);\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;\n\nmodule.exports = isArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n    baseKeys = require('./_baseKeys'),\n    isArrayLike = require('./isArrayLike');\n\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 */\nfunction keys(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * Mapping from numeric key code to key name. If the value is an array, the first element is the\n * primary key name, and the second element is the key name when shift is pressed.\n */\nexport var codes = {\n    // ----------------------------------------\n    // By Code\n    // ----------------------------------------\n    3: 'Cancel',\n    6: 'Help',\n    8: 'Backspace',\n    9: 'Tab',\n    12: 'Clear',\n    13: 'Enter',\n    16: 'Shift',\n    17: 'Control',\n    18: 'Alt',\n    19: 'Pause',\n    20: 'CapsLock',\n    27: 'Escape',\n    28: 'Convert',\n    29: 'NonConvert',\n    30: 'Accept',\n    31: 'ModeChange',\n    32: ' ',\n    33: 'PageUp',\n    34: 'PageDown',\n    35: 'End',\n    36: 'Home',\n    37: 'ArrowLeft',\n    38: 'ArrowUp',\n    39: 'ArrowRight',\n    40: 'ArrowDown',\n    41: 'Select',\n    42: 'Print',\n    43: 'Execute',\n    44: 'PrintScreen',\n    45: 'Insert',\n    46: 'Delete',\n    48: ['0', ')'],\n    49: ['1', '!'],\n    50: ['2', '@'],\n    51: ['3', '#'],\n    52: ['4', '$'],\n    53: ['5', '%'],\n    54: ['6', '^'],\n    55: ['7', '&'],\n    56: ['8', '*'],\n    57: ['9', '('],\n    65: ['a', 'A'],\n    66: ['b', 'B'],\n    67: ['c', 'C'],\n    68: ['d', 'D'],\n    69: ['e', 'E'],\n    70: ['f', 'F'],\n    71: ['g', 'G'],\n    72: ['h', 'H'],\n    73: ['i', 'I'],\n    74: ['j', 'J'],\n    75: ['k', 'K'],\n    76: ['l', 'L'],\n    77: ['m', 'M'],\n    78: ['n', 'N'],\n    79: ['o', 'O'],\n    80: ['p', 'P'],\n    81: ['q', 'Q'],\n    82: ['r', 'R'],\n    83: ['s', 'S'],\n    84: ['t', 'T'],\n    85: ['u', 'U'],\n    86: ['v', 'V'],\n    87: ['w', 'W'],\n    88: ['x', 'X'],\n    89: ['y', 'Y'],\n    90: ['z', 'Z'],\n    91: 'OS',\n    93: 'ContextMenu',\n    112: 'F1',\n    113: 'F2',\n    114: 'F3',\n    115: 'F4',\n    116: 'F5',\n    117: 'F6',\n    118: 'F7',\n    119: 'F8',\n    120: 'F9',\n    121: 'F10',\n    122: 'F11',\n    123: 'F12',\n    124: 'F13',\n    125: 'F14',\n    126: 'F15',\n    127: 'F16',\n    128: 'F17',\n    129: 'F18',\n    130: 'F19',\n    131: 'F20',\n    132: 'F21',\n    133: 'F22',\n    134: 'F23',\n    135: 'F24',\n    144: 'NumLock',\n    145: 'ScrollLock',\n    181: 'VolumeMute',\n    182: 'VolumeDown',\n    183: 'VolumeUp',\n    186: [';', ':'],\n    187: ['=', '+'],\n    188: [',', '<'],\n    189: ['-', '_'],\n    190: ['.', '>'],\n    191: ['/', '?'],\n    192: ['`', '~'],\n    219: ['[', '{'],\n    220: ['\\\\', '|'],\n    221: [']', '}'],\n    222: [\"'\", '\"'],\n    224: 'Meta',\n    225: 'AltGraph',\n    246: 'Attn',\n    247: 'CrSel',\n    248: 'ExSel',\n    249: 'EraseEof',\n    250: 'Play',\n    251: 'ZoomOut',\n};\n//# sourceMappingURL=codes.js.map","import { codes } from './codes';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar isObject = function (val) {\n    return val !== null && !Array.isArray(val) && typeof val === 'object';\n};\n/**\n * Get the `keyCode` or `which` value from a keyboard event or `key` name.\n * If an object is provided, the precedence of properties is `keyCode`, `which`, `key`.\n * @param eventOrKey - A keyboard event-like object or `key` name. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\nexport function getCode(eventOrKey) {\n    if (isObject(eventOrKey)) {\n        // eslint-disable-next-line deprecation/deprecation, @typescript-eslint/no-explicit-any\n        return eventOrKey.keyCode || eventOrKey.which || keyboardKey[eventOrKey.key];\n    }\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    return keyboardKey[eventOrKey];\n}\n/**\n * Get the key name from a keyboard event, `keyCode`, or `which` value.\n * If an object is provided, the precedence of properties is `key`, `keyCode`, `which`.\n * @param eventOrCode - A keyboard event-like object or key code. If an object, at least one of\n * `key`, `keyCode`, or `which` must be defined.\n */\nexport function getKey(eventOrCode) {\n    var isEvent = isObject(eventOrCode);\n    var event = eventOrCode;\n    // handle events with a `key` already defined\n    if (isEvent && event.key) {\n        return event.key;\n    }\n    // eslint-disable-next-line deprecation/deprecation\n    var name = codes[(isEvent ? event.keyCode || event.which : eventOrCode)];\n    if (Array.isArray(name)) {\n        if (isEvent) {\n            name = name[event.shiftKey ? 1 : 0];\n        }\n        else {\n            name = name[0];\n        }\n    }\n    return name;\n}\n/**\n * Mapping of keyboard keys with aliases and codes.\n */\nexport var keyboardKey = {};\n// Populate names on keyboardKey.\nfor (var code in codes) {\n    if (codes.hasOwnProperty(code)) {\n        var value = codes[code];\n        if (typeof value === 'string') {\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n            keyboardKey[value] = Number(code);\n        }\n        else {\n            // Array of valid values which map to the same code.\n            for (var i = 0; i < value.length; i++) {\n                // eslint-disable-next-line @typescript-eslint/no-explicit-any\n                keyboardKey[value[i]] = Number(code);\n            }\n        }\n    }\n}\n// As single exports for keys that normally have special functionality attached to them.\nexport var SpacebarKey = keyboardKey[' '];\nexport var Digit0Key = keyboardKey['0'];\nexport var Digit1Key = keyboardKey['1'];\nexport var Digit2Key = keyboardKey['2'];\nexport var Digit3Key = keyboardKey['3'];\nexport var Digit4Key = keyboardKey['4'];\nexport var Digit5Key = keyboardKey['5'];\nexport var Digit6Key = keyboardKey['6'];\nexport var Digit7Key = keyboardKey['7'];\nexport var Digit8Key = keyboardKey['8'];\nexport var Digit9Key = keyboardKey['9'];\nexport var TildeKey = keyboardKey['~'];\nexport var GraveAccentKey = keyboardKey['`'];\nexport var ExclamationPointKey = keyboardKey['!'];\nexport var AtSignKey = keyboardKey['@'];\nexport var PoundSignKey = keyboardKey['#'];\nexport var PercentSignKey = keyboardKey['%'];\nexport var CaretKey = keyboardKey['^'];\nexport var AmpersandKey = keyboardKey['&'];\nexport var PlusSignKey = keyboardKey['+'];\nexport var MinusSignKey = keyboardKey['-'];\nexport var EqualsSignKey = keyboardKey['='];\nexport var DivisionSignKey = keyboardKey['/'];\nexport var MultiplicationSignKey = keyboardKey['*'];\nexport var CommaKey = keyboardKey[','];\nexport var DecimalKey = keyboardKey['.'];\nexport var ColonKey = keyboardKey[':'];\nexport var SemicolonKey = keyboardKey[';'];\nexport var PipeKey = keyboardKey['|'];\nexport var BackSlashKey = keyboardKey['\\\\'];\nexport var QuestionMarkKey = keyboardKey['?'];\nexport var SingleQuoteKey = keyboardKey[\"'\"];\nexport var DoubleQuoteKey = keyboardKey['\"'];\nexport var LeftCurlyBraceKey = keyboardKey['{'];\nexport var RightCurlyBraceKey = keyboardKey['}'];\nexport var LeftParenthesisKey = keyboardKey['('];\nexport var RightParenthesisKey = keyboardKey[')'];\nexport var LeftAngleBracketKey = keyboardKey['<'];\nexport var RightAngleBracketKey = keyboardKey['>'];\nexport var LeftSquareBracketKey = keyboardKey['['];\nexport var RightSquareBracketKey = keyboardKey[']'];\nexport var ArrowDownKey = keyboardKey.ArrowDown;\nexport var ArrowLeftKey = keyboardKey.ArrowLeft;\nexport var ArrowRightKey = keyboardKey.ArrowRight;\nexport var ArrowUpKey = keyboardKey.ArrowUp;\nexport var EndKey = keyboardKey.End;\nexport var EnterKey = keyboardKey.Enter;\nexport var HomeKey = keyboardKey.Home;\nexport var PageDownKey = keyboardKey.PageDown;\nexport var PageUpKey = keyboardKey.PageUp;\nexport var TabKey = keyboardKey.Tab;\n//# sourceMappingURL=index.js.map","import { isBrowser } from './isBrowser';\nvar DEFAULT_REM_SIZE_IN_PX = 16;\nvar _documentRemSize = null;\nexport var getDocumentRemSize = function getDocumentRemSize() {\n  if (isBrowser()) {\n    try {\n      // eslint-disable-next-line no-undef\n      return getFontSizeValue(getComputedStyle(document.documentElement).fontSize) || DEFAULT_REM_SIZE_IN_PX;\n    } catch (e) {\n      return DEFAULT_REM_SIZE_IN_PX;\n    }\n  }\n\n  return DEFAULT_REM_SIZE_IN_PX;\n};\n\nvar getFontSizeValue = function getFontSizeValue(size) {\n  return size && parseFloat(size) || null;\n}; // A replacement for a Lodash's one, way more faster on our cases as handles specific scenario\n\n\nexport var round = function round(n) {\n  return (n * 10000 + (n > 0 ? 0.5 : -0.5) << 0) / 10000;\n};\n/**\n * Converts the provided px size to rem based on the default font size of 16px unless\n * the HTML font size has been previously defined with setHTMLFontSize().\n * @param valueInPx - The px value to convert to rem.\n * @param baseRemSize - Rem size to use for conversions. Optional - document's font size will be taken otherwise.\n * @example\n * ```\n * // Returns '1rem' for default document font size (16px).\n * pxToRem(16)\n *\n * // Returns '2rem'.\n * pxToRem(32, 16)\n * ```\n * @returns The value converted to the rem.\n */\n\nexport var pxToRem = function pxToRem(valueInPx, baseRemSize) {\n  if (!baseRemSize && !_documentRemSize) {\n    // there is no way how to reset the cached value\n    // invalidating the cache is not possible as resetting cached value won't trigger recalculation of site variables,\n    // for which originally computed values will stay unchanged\n    _documentRemSize = getDocumentRemSize();\n  }\n\n  var remSize = baseRemSize || _documentRemSize || DEFAULT_REM_SIZE_IN_PX;\n  var convertedValueInRems = valueInPx / remSize;\n  return round(convertedValueInRems) + \"rem\";\n};\n//# sourceMappingURL=fontSizeUtility.js.map\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\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;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\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 () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","/**\n * Given input/parent options, which are both assumed to be defined and populated with\n * displayNames array, return a string array of display names.\n */\nexport function computeDisplayNames(inputOptions, parentOptions) {\n    if (inputOptions.overrideStyles) {\n        return [inputOptions.displayName].filter(Boolean);\n    }\n    // To support styles composition we need to properly pick up display names\n    return inputOptions.displayName\n        ? parentOptions.displayNames.concat(inputOptions.displayName)\n        : parentOptions.displayNames;\n}\n//# sourceMappingURL=computeDisplayNames.js.map","export var defaultComposeOptions = {\n    className: process.env.NODE_ENV === 'production' ? '' : 'no-classname-🙉',\n    classes: [],\n    displayName: '',\n    displayNames: [],\n    mapPropsToStylesPropsChain: [],\n    render: function () { return null; },\n    handledProps: [],\n    overrideStyles: false,\n    // eslint-disable-next-line @typescript-eslint/naming-convention\n    slots: { __self: function () { return null; } },\n    slotProps: [],\n    state: function (props) { return props; },\n    resolveSlotProps: function () { return ({}); },\n    shorthandConfig: {},\n};\n//# sourceMappingURL=defaultComposeOptions.js.map","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { wasComposedPreviously } from './wasComposedPreviously';\nimport { mergeComposeOptions } from './mergeComposeOptions';\nfunction compose(input, inputOptions) {\n    if (inputOptions === void 0) { inputOptions = {}; }\n    var composeOptions = mergeComposeOptions(input, inputOptions, wasComposedPreviously(input) ? input.fluentComposeConfig : undefined);\n    var Component = React.forwardRef(function (props, ref) {\n        return composeOptions.render(props, ref, __assign(__assign({}, composeOptions), { state: composeOptions.state(props, ref, composeOptions), slots: __assign(__assign({}, composeOptions.slots), { __self: Component }) }));\n    });\n    Component.displayName = composeOptions.displayName;\n    if (input.defaultProps) {\n        Component.defaultProps = input.defaultProps;\n    }\n    Component.fluentComposeConfig = composeOptions;\n    return Component;\n}\nexport default compose;\n//# sourceMappingURL=compose.js.map","import { __assign, __spreadArrays } from \"tslib\";\nimport { computeDisplayNames } from './computeDisplayNames';\nimport { defaultComposeOptions } from './defaultComposeOptions';\nexport function mergeComposeOptions(input, inputOptions, parentOptions) {\n    if (parentOptions === void 0) { parentOptions = defaultComposeOptions; }\n    var mapPropsToSlotPropsChain = inputOptions.slotProps\n        ? __spreadArrays(parentOptions.slotProps, [inputOptions.slotProps]) : parentOptions.slotProps;\n    var resolveSlotProps = function (props) {\n        return mapPropsToSlotPropsChain.reduce(function (acc, definition) {\n            var nextProps = __assign({}, definition(props));\n            var slots = __spreadArrays(Object.keys(acc), Object.keys(nextProps));\n            var mergedSlotProps = {};\n            slots.forEach(function (slot) {\n                if (!mergedSlotProps[slot]) {\n                    mergedSlotProps[slot] = __assign(__assign({}, acc[slot]), nextProps[slot]);\n                }\n            });\n            return mergedSlotProps;\n        }, {});\n    };\n    var inputClasses = Array.isArray(inputOptions.classes) ? inputOptions.classes : [inputOptions.classes];\n    var state = function (props, ref, options) {\n        if (inputOptions.state) {\n            return inputOptions.state(parentOptions.state(props, ref, options), ref, options);\n        }\n        return parentOptions.state(props, ref, options);\n    };\n    return {\n        className: inputOptions.className || parentOptions.className,\n        classes: __spreadArrays(parentOptions.classes, inputClasses),\n        displayName: inputOptions.displayName || parentOptions.displayName,\n        displayNames: computeDisplayNames(inputOptions, parentOptions),\n        mapPropsToStylesPropsChain: inputOptions.mapPropsToStylesProps\n            ? __spreadArrays(parentOptions.mapPropsToStylesPropsChain, [inputOptions.mapPropsToStylesProps]) : parentOptions.mapPropsToStylesPropsChain,\n        render: typeof input === 'function' ? input : parentOptions.render,\n        handledProps: __spreadArrays(parentOptions.handledProps, (inputOptions.handledProps || [])),\n        overrideStyles: inputOptions.overrideStyles || false,\n        slots: __assign(__assign({}, parentOptions.slots), inputOptions.slots),\n        slotProps: mapPropsToSlotPropsChain,\n        state: state,\n        resolveSlotProps: resolveSlotProps,\n        shorthandConfig: __assign(__assign({}, parentOptions.shorthandConfig), inputOptions.shorthandConfig),\n    };\n}\n//# sourceMappingURL=mergeComposeOptions.js.map","/**\n * compose() allows you to pass two inputs:\n * - React.forwardRef + static fluentComposeConfig, i.e. previously composed component\n * - a function\n */\nexport function wasComposedPreviously(input) {\n    return !!input.fluentComposeConfig;\n}\n//# sourceMappingURL=wasComposedPreviously.js.map","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n//       values that give correct `typeof` results).\n//       do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n   getRgba: getRgba,\n   getHsla: getHsla,\n   getRgb: getRgb,\n   getHsl: getHsl,\n   getHwb: getHwb,\n   getAlpha: getAlpha,\n\n   hexString: hexString,\n   rgbString: rgbString,\n   rgbaString: rgbaString,\n   percentString: percentString,\n   percentaString: percentaString,\n   hslString: hslString,\n   hslaString: hslaString,\n   hwbString: hwbString,\n   keyword: keyword\n};\n\nfunction getRgba(string) {\n   if (!string) {\n      return;\n   }\n   var abbr =  /^#([a-fA-F0-9]{3,4})$/i,\n       hex =  /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n       rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n       per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n       keyword = /(\\w+)/;\n\n   var rgb = [0, 0, 0],\n       a = 1,\n       match = string.match(abbr),\n       hexAlpha = \"\";\n   if (match) {\n      match = match[1];\n      hexAlpha = match[3];\n      for (var i = 0; i < rgb.length; i++) {\n         rgb[i] = parseInt(match[i] + match[i], 16);\n      }\n      if (hexAlpha) {\n         a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n      }\n   }\n   else if (match = string.match(hex)) {\n      hexAlpha = match[2];\n      match = match[1];\n      for (var i = 0; i < rgb.length; i++) {\n         rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n      }\n      if (hexAlpha) {\n         a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n      }\n   }\n   else if (match = string.match(rgba)) {\n      for (var i = 0; i < rgb.length; i++) {\n         rgb[i] = parseInt(match[i + 1]);\n      }\n      a = parseFloat(match[4]);\n   }\n   else if (match = string.match(per)) {\n      for (var i = 0; i < rgb.length; i++) {\n         rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n      }\n      a = parseFloat(match[4]);\n   }\n   else if (match = string.match(keyword)) {\n      if (match[1] == \"transparent\") {\n         return [0, 0, 0, 0];\n      }\n      rgb = colorName$1[match[1]];\n      if (!rgb) {\n         return;\n      }\n   }\n\n   for (var i = 0; i < rgb.length; i++) {\n      rgb[i] = scale(rgb[i], 0, 255);\n   }\n   if (!a && a != 0) {\n      a = 1;\n   }\n   else {\n      a = scale(a, 0, 1);\n   }\n   rgb[3] = a;\n   return rgb;\n}\n\nfunction getHsla(string) {\n   if (!string) {\n      return;\n   }\n   var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n   var match = string.match(hsl);\n   if (match) {\n      var alpha = parseFloat(match[4]);\n      var h = scale(parseInt(match[1]), 0, 360),\n          s = scale(parseFloat(match[2]), 0, 100),\n          l = scale(parseFloat(match[3]), 0, 100),\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n      return [h, s, l, a];\n   }\n}\n\nfunction getHwb(string) {\n   if (!string) {\n      return;\n   }\n   var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n   var match = string.match(hwb);\n   if (match) {\n    var alpha = parseFloat(match[4]);\n      var h = scale(parseInt(match[1]), 0, 360),\n          w = scale(parseFloat(match[2]), 0, 100),\n          b = scale(parseFloat(match[3]), 0, 100),\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n      return [h, w, b, a];\n   }\n}\n\nfunction getRgb(string) {\n   var rgba = getRgba(string);\n   return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n  var hsla = getHsla(string);\n  return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n   var vals = getRgba(string);\n   if (vals) {\n      return vals[3];\n   }\n   else if (vals = getHsla(string)) {\n      return vals[3];\n   }\n   else if (vals = getHwb(string)) {\n      return vals[3];\n   }\n}\n\n// generators\nfunction hexString(rgba, a) {\n   var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n   return \"#\" + hexDouble(rgba[0]) \n              + hexDouble(rgba[1])\n              + hexDouble(rgba[2])\n              + (\n                 (a >= 0 && a < 1)\n                 ? hexDouble(Math.round(a * 255))\n                 : \"\"\n              );\n}\n\nfunction rgbString(rgba, alpha) {\n   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n      return rgbaString(rgba, alpha);\n   }\n   return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n   if (alpha === undefined) {\n      alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n   }\n   return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n           + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n      return percentaString(rgba, alpha);\n   }\n   var r = Math.round(rgba[0]/255 * 100),\n       g = Math.round(rgba[1]/255 * 100),\n       b = Math.round(rgba[2]/255 * 100);\n\n   return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n   var r = Math.round(rgba[0]/255 * 100),\n       g = Math.round(rgba[1]/255 * 100),\n       b = Math.round(rgba[2]/255 * 100);\n   return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n   if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n      return hslaString(hsla, alpha);\n   }\n   return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n   if (alpha === undefined) {\n      alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n   }\n   return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n           + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n   if (alpha === undefined) {\n      alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n   }\n   return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n           + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n  return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n   return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n  var str = num.toString(16).toUpperCase();\n  return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n   reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value  - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace.  all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t *  else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked   | meta.stack\r\n\t\t\t//           | found | not found | undefined\r\n\t\t\t// false     |   x   |     x     |     x\r\n\t\t\t// true      |       |     x     |\r\n\t\t\t// undefined |       |     x     |     x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights.  This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1',    // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear',    // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';     // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding -  Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory.  It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// |                  T1 (Full Width)                   |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// |    |    |                 T2                  |    |\r\n\t\t// |    |----|-------------------------------------|----|\r\n\t\t// |    |    | C1 |                           | C2 |    |\r\n\t\t// |    |    |----|                           |----|    |\r\n\t\t// |    |    |                                     |    |\r\n\t\t// | L1 | L2 |           ChartArea (C0)            | R1 |\r\n\t\t// |    |    |                                     |    |\r\n\t\t// |    |    |----|                           |----|    |\r\n\t\t// |    |    | C3 |                           | C4 |    |\r\n\t\t// |    |----|-------------------------------------|----|\r\n\t\t// |    |    |                 B1                  |    |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// |                  B2 (Full Width)                   |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the <style>.\r\n * @param {string} css - the CSS to be injected.\r\n */\r\nfunction injectCSS(rootNode, css) {\r\n\t// https://stackoverflow.com/q/3922139\r\n\tvar expando = rootNode[EXPANDO_KEY] || (rootNode[EXPANDO_KEY] = {});\r\n\tif (!expando.containsStyles) {\r\n\t\texpando.containsStyles = true;\r\n\t\tcss = '/* Chart.js */\\n' + css;\r\n\t\tvar style = document.createElement('style');\r\n\t\tstyle.setAttribute('type', 'text/css');\r\n\t\tstyle.appendChild(document.createTextNode(css));\r\n\t\trootNode.appendChild(style);\r\n\t}\r\n}\r\n\r\nvar platform_dom$2 = {\r\n\t/**\r\n\t * When `true`, prevents the automatic injection of the stylesheet required to\r\n\t * correctly detect when the chart is added to the DOM and then resized. This\r\n\t * switch has been added to allow external stylesheet (`dist/Chart(.min)?.js`)\r\n\t * to be manually imported to make this library compatible with any CSP.\r\n\t * See https://github.com/chartjs/Chart.js/issues/5208\r\n\t */\r\n\tdisableCSSInjection: false,\r\n\r\n\t/**\r\n\t * This property holds whether this platform is enabled for the current environment.\r\n\t * Currently used by platform.js to select the proper implementation.\r\n\t * @private\r\n\t */\r\n\t_enabled: typeof window !== 'undefined' && typeof document !== 'undefined',\r\n\r\n\t/**\r\n\t * Initializes resources that depend on platform options.\r\n\t * @param {HTMLCanvasElement} canvas - The Canvas element.\r\n\t * @private\r\n\t */\r\n\t_ensureLoaded: function(canvas) {\r\n\t\tif (!this.disableCSSInjection) {\r\n\t\t\t// If the canvas is in a shadow DOM, then the styles must also be inserted\r\n\t\t\t// into the same shadow DOM.\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5763\r\n\t\t\tvar root = canvas.getRootNode ? canvas.getRootNode() : document;\r\n\t\t\tvar targetNode = root.host ? root : document.head;\r\n\t\t\tinjectCSS(targetNode, stylesheet);\r\n\t\t}\r\n\t},\r\n\r\n\tacquireContext: function(item, config) {\r\n\t\tif (typeof item === 'string') {\r\n\t\t\titem = document.getElementById(item);\r\n\t\t} else if (item.length) {\r\n\t\t\t// Support for array based queries (such as jQuery)\r\n\t\t\titem = item[0];\r\n\t\t}\r\n\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\t// To prevent canvas fingerprinting, some add-ons undefine the getContext\r\n\t\t// method, for example: https://github.com/kkapsner/CanvasBlocker\r\n\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\tvar context = item && item.getContext && item.getContext('2d');\r\n\r\n\t\t// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is\r\n\t\t// inside an iframe or when running in a protected environment. We could guess the\r\n\t\t// types from their toString() value but let's keep things flexible and assume it's\r\n\t\t// a sufficient condition if the item has a context2D which has item as `canvas`.\r\n\t\t// https://github.com/chartjs/Chart.js/issues/3887\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4102\r\n\t\t// https://github.com/chartjs/Chart.js/issues/4152\r\n\t\tif (context && context.canvas === item) {\r\n\t\t\t// Load platform resources on first chart creation, to make it possible to\r\n\t\t\t// import the library before setting platform options.\r\n\t\t\tthis._ensureLoaded(item);\r\n\t\t\tinitCanvas(item, config);\r\n\t\t\treturn context;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\treleaseContext: function(context) {\r\n\t\tvar canvas = context.canvas;\r\n\t\tif (!canvas[EXPANDO_KEY]) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar initial = canvas[EXPANDO_KEY].initial;\r\n\t\t['height', 'width'].forEach(function(prop) {\r\n\t\t\tvar value = initial[prop];\r\n\t\t\tif (helpers$1.isNullOrUndef(value)) {\r\n\t\t\t\tcanvas.removeAttribute(prop);\r\n\t\t\t} else {\r\n\t\t\t\tcanvas.setAttribute(prop, value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.each(initial.style || {}, function(value, key) {\r\n\t\t\tcanvas.style[key] = value;\r\n\t\t});\r\n\r\n\t\t// The canvas render size might have been changed (and thus the state stack discarded),\r\n\t\t// we can't use save() and restore() to restore the initial state. So make sure that at\r\n\t\t// least the canvas context is reset to the default state by setting the canvas width.\r\n\t\t// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\r\n\t\t// eslint-disable-next-line no-self-assign\r\n\t\tcanvas.width = canvas.width;\r\n\r\n\t\tdelete canvas[EXPANDO_KEY];\r\n\t},\r\n\r\n\taddEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\taddResizeListener(canvas, listener, chart);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || (listener[EXPANDO_KEY] = {});\r\n\t\tvar proxies = expando.proxies || (expando.proxies = {});\r\n\t\tvar proxy = proxies[chart.id + '_' + type] = function(event) {\r\n\t\t\tlistener(fromNativeEvent(event, chart));\r\n\t\t};\r\n\r\n\t\taddListener(canvas, type, proxy);\r\n\t},\r\n\r\n\tremoveEventListener: function(chart, type, listener) {\r\n\t\tvar canvas = chart.canvas;\r\n\t\tif (type === 'resize') {\r\n\t\t\t// Note: the resize event is not supported on all browsers.\r\n\t\t\tremoveResizeListener(canvas);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar expando = listener[EXPANDO_KEY] || {};\r\n\t\tvar proxies = expando.proxies || {};\r\n\t\tvar proxy = proxies[chart.id + '_' + type];\r\n\t\tif (!proxy) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tremoveListener(canvas, type, proxy);\r\n\t}\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.addEventListener instead.\r\n * EventTarget.addEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\r\n * @function Chart.helpers.addEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.addEvent = addListener;\r\n\r\n/**\r\n * Provided for backward compatibility, use EventTarget.removeEventListener instead.\r\n * EventTarget.removeEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener\r\n * @function Chart.helpers.removeEvent\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.removeEvent = removeListener;\n\n// @TODO Make possible to select another platform at build time.\r\nvar implementation = platform_dom$2._enabled ? platform_dom$2 : platform_basic;\r\n\r\n/**\r\n * @namespace Chart.platform\r\n * @see https://chartjs.gitbooks.io/proposals/content/Platform.html\r\n * @since 2.4.0\r\n */\r\nvar platform = helpers$1.extend({\r\n\t/**\r\n\t * @since 2.7.0\r\n\t */\r\n\tinitialize: function() {},\r\n\r\n\t/**\r\n\t * Called at chart construction time, returns a context2d instance implementing\r\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\r\n\t * @param {*} item - The native item from which to acquire context (platform specific)\r\n\t * @param {object} options - The chart options\r\n\t * @returns {CanvasRenderingContext2D} context2d instance\r\n\t */\r\n\tacquireContext: function() {},\r\n\r\n\t/**\r\n\t * Called at chart destruction time, releases any resources associated to the context\r\n\t * previously returned by the acquireContext() method.\r\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\r\n\t * @returns {boolean} true if the method succeeded, else false\r\n\t */\r\n\treleaseContext: function() {},\r\n\r\n\t/**\r\n\t * Registers the specified listener on the given chart.\r\n\t * @param {Chart} chart - Chart from which to listen for event\r\n\t * @param {string} type - The ({@link IEvent}) type to listen for\r\n\t * @param {function} listener - Receives a notification (an object that implements\r\n\t * the {@link IEvent} interface) when an event of the specified type occurs.\r\n\t */\r\n\taddEventListener: function() {},\r\n\r\n\t/**\r\n\t * Removes the specified listener previously registered with addEventListener.\r\n\t * @param {Chart} chart - Chart from which to remove the listener\r\n\t * @param {string} type - The ({@link IEvent}) type to remove\r\n\t * @param {function} listener - The listener function to remove from the event target.\r\n\t */\r\n\tremoveEventListener: function() {}\r\n\r\n}, implementation);\n\ncore_defaults._set('global', {\r\n\tplugins: {}\r\n});\r\n\r\n/**\r\n * The plugin service singleton\r\n * @namespace Chart.plugins\r\n * @since 2.1.0\r\n */\r\nvar core_plugins = {\r\n\t/**\r\n\t * Globally registered plugins.\r\n\t * @private\r\n\t */\r\n\t_plugins: [],\r\n\r\n\t/**\r\n\t * This identifier is used to invalidate the descriptors cache attached to each chart\r\n\t * when a global plugin is registered or unregistered. In this case, the cache ID is\r\n\t * incremented and descriptors are regenerated during following API calls.\r\n\t * @private\r\n\t */\r\n\t_cacheId: 0,\r\n\r\n\t/**\r\n\t * Registers the given plugin(s) if not already registered.\r\n\t * @param {IPlugin[]|IPlugin} plugins plugin instance(s).\r\n\t */\r\n\tregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tif (p.indexOf(plugin) === -1) {\r\n\t\t\t\tp.push(plugin);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Unregisters the given plugin(s) only if registered.\r\n\t * @param {IPlugin[]|IPlugin} plugins plugin instance(s).\r\n\t */\r\n\tunregister: function(plugins) {\r\n\t\tvar p = this._plugins;\r\n\t\t([]).concat(plugins).forEach(function(plugin) {\r\n\t\t\tvar idx = p.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\tp.splice(idx, 1);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Remove all registered plugins.\r\n\t * @since 2.1.5\r\n\t */\r\n\tclear: function() {\r\n\t\tthis._plugins = [];\r\n\t\tthis._cacheId++;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the number of registered plugins?\r\n\t * @returns {number}\r\n\t * @since 2.1.5\r\n\t */\r\n\tcount: function() {\r\n\t\treturn this._plugins.length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns all registered plugin instances.\r\n\t * @returns {IPlugin[]} array of plugin objects.\r\n\t * @since 2.1.5\r\n\t */\r\n\tgetAll: function() {\r\n\t\treturn this._plugins;\r\n\t},\r\n\r\n\t/**\r\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\r\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\r\n\t * returned value can be used, for instance, to interrupt the current action.\r\n\t * @param {Chart} chart - The chart instance for which plugins should be called.\r\n\t * @param {string} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\r\n\t * @param {Array} [args] - Extra arguments to apply to the hook call.\r\n\t * @returns {boolean} false if any of the plugins return false, else returns true.\r\n\t */\r\n\tnotify: function(chart, hook, args) {\r\n\t\tvar descriptors = this.descriptors(chart);\r\n\t\tvar ilen = descriptors.length;\r\n\t\tvar i, descriptor, plugin, params, method;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tdescriptor = descriptors[i];\r\n\t\t\tplugin = descriptor.plugin;\r\n\t\t\tmethod = plugin[hook];\r\n\t\t\tif (typeof method === 'function') {\r\n\t\t\t\tparams = [chart].concat(args || []);\r\n\t\t\t\tparams.push(descriptor.options);\r\n\t\t\t\tif (method.apply(plugin, params) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns descriptors of enabled plugins for the given chart.\r\n\t * @returns {object[]} [{ plugin, options }]\r\n\t * @private\r\n\t */\r\n\tdescriptors: function(chart) {\r\n\t\tvar cache = chart.$plugins || (chart.$plugins = {});\r\n\t\tif (cache.id === this._cacheId) {\r\n\t\t\treturn cache.descriptors;\r\n\t\t}\r\n\r\n\t\tvar plugins = [];\r\n\t\tvar descriptors = [];\r\n\t\tvar config = (chart && chart.config) || {};\r\n\t\tvar options = (config.options && config.options.plugins) || {};\r\n\r\n\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\r\n\t\t\tvar idx = plugins.indexOf(plugin);\r\n\t\t\tif (idx !== -1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar id = plugin.id;\r\n\t\t\tvar opts = options[id];\r\n\t\t\tif (opts === false) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (opts === true) {\r\n\t\t\t\topts = helpers$1.clone(core_defaults.global.plugins[id]);\r\n\t\t\t}\r\n\r\n\t\t\tplugins.push(plugin);\r\n\t\t\tdescriptors.push({\r\n\t\t\t\tplugin: plugin,\r\n\t\t\t\toptions: opts || {}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\tcache.descriptors = descriptors;\r\n\t\tcache.id = this._cacheId;\r\n\t\treturn descriptors;\r\n\t},\r\n\r\n\t/**\r\n\t * Invalidates cache for the given chart: descriptors hold a reference on plugin option,\r\n\t * but in some cases, this reference can be changed by the user when updating options.\r\n\t * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t * @private\r\n\t */\r\n\t_invalidate: function(chart) {\r\n\t\tdelete chart.$plugins;\r\n\t}\r\n};\n\nvar core_scaleService = {\r\n\t// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then\r\n\t// use the new chart options to grab the correct scale\r\n\tconstructors: {},\r\n\t// Use a registration function so that we can move to an ES6 map when we no longer need to support\r\n\t// old browsers\r\n\r\n\t// Scale config defaults\r\n\tdefaults: {},\r\n\tregisterScaleType: function(type, scaleConstructor, scaleDefaults) {\r\n\t\tthis.constructors[type] = scaleConstructor;\r\n\t\tthis.defaults[type] = helpers$1.clone(scaleDefaults);\r\n\t},\r\n\tgetScaleConstructor: function(type) {\r\n\t\treturn this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;\r\n\t},\r\n\tgetScaleDefaults: function(type) {\r\n\t\t// Return the scale defaults merged with the global settings so that we always use the latest ones\r\n\t\treturn this.defaults.hasOwnProperty(type) ? helpers$1.merge(Object.create(null), [core_defaults.scale, this.defaults[type]]) : {};\r\n\t},\r\n\tupdateScaleDefaults: function(type, additions) {\r\n\t\tvar me = this;\r\n\t\tif (me.defaults.hasOwnProperty(type)) {\r\n\t\t\tme.defaults[type] = helpers$1.extend(me.defaults[type], additions);\r\n\t\t}\r\n\t},\r\n\taddScalesToLayout: function(chart) {\r\n\t\t// Adds each scale to the chart.boxes array to be sized accordingly\r\n\t\thelpers$1.each(chart.scales, function(scale) {\r\n\t\t\t// Set ILayoutItem parameters for backwards compatibility\r\n\t\t\tscale.fullWidth = scale.options.fullWidth;\r\n\t\t\tscale.position = scale.options.position;\r\n\t\t\tscale.weight = scale.options.weight;\r\n\t\t\tcore_layouts.addBox(chart, scale);\r\n\t\t});\r\n\t}\r\n};\n\nvar valueOrDefault$8 = helpers$1.valueOrDefault;\r\nvar getRtlHelper = helpers$1.rtl.getRtlAdapter;\r\n\r\ncore_defaults._set('global', {\r\n\ttooltips: {\r\n\t\tenabled: true,\r\n\t\tcustom: null,\r\n\t\tmode: 'nearest',\r\n\t\tposition: 'average',\r\n\t\tintersect: true,\r\n\t\tbackgroundColor: 'rgba(0,0,0,0.8)',\r\n\t\ttitleFontStyle: 'bold',\r\n\t\ttitleSpacing: 2,\r\n\t\ttitleMarginBottom: 6,\r\n\t\ttitleFontColor: '#fff',\r\n\t\ttitleAlign: 'left',\r\n\t\tbodySpacing: 2,\r\n\t\tbodyFontColor: '#fff',\r\n\t\tbodyAlign: 'left',\r\n\t\tfooterFontStyle: 'bold',\r\n\t\tfooterSpacing: 2,\r\n\t\tfooterMarginTop: 6,\r\n\t\tfooterFontColor: '#fff',\r\n\t\tfooterAlign: 'left',\r\n\t\tyPadding: 6,\r\n\t\txPadding: 6,\r\n\t\tcaretPadding: 2,\r\n\t\tcaretSize: 5,\r\n\t\tcornerRadius: 6,\r\n\t\tmultiKeyBackground: '#fff',\r\n\t\tdisplayColors: true,\r\n\t\tborderColor: 'rgba(0,0,0,0)',\r\n\t\tborderWidth: 0,\r\n\t\tcallbacks: {\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeTitle: helpers$1.noop,\r\n\t\t\ttitle: function(tooltipItems, data) {\r\n\t\t\t\tvar title = '';\r\n\t\t\t\tvar labels = data.labels;\r\n\t\t\t\tvar labelCount = labels ? labels.length : 0;\r\n\r\n\t\t\t\tif (tooltipItems.length > 0) {\r\n\t\t\t\t\tvar item = tooltipItems[0];\r\n\t\t\t\t\tif (item.label) {\r\n\t\t\t\t\t\ttitle = item.label;\r\n\t\t\t\t\t} else if (item.xLabel) {\r\n\t\t\t\t\t\ttitle = item.xLabel;\r\n\t\t\t\t\t} else if (labelCount > 0 && item.index < labelCount) {\r\n\t\t\t\t\t\ttitle = labels[item.index];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn title;\r\n\t\t\t},\r\n\t\t\tafterTitle: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeBody: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItem, data)\r\n\t\t\tbeforeLabel: helpers$1.noop,\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar label = data.datasets[tooltipItem.datasetIndex].label || '';\r\n\r\n\t\t\t\tif (label) {\r\n\t\t\t\t\tlabel += ': ';\r\n\t\t\t\t}\r\n\t\t\t\tif (!helpers$1.isNullOrUndef(tooltipItem.value)) {\r\n\t\t\t\t\tlabel += tooltipItem.value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlabel += tooltipItem.yLabel;\r\n\t\t\t\t}\r\n\t\t\t\treturn label;\r\n\t\t\t},\r\n\t\t\tlabelColor: function(tooltipItem, chart) {\r\n\t\t\t\tvar meta = chart.getDatasetMeta(tooltipItem.datasetIndex);\r\n\t\t\t\tvar activeElement = meta.data[tooltipItem.index];\r\n\t\t\t\tvar view = activeElement._view;\r\n\t\t\t\treturn {\r\n\t\t\t\t\tborderColor: view.borderColor,\r\n\t\t\t\t\tbackgroundColor: view.backgroundColor\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\tlabelTextColor: function() {\r\n\t\t\t\treturn this._options.bodyFontColor;\r\n\t\t\t},\r\n\t\t\tafterLabel: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tafterBody: helpers$1.noop,\r\n\r\n\t\t\t// Args are: (tooltipItems, data)\r\n\t\t\tbeforeFooter: helpers$1.noop,\r\n\t\t\tfooter: helpers$1.noop,\r\n\t\t\tafterFooter: helpers$1.noop\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar positioners = {\r\n\t/**\r\n\t * Average mode places the tooltip at the average position of the elements shown\r\n\t * @function Chart.Tooltip.positioners.average\r\n\t * @param elements {ChartElement[]} the elements being displayed in the tooltip\r\n\t * @returns {object} tooltip position\r\n\t */\r\n\taverage: function(elements) {\r\n\t\tif (!elements.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar i, len;\r\n\t\tvar x = 0;\r\n\t\tvar y = 0;\r\n\t\tvar count = 0;\r\n\r\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\tvar el = elements[i];\r\n\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\tvar pos = el.tooltipPosition();\r\n\t\t\t\tx += pos.x;\r\n\t\t\t\ty += pos.y;\r\n\t\t\t\t++count;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x / count,\r\n\t\t\ty: y / count\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Gets the tooltip position nearest of the item nearest to the event position\r\n\t * @function Chart.Tooltip.positioners.nearest\r\n\t * @param elements {Chart.Element[]} the tooltip elements\r\n\t * @param eventPosition {object} the position of the event in canvas coordinates\r\n\t * @returns {object} the tooltip position\r\n\t */\r\n\tnearest: function(elements, eventPosition) {\r\n\t\tvar x = eventPosition.x;\r\n\t\tvar y = eventPosition.y;\r\n\t\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\t\tvar i, len, nearestElement;\r\n\r\n\t\tfor (i = 0, len = elements.length; i < len; ++i) {\r\n\t\t\tvar el = elements[i];\r\n\t\t\tif (el && el.hasValue()) {\r\n\t\t\t\tvar center = el.getCenterPoint();\r\n\t\t\t\tvar d = helpers$1.distanceBetweenPoints(eventPosition, center);\r\n\r\n\t\t\t\tif (d < minDistance) {\r\n\t\t\t\t\tminDistance = d;\r\n\t\t\t\t\tnearestElement = el;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (nearestElement) {\r\n\t\t\tvar tp = nearestElement.tooltipPosition();\r\n\t\t\tx = tp.x;\r\n\t\t\ty = tp.y;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tx: x,\r\n\t\t\ty: y\r\n\t\t};\r\n\t}\r\n};\r\n\r\n// Helper to push or concat based on if the 2nd parameter is an array or not\r\nfunction pushOrConcat(base, toPush) {\r\n\tif (toPush) {\r\n\t\tif (helpers$1.isArray(toPush)) {\r\n\t\t\t// base = base.concat(toPush);\r\n\t\t\tArray.prototype.push.apply(base, toPush);\r\n\t\t} else {\r\n\t\t\tbase.push(toPush);\r\n\t\t}\r\n\t}\r\n\r\n\treturn base;\r\n}\r\n\r\n/**\r\n * Returns array of strings split by newline\r\n * @param {string} value - The value to split by newline.\r\n * @returns {string[]} value if newline present - Returned from String split() method\r\n * @function\r\n */\r\nfunction splitNewlines(str) {\r\n\tif ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\r\n\t\treturn str.split('\\n');\r\n\t}\r\n\treturn str;\r\n}\r\n\r\n\r\n/**\r\n * Private helper to create a tooltip item model\r\n * @param element - the chart element (point, arc, bar) to create the tooltip item for\r\n * @return new tooltip item\r\n */\r\nfunction createTooltipItem(element) {\r\n\tvar xScale = element._xScale;\r\n\tvar yScale = element._yScale || element._scale; // handle radar || polarArea charts\r\n\tvar index = element._index;\r\n\tvar datasetIndex = element._datasetIndex;\r\n\tvar controller = element._chart.getDatasetMeta(datasetIndex).controller;\r\n\tvar indexScale = controller._getIndexScale();\r\n\tvar valueScale = controller._getValueScale();\r\n\r\n\treturn {\r\n\t\txLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tyLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tlabel: indexScale ? '' + indexScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tvalue: valueScale ? '' + valueScale.getLabelForIndex(index, datasetIndex) : '',\r\n\t\tindex: index,\r\n\t\tdatasetIndex: datasetIndex,\r\n\t\tx: element._model.x,\r\n\t\ty: element._model.y\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the reset model for the tooltip\r\n * @param tooltipOpts {object} the tooltip options\r\n */\r\nfunction getBaseModel(tooltipOpts) {\r\n\tvar globalDefaults = core_defaults.global;\r\n\r\n\treturn {\r\n\t\t// Positioning\r\n\t\txPadding: tooltipOpts.xPadding,\r\n\t\tyPadding: tooltipOpts.yPadding,\r\n\t\txAlign: tooltipOpts.xAlign,\r\n\t\tyAlign: tooltipOpts.yAlign,\r\n\r\n\t\t// Drawing direction and text direction\r\n\t\trtl: tooltipOpts.rtl,\r\n\t\ttextDirection: tooltipOpts.textDirection,\r\n\r\n\t\t// Body\r\n\t\tbodyFontColor: tooltipOpts.bodyFontColor,\r\n\t\t_bodyFontFamily: valueOrDefault$8(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_bodyFontStyle: valueOrDefault$8(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),\r\n\t\t_bodyAlign: tooltipOpts.bodyAlign,\r\n\t\tbodyFontSize: valueOrDefault$8(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),\r\n\t\tbodySpacing: tooltipOpts.bodySpacing,\r\n\r\n\t\t// Title\r\n\t\ttitleFontColor: tooltipOpts.titleFontColor,\r\n\t\t_titleFontFamily: valueOrDefault$8(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_titleFontStyle: valueOrDefault$8(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),\r\n\t\ttitleFontSize: valueOrDefault$8(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),\r\n\t\t_titleAlign: tooltipOpts.titleAlign,\r\n\t\ttitleSpacing: tooltipOpts.titleSpacing,\r\n\t\ttitleMarginBottom: tooltipOpts.titleMarginBottom,\r\n\r\n\t\t// Footer\r\n\t\tfooterFontColor: tooltipOpts.footerFontColor,\r\n\t\t_footerFontFamily: valueOrDefault$8(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),\r\n\t\t_footerFontStyle: valueOrDefault$8(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),\r\n\t\tfooterFontSize: valueOrDefault$8(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),\r\n\t\t_footerAlign: tooltipOpts.footerAlign,\r\n\t\tfooterSpacing: tooltipOpts.footerSpacing,\r\n\t\tfooterMarginTop: tooltipOpts.footerMarginTop,\r\n\r\n\t\t// Appearance\r\n\t\tcaretSize: tooltipOpts.caretSize,\r\n\t\tcornerRadius: tooltipOpts.cornerRadius,\r\n\t\tbackgroundColor: tooltipOpts.backgroundColor,\r\n\t\topacity: 0,\r\n\t\tlegendColorBackground: tooltipOpts.multiKeyBackground,\r\n\t\tdisplayColors: tooltipOpts.displayColors,\r\n\t\tborderColor: tooltipOpts.borderColor,\r\n\t\tborderWidth: tooltipOpts.borderWidth\r\n\t};\r\n}\r\n\r\n/**\r\n * Get the size of the tooltip\r\n */\r\nfunction getTooltipSize(tooltip, model) {\r\n\tvar ctx = tooltip._chart.ctx;\r\n\r\n\tvar height = model.yPadding * 2; // Tooltip Padding\r\n\tvar width = 0;\r\n\r\n\t// Count of all lines in the body\r\n\tvar body = model.body;\r\n\tvar combinedBodyLength = body.reduce(function(count, bodyItem) {\r\n\t\treturn count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;\r\n\t}, 0);\r\n\tcombinedBodyLength += model.beforeBody.length + model.afterBody.length;\r\n\r\n\tvar titleLineCount = model.title.length;\r\n\tvar footerLineCount = model.footer.length;\r\n\tvar titleFontSize = model.titleFontSize;\r\n\tvar bodyFontSize = model.bodyFontSize;\r\n\tvar footerFontSize = model.footerFontSize;\r\n\r\n\theight += titleLineCount * titleFontSize; // Title Lines\r\n\theight += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing\r\n\theight += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin\r\n\theight += combinedBodyLength * bodyFontSize; // Body Lines\r\n\theight += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing\r\n\theight += footerLineCount ? model.footerMarginTop : 0; // Footer Margin\r\n\theight += footerLineCount * (footerFontSize); // Footer Lines\r\n\theight += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing\r\n\r\n\t// Title width\r\n\tvar widthPadding = 0;\r\n\tvar maxLineWidth = function(line) {\r\n\t\twidth = Math.max(width, ctx.measureText(line).width + widthPadding);\r\n\t};\r\n\r\n\tctx.font = helpers$1.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);\r\n\thelpers$1.each(model.title, maxLineWidth);\r\n\r\n\t// Body width\r\n\tctx.font = helpers$1.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);\r\n\thelpers$1.each(model.beforeBody.concat(model.afterBody), maxLineWidth);\r\n\r\n\t// Body lines may include some extra width due to the color box\r\n\twidthPadding = model.displayColors ? (bodyFontSize + 2) : 0;\r\n\thelpers$1.each(body, function(bodyItem) {\r\n\t\thelpers$1.each(bodyItem.before, maxLineWidth);\r\n\t\thelpers$1.each(bodyItem.lines, maxLineWidth);\r\n\t\thelpers$1.each(bodyItem.after, maxLineWidth);\r\n\t});\r\n\r\n\t// Reset back to 0\r\n\twidthPadding = 0;\r\n\r\n\t// Footer width\r\n\tctx.font = helpers$1.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);\r\n\thelpers$1.each(model.footer, maxLineWidth);\r\n\r\n\t// Add padding\r\n\twidth += 2 * model.xPadding;\r\n\r\n\treturn {\r\n\t\twidth: width,\r\n\t\theight: height\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the alignment of a tooltip given the size\r\n */\r\nfunction determineAlignment(tooltip, size) {\r\n\tvar model = tooltip._model;\r\n\tvar chart = tooltip._chart;\r\n\tvar chartArea = tooltip._chart.chartArea;\r\n\tvar xAlign = 'center';\r\n\tvar yAlign = 'center';\r\n\r\n\tif (model.y < size.height) {\r\n\t\tyAlign = 'top';\r\n\t} else if (model.y > (chart.height - size.height)) {\r\n\t\tyAlign = 'bottom';\r\n\t}\r\n\r\n\tvar lf, rf; // functions to determine left, right alignment\r\n\tvar olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart\r\n\tvar yf; // function to get the y alignment if the tooltip goes outside of the left or right edges\r\n\tvar midX = (chartArea.left + chartArea.right) / 2;\r\n\tvar midY = (chartArea.top + chartArea.bottom) / 2;\r\n\r\n\tif (yAlign === 'center') {\r\n\t\tlf = function(x) {\r\n\t\t\treturn x <= midX;\r\n\t\t};\r\n\t\trf = function(x) {\r\n\t\t\treturn x > midX;\r\n\t\t};\r\n\t} else {\r\n\t\tlf = function(x) {\r\n\t\t\treturn x <= (size.width / 2);\r\n\t\t};\r\n\t\trf = function(x) {\r\n\t\t\treturn x >= (chart.width - (size.width / 2));\r\n\t\t};\r\n\t}\r\n\r\n\tolf = function(x) {\r\n\t\treturn x + size.width + model.caretSize + model.caretPadding > chart.width;\r\n\t};\r\n\torf = function(x) {\r\n\t\treturn x - size.width - model.caretSize - model.caretPadding < 0;\r\n\t};\r\n\tyf = function(y) {\r\n\t\treturn y <= midY ? 'top' : 'bottom';\r\n\t};\r\n\r\n\tif (lf(model.x)) {\r\n\t\txAlign = 'left';\r\n\r\n\t\t// Is tooltip too wide and goes over the right side of the chart.?\r\n\t\tif (olf(model.x)) {\r\n\t\t\txAlign = 'center';\r\n\t\t\tyAlign = yf(model.y);\r\n\t\t}\r\n\t} else if (rf(model.x)) {\r\n\t\txAlign = 'right';\r\n\r\n\t\t// Is tooltip too wide and goes outside left edge of canvas?\r\n\t\tif (orf(model.x)) {\r\n\t\t\txAlign = 'center';\r\n\t\t\tyAlign = yf(model.y);\r\n\t\t}\r\n\t}\r\n\r\n\tvar opts = tooltip._options;\r\n\treturn {\r\n\t\txAlign: opts.xAlign ? opts.xAlign : xAlign,\r\n\t\tyAlign: opts.yAlign ? opts.yAlign : yAlign\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\r\n */\r\nfunction getBackgroundPoint(vm, size, alignment, chart) {\r\n\t// Background Position\r\n\tvar x = vm.x;\r\n\tvar y = vm.y;\r\n\r\n\tvar caretSize = vm.caretSize;\r\n\tvar caretPadding = vm.caretPadding;\r\n\tvar cornerRadius = vm.cornerRadius;\r\n\tvar xAlign = alignment.xAlign;\r\n\tvar yAlign = alignment.yAlign;\r\n\tvar paddingAndSize = caretSize + caretPadding;\r\n\tvar radiusAndPadding = cornerRadius + caretPadding;\r\n\r\n\tif (xAlign === 'right') {\r\n\t\tx -= size.width;\r\n\t} else if (xAlign === 'center') {\r\n\t\tx -= (size.width / 2);\r\n\t\tif (x + size.width > chart.width) {\r\n\t\t\tx = chart.width - size.width;\r\n\t\t}\r\n\t\tif (x < 0) {\r\n\t\t\tx = 0;\r\n\t\t}\r\n\t}\r\n\r\n\tif (yAlign === 'top') {\r\n\t\ty += paddingAndSize;\r\n\t} else if (yAlign === 'bottom') {\r\n\t\ty -= size.height + paddingAndSize;\r\n\t} else {\r\n\t\ty -= (size.height / 2);\r\n\t}\r\n\r\n\tif (yAlign === 'center') {\r\n\t\tif (xAlign === 'left') {\r\n\t\t\tx += paddingAndSize;\r\n\t\t} else if (xAlign === 'right') {\r\n\t\t\tx -= paddingAndSize;\r\n\t\t}\r\n\t} else if (xAlign === 'left') {\r\n\t\tx -= radiusAndPadding;\r\n\t} else if (xAlign === 'right') {\r\n\t\tx += radiusAndPadding;\r\n\t}\r\n\r\n\treturn {\r\n\t\tx: x,\r\n\t\ty: y\r\n\t};\r\n}\r\n\r\nfunction getAlignedX(vm, align) {\r\n\treturn align === 'center'\r\n\t\t? vm.x + vm.width / 2\r\n\t\t: align === 'right'\r\n\t\t\t? vm.x + vm.width - vm.xPadding\r\n\t\t\t: vm.x + vm.xPadding;\r\n}\r\n\r\n/**\r\n * Helper to build before and after body lines\r\n */\r\nfunction getBeforeAfterBodyLines(callback) {\r\n\treturn pushOrConcat([], splitNewlines(callback));\r\n}\r\n\r\nvar exports$4 = core_element.extend({\r\n\tinitialize: function() {\r\n\t\tthis._model = getBaseModel(this._options);\r\n\t\tthis._lastActive = [];\r\n\t},\r\n\r\n\t// Get the title\r\n\t// Args are: (tooltipItem, data)\r\n\tgetTitle: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me._options;\r\n\t\tvar callbacks = opts.callbacks;\r\n\r\n\t\tvar beforeTitle = callbacks.beforeTitle.apply(me, arguments);\r\n\t\tvar title = callbacks.title.apply(me, arguments);\r\n\t\tvar afterTitle = callbacks.afterTitle.apply(me, arguments);\r\n\r\n\t\tvar lines = [];\r\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeTitle));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(title));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(afterTitle));\r\n\r\n\t\treturn lines;\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetBeforeBody: function() {\r\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.beforeBody.apply(this, arguments));\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetBody: function(tooltipItems, data) {\r\n\t\tvar me = this;\r\n\t\tvar callbacks = me._options.callbacks;\r\n\t\tvar bodyItems = [];\r\n\r\n\t\thelpers$1.each(tooltipItems, function(tooltipItem) {\r\n\t\t\tvar bodyItem = {\r\n\t\t\t\tbefore: [],\r\n\t\t\t\tlines: [],\r\n\t\t\t\tafter: []\r\n\t\t\t};\r\n\t\t\tpushOrConcat(bodyItem.before, splitNewlines(callbacks.beforeLabel.call(me, tooltipItem, data)));\r\n\t\t\tpushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));\r\n\t\t\tpushOrConcat(bodyItem.after, splitNewlines(callbacks.afterLabel.call(me, tooltipItem, data)));\r\n\r\n\t\t\tbodyItems.push(bodyItem);\r\n\t\t});\r\n\r\n\t\treturn bodyItems;\r\n\t},\r\n\r\n\t// Args are: (tooltipItem, data)\r\n\tgetAfterBody: function() {\r\n\t\treturn getBeforeAfterBodyLines(this._options.callbacks.afterBody.apply(this, arguments));\r\n\t},\r\n\r\n\t// Get the footer and beforeFooter and afterFooter lines\r\n\t// Args are: (tooltipItem, data)\r\n\tgetFooter: function() {\r\n\t\tvar me = this;\r\n\t\tvar callbacks = me._options.callbacks;\r\n\r\n\t\tvar beforeFooter = callbacks.beforeFooter.apply(me, arguments);\r\n\t\tvar footer = callbacks.footer.apply(me, arguments);\r\n\t\tvar afterFooter = callbacks.afterFooter.apply(me, arguments);\r\n\r\n\t\tvar lines = [];\r\n\t\tlines = pushOrConcat(lines, splitNewlines(beforeFooter));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(footer));\r\n\t\tlines = pushOrConcat(lines, splitNewlines(afterFooter));\r\n\r\n\t\treturn lines;\r\n\t},\r\n\r\n\tupdate: function(changed) {\r\n\t\tvar me = this;\r\n\t\tvar opts = me._options;\r\n\r\n\t\t// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition\r\n\t\t// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time\r\n\t\t// which breaks any animations.\r\n\t\tvar existingModel = me._model;\r\n\t\tvar model = me._model = getBaseModel(opts);\r\n\t\tvar active = me._active;\r\n\r\n\t\tvar data = me._data;\r\n\r\n\t\t// In the case where active.length === 0 we need to keep these at existing values for good animations\r\n\t\tvar alignment = {\r\n\t\t\txAlign: existingModel.xAlign,\r\n\t\t\tyAlign: existingModel.yAlign\r\n\t\t};\r\n\t\tvar backgroundPoint = {\r\n\t\t\tx: existingModel.x,\r\n\t\t\ty: existingModel.y\r\n\t\t};\r\n\t\tvar tooltipSize = {\r\n\t\t\twidth: existingModel.width,\r\n\t\t\theight: existingModel.height\r\n\t\t};\r\n\t\tvar tooltipPosition = {\r\n\t\t\tx: existingModel.caretX,\r\n\t\t\ty: existingModel.caretY\r\n\t\t};\r\n\r\n\t\tvar i, len;\r\n\r\n\t\tif (active.length) {\r\n\t\t\tmodel.opacity = 1;\r\n\r\n\t\t\tvar labelColors = [];\r\n\t\t\tvar labelTextColors = [];\r\n\t\t\ttooltipPosition = positioners[opts.position].call(me, active, me._eventPosition);\r\n\r\n\t\t\tvar tooltipItems = [];\r\n\t\t\tfor (i = 0, len = active.length; i < len; ++i) {\r\n\t\t\t\ttooltipItems.push(createTooltipItem(active[i]));\r\n\t\t\t}\r\n\r\n\t\t\t// If the user provided a filter function, use it to modify the tooltip items\r\n\t\t\tif (opts.filter) {\r\n\t\t\t\ttooltipItems = tooltipItems.filter(function(a) {\r\n\t\t\t\t\treturn opts.filter(a, data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// If the user provided a sorting function, use it to modify the tooltip items\r\n\t\t\tif (opts.itemSort) {\r\n\t\t\t\ttooltipItems = tooltipItems.sort(function(a, b) {\r\n\t\t\t\t\treturn opts.itemSort(a, b, data);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Determine colors for boxes\r\n\t\t\thelpers$1.each(tooltipItems, function(tooltipItem) {\r\n\t\t\t\tlabelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, me._chart));\r\n\t\t\t\tlabelTextColors.push(opts.callbacks.labelTextColor.call(me, tooltipItem, me._chart));\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// Build the Text Lines\r\n\t\t\tmodel.title = me.getTitle(tooltipItems, data);\r\n\t\t\tmodel.beforeBody = me.getBeforeBody(tooltipItems, data);\r\n\t\t\tmodel.body = me.getBody(tooltipItems, data);\r\n\t\t\tmodel.afterBody = me.getAfterBody(tooltipItems, data);\r\n\t\t\tmodel.footer = me.getFooter(tooltipItems, data);\r\n\r\n\t\t\t// Initial positioning and colors\r\n\t\t\tmodel.x = tooltipPosition.x;\r\n\t\t\tmodel.y = tooltipPosition.y;\r\n\t\t\tmodel.caretPadding = opts.caretPadding;\r\n\t\t\tmodel.labelColors = labelColors;\r\n\t\t\tmodel.labelTextColors = labelTextColors;\r\n\r\n\t\t\t// data points\r\n\t\t\tmodel.dataPoints = tooltipItems;\r\n\r\n\t\t\t// We need to determine alignment of the tooltip\r\n\t\t\ttooltipSize = getTooltipSize(this, model);\r\n\t\t\talignment = determineAlignment(this, tooltipSize);\r\n\t\t\t// Final Size and Position\r\n\t\t\tbackgroundPoint = getBackgroundPoint(model, tooltipSize, alignment, me._chart);\r\n\t\t} else {\r\n\t\t\tmodel.opacity = 0;\r\n\t\t}\r\n\r\n\t\tmodel.xAlign = alignment.xAlign;\r\n\t\tmodel.yAlign = alignment.yAlign;\r\n\t\tmodel.x = backgroundPoint.x;\r\n\t\tmodel.y = backgroundPoint.y;\r\n\t\tmodel.width = tooltipSize.width;\r\n\t\tmodel.height = tooltipSize.height;\r\n\r\n\t\t// Point where the caret on the tooltip points to\r\n\t\tmodel.caretX = tooltipPosition.x;\r\n\t\tmodel.caretY = tooltipPosition.y;\r\n\r\n\t\tme._model = model;\r\n\r\n\t\tif (changed && opts.custom) {\r\n\t\t\topts.custom.call(me, model);\r\n\t\t}\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tdrawCaret: function(tooltipPoint, size) {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar caretPosition = this.getCaretPosition(tooltipPoint, size, vm);\r\n\r\n\t\tctx.lineTo(caretPosition.x1, caretPosition.y1);\r\n\t\tctx.lineTo(caretPosition.x2, caretPosition.y2);\r\n\t\tctx.lineTo(caretPosition.x3, caretPosition.y3);\r\n\t},\r\n\tgetCaretPosition: function(tooltipPoint, size, vm) {\r\n\t\tvar x1, x2, x3, y1, y2, y3;\r\n\t\tvar caretSize = vm.caretSize;\r\n\t\tvar cornerRadius = vm.cornerRadius;\r\n\t\tvar xAlign = vm.xAlign;\r\n\t\tvar yAlign = vm.yAlign;\r\n\t\tvar ptX = tooltipPoint.x;\r\n\t\tvar ptY = tooltipPoint.y;\r\n\t\tvar width = size.width;\r\n\t\tvar height = size.height;\r\n\r\n\t\tif (yAlign === 'center') {\r\n\t\t\ty2 = ptY + (height / 2);\r\n\r\n\t\t\tif (xAlign === 'left') {\r\n\t\t\t\tx1 = ptX;\r\n\t\t\t\tx2 = x1 - caretSize;\r\n\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\ty1 = y2 + caretSize;\r\n\t\t\t\ty3 = y2 - caretSize;\r\n\t\t\t} else {\r\n\t\t\t\tx1 = ptX + width;\r\n\t\t\t\tx2 = x1 + caretSize;\r\n\t\t\t\tx3 = x1;\r\n\r\n\t\t\t\ty1 = y2 - caretSize;\r\n\t\t\t\ty3 = y2 + caretSize;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (xAlign === 'left') {\r\n\t\t\t\tx2 = ptX + cornerRadius + (caretSize);\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t} else if (xAlign === 'right') {\r\n\t\t\t\tx2 = ptX + width - cornerRadius - caretSize;\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t} else {\r\n\t\t\t\tx2 = vm.caretX;\r\n\t\t\t\tx1 = x2 - caretSize;\r\n\t\t\t\tx3 = x2 + caretSize;\r\n\t\t\t}\r\n\t\t\tif (yAlign === 'top') {\r\n\t\t\t\ty1 = ptY;\r\n\t\t\t\ty2 = y1 - caretSize;\r\n\t\t\t\ty3 = y1;\r\n\t\t\t} else {\r\n\t\t\t\ty1 = ptY + height;\r\n\t\t\t\ty2 = y1 + caretSize;\r\n\t\t\t\ty3 = y1;\r\n\t\t\t\t// invert drawing order\r\n\t\t\t\tvar tmp = x3;\r\n\t\t\t\tx3 = x1;\r\n\t\t\t\tx1 = tmp;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {x1: x1, x2: x2, x3: x3, y1: y1, y2: y2, y3: y3};\r\n\t},\r\n\r\n\tdrawTitle: function(pt, vm, ctx) {\r\n\t\tvar title = vm.title;\r\n\t\tvar length = title.length;\r\n\t\tvar titleFontSize, titleSpacing, i;\r\n\r\n\t\tif (length) {\r\n\t\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\t\tpt.x = getAlignedX(vm, vm._titleAlign);\r\n\r\n\t\t\tctx.textAlign = rtlHelper.textAlign(vm._titleAlign);\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\ttitleFontSize = vm.titleFontSize;\r\n\t\t\ttitleSpacing = vm.titleSpacing;\r\n\r\n\t\t\tctx.fillStyle = vm.titleFontColor;\r\n\t\t\tctx.font = helpers$1.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);\r\n\r\n\t\t\tfor (i = 0; i < length; ++i) {\r\n\t\t\t\tctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFontSize / 2);\r\n\t\t\t\tpt.y += titleFontSize + titleSpacing; // Line Height and spacing\r\n\r\n\t\t\t\tif (i + 1 === length) {\r\n\t\t\t\t\tpt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdrawBody: function(pt, vm, ctx) {\r\n\t\tvar bodyFontSize = vm.bodyFontSize;\r\n\t\tvar bodySpacing = vm.bodySpacing;\r\n\t\tvar bodyAlign = vm._bodyAlign;\r\n\t\tvar body = vm.body;\r\n\t\tvar drawColorBoxes = vm.displayColors;\r\n\t\tvar xLinePadding = 0;\r\n\t\tvar colorX = drawColorBoxes ? getAlignedX(vm, 'left') : 0;\r\n\r\n\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\tvar fillLineOfText = function(line) {\r\n\t\t\tctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyFontSize / 2);\r\n\t\t\tpt.y += bodyFontSize + bodySpacing;\r\n\t\t};\r\n\r\n\t\tvar bodyItem, textColor, labelColors, lines, i, j, ilen, jlen;\r\n\t\tvar bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\r\n\r\n\t\tctx.textAlign = bodyAlign;\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.font = helpers$1.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);\r\n\r\n\t\tpt.x = getAlignedX(vm, bodyAlignForCalculation);\r\n\r\n\t\t// Before body lines\r\n\t\tctx.fillStyle = vm.bodyFontColor;\r\n\t\thelpers$1.each(vm.beforeBody, fillLineOfText);\r\n\r\n\t\txLinePadding = drawColorBoxes && bodyAlignForCalculation !== 'right'\r\n\t\t\t? bodyAlign === 'center' ? (bodyFontSize / 2 + 1) : (bodyFontSize + 2)\r\n\t\t\t: 0;\r\n\r\n\t\t// Draw body lines now\r\n\t\tfor (i = 0, ilen = body.length; i < ilen; ++i) {\r\n\t\t\tbodyItem = body[i];\r\n\t\t\ttextColor = vm.labelTextColors[i];\r\n\t\t\tlabelColors = vm.labelColors[i];\r\n\r\n\t\t\tctx.fillStyle = textColor;\r\n\t\t\thelpers$1.each(bodyItem.before, fillLineOfText);\r\n\r\n\t\t\tlines = bodyItem.lines;\r\n\t\t\tfor (j = 0, jlen = lines.length; j < jlen; ++j) {\r\n\t\t\t\t// Draw Legend-like boxes if needed\r\n\t\t\t\tif (drawColorBoxes) {\r\n\t\t\t\t\tvar rtlColorX = rtlHelper.x(colorX);\r\n\r\n\t\t\t\t\t// Fill a white rect so that colours merge nicely if the opacity is < 1\r\n\t\t\t\t\tctx.fillStyle = vm.legendColorBackground;\r\n\t\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(rtlColorX, bodyFontSize), pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t// Border\r\n\t\t\t\t\tctx.lineWidth = 1;\r\n\t\t\t\t\tctx.strokeStyle = labelColors.borderColor;\r\n\t\t\t\t\tctx.strokeRect(rtlHelper.leftForLtr(rtlColorX, bodyFontSize), pt.y, bodyFontSize, bodyFontSize);\r\n\r\n\t\t\t\t\t// Inner square\r\n\t\t\t\t\tctx.fillStyle = labelColors.backgroundColor;\r\n\t\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), bodyFontSize - 2), pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);\r\n\t\t\t\t\tctx.fillStyle = textColor;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfillLineOfText(lines[j]);\r\n\t\t\t}\r\n\r\n\t\t\thelpers$1.each(bodyItem.after, fillLineOfText);\r\n\t\t}\r\n\r\n\t\t// Reset back to 0 for after body\r\n\t\txLinePadding = 0;\r\n\r\n\t\t// After body lines\r\n\t\thelpers$1.each(vm.afterBody, fillLineOfText);\r\n\t\tpt.y -= bodySpacing; // Remove last body spacing\r\n\t},\r\n\r\n\tdrawFooter: function(pt, vm, ctx) {\r\n\t\tvar footer = vm.footer;\r\n\t\tvar length = footer.length;\r\n\t\tvar footerFontSize, i;\r\n\r\n\t\tif (length) {\r\n\t\t\tvar rtlHelper = getRtlHelper(vm.rtl, vm.x, vm.width);\r\n\r\n\t\t\tpt.x = getAlignedX(vm, vm._footerAlign);\r\n\t\t\tpt.y += vm.footerMarginTop;\r\n\r\n\t\t\tctx.textAlign = rtlHelper.textAlign(vm._footerAlign);\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\tfooterFontSize = vm.footerFontSize;\r\n\r\n\t\t\tctx.fillStyle = vm.footerFontColor;\r\n\t\t\tctx.font = helpers$1.fontString(footerFontSize, vm._footerFontStyle, vm._footerFontFamily);\r\n\r\n\t\t\tfor (i = 0; i < length; ++i) {\r\n\t\t\t\tctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFontSize / 2);\r\n\t\t\t\tpt.y += footerFontSize + vm.footerSpacing;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdrawBackground: function(pt, vm, ctx, tooltipSize) {\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tvar xAlign = vm.xAlign;\r\n\t\tvar yAlign = vm.yAlign;\r\n\t\tvar x = pt.x;\r\n\t\tvar y = pt.y;\r\n\t\tvar width = tooltipSize.width;\r\n\t\tvar height = tooltipSize.height;\r\n\t\tvar radius = vm.cornerRadius;\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.moveTo(x + radius, y);\r\n\t\tif (yAlign === 'top') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + width - radius, y);\r\n\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\r\n\t\tif (yAlign === 'center' && xAlign === 'right') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + width, y + height - radius);\r\n\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\r\n\t\tif (yAlign === 'bottom') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x + radius, y + height);\r\n\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\r\n\t\tif (yAlign === 'center' && xAlign === 'left') {\r\n\t\t\tthis.drawCaret(pt, tooltipSize);\r\n\t\t}\r\n\t\tctx.lineTo(x, y + radius);\r\n\t\tctx.quadraticCurveTo(x, y, x + radius, y);\r\n\t\tctx.closePath();\r\n\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth > 0) {\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm.opacity === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tooltipSize = {\r\n\t\t\twidth: vm.width,\r\n\t\t\theight: vm.height\r\n\t\t};\r\n\t\tvar pt = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\r\n\t\t// IE11/Edge does not like very small opacities, so snap to 0\r\n\t\tvar opacity = Math.abs(vm.opacity < 1e-3) ? 0 : vm.opacity;\r\n\r\n\t\t// Truthy/falsey value for empty tooltip\r\n\t\tvar hasTooltipContent = vm.title.length || vm.beforeBody.length || vm.body.length || vm.afterBody.length || vm.footer.length;\r\n\r\n\t\tif (this._options.enabled && hasTooltipContent) {\r\n\t\t\tctx.save();\r\n\t\t\tctx.globalAlpha = opacity;\r\n\r\n\t\t\t// Draw Background\r\n\t\t\tthis.drawBackground(pt, vm, ctx, tooltipSize);\r\n\r\n\t\t\t// Draw Title, Body, and Footer\r\n\t\t\tpt.y += vm.yPadding;\r\n\r\n\t\t\thelpers$1.rtl.overrideTextDirection(ctx, vm.textDirection);\r\n\r\n\t\t\t// Titles\r\n\t\t\tthis.drawTitle(pt, vm, ctx);\r\n\r\n\t\t\t// Body\r\n\t\t\tthis.drawBody(pt, vm, ctx);\r\n\r\n\t\t\t// Footer\r\n\t\t\tthis.drawFooter(pt, vm, ctx);\r\n\r\n\t\t\thelpers$1.rtl.restoreTextDirection(ctx, vm.textDirection);\r\n\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event - The event to handle\r\n\t * @returns {boolean} true if the tooltip changed\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar options = me._options;\r\n\t\tvar changed = false;\r\n\r\n\t\tme._lastActive = me._lastActive || [];\r\n\r\n\t\t// Find Active Elements for tooltips\r\n\t\tif (e.type === 'mouseout') {\r\n\t\t\tme._active = [];\r\n\t\t} else {\r\n\t\t\tme._active = me._chart.getElementsAtEventForMode(e, options.mode, options);\r\n\t\t\tif (options.reverse) {\r\n\t\t\t\tme._active.reverse();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remember Last Actives\r\n\t\tchanged = !helpers$1.arrayEquals(me._active, me._lastActive);\r\n\r\n\t\t// Only handle target event on tooltip change\r\n\t\tif (changed) {\r\n\t\t\tme._lastActive = me._active;\r\n\r\n\t\t\tif (options.enabled || options.custom) {\r\n\t\t\t\tme._eventPosition = {\r\n\t\t\t\t\tx: e.x,\r\n\t\t\t\t\ty: e.y\r\n\t\t\t\t};\r\n\r\n\t\t\t\tme.update(true);\r\n\t\t\t\tme.pivot();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn changed;\r\n\t}\r\n});\r\n\r\n/**\r\n * @namespace Chart.Tooltip.positioners\r\n */\r\nvar positioners_1 = positioners;\r\n\r\nvar core_tooltip = exports$4;\ncore_tooltip.positioners = positioners_1;\n\nvar valueOrDefault$9 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {},\r\n\tevents: [\r\n\t\t'mousemove',\r\n\t\t'mouseout',\r\n\t\t'click',\r\n\t\t'touchstart',\r\n\t\t'touchmove'\r\n\t],\r\n\thover: {\r\n\t\tonHover: null,\r\n\t\tmode: 'nearest',\r\n\t\tintersect: true,\r\n\t\tanimationDuration: 400\r\n\t},\r\n\tonClick: null,\r\n\tmaintainAspectRatio: true,\r\n\tresponsive: true,\r\n\tresponsiveAnimationDuration: 0\r\n});\r\n\r\n/**\r\n * Recursively merge the given config objects representing the `scales` option\r\n * by incorporating scale defaults in `xAxes` and `yAxes` array items, then\r\n * returns a deep copy of the result, thus doesn't alter inputs.\r\n */\r\nfunction mergeScaleConfig(/* config objects ... */) {\r\n\treturn helpers$1.merge(Object.create(null), [].slice.call(arguments), {\r\n\t\tmerger: function(key, target, source, options) {\r\n\t\t\tif (key === 'xAxes' || key === 'yAxes') {\r\n\t\t\t\tvar slen = source[key].length;\r\n\t\t\t\tvar i, type, scale;\r\n\r\n\t\t\t\tif (!target[key]) {\r\n\t\t\t\t\ttarget[key] = [];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (i = 0; i < slen; ++i) {\r\n\t\t\t\t\tscale = source[key][i];\r\n\t\t\t\t\ttype = valueOrDefault$9(scale.type, key === 'xAxes' ? 'category' : 'linear');\r\n\r\n\t\t\t\t\tif (i >= target[key].length) {\r\n\t\t\t\t\t\ttarget[key].push({});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!target[key][i].type || (scale.type && scale.type !== target[key][i].type)) {\r\n\t\t\t\t\t\t// new/untyped scale or type changed: let's apply the new defaults\r\n\t\t\t\t\t\t// then merge source scale to correctly overwrite the defaults.\r\n\t\t\t\t\t\thelpers$1.merge(target[key][i], [core_scaleService.getScaleDefaults(type), scale]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// scales type are the same\r\n\t\t\t\t\t\thelpers$1.merge(target[key][i], scale);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\thelpers$1._merger(key, target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Recursively merge the given config objects as the root options by handling\r\n * default scale options for the `scales` and `scale` properties, then returns\r\n * a deep copy of the result, thus doesn't alter inputs.\r\n */\r\nfunction mergeConfig(/* config objects ... */) {\r\n\treturn helpers$1.merge(Object.create(null), [].slice.call(arguments), {\r\n\t\tmerger: function(key, target, source, options) {\r\n\t\t\tvar tval = target[key] || Object.create(null);\r\n\t\t\tvar sval = source[key];\r\n\r\n\t\t\tif (key === 'scales') {\r\n\t\t\t\t// scale config merging is complex. Add our own function here for that\r\n\t\t\t\ttarget[key] = mergeScaleConfig(tval, sval);\r\n\t\t\t} else if (key === 'scale') {\r\n\t\t\t\t// used in polar area & radar charts since there is only one scale\r\n\t\t\t\ttarget[key] = helpers$1.merge(tval, [core_scaleService.getScaleDefaults(sval.type), sval]);\r\n\t\t\t} else {\r\n\t\t\t\thelpers$1._merger(key, target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction initConfig(config) {\r\n\tconfig = config || Object.create(null);\r\n\r\n\t// Do NOT use mergeConfig for the data object because this method merges arrays\r\n\t// and so would change references to labels and datasets, preventing data updates.\r\n\tvar data = config.data = config.data || {};\r\n\tdata.datasets = data.datasets || [];\r\n\tdata.labels = data.labels || [];\r\n\r\n\tconfig.options = mergeConfig(\r\n\t\tcore_defaults.global,\r\n\t\tcore_defaults[config.type],\r\n\t\tconfig.options || {});\r\n\r\n\treturn config;\r\n}\r\n\r\nfunction updateConfig(chart) {\r\n\tvar newOptions = chart.options;\r\n\r\n\thelpers$1.each(chart.scales, function(scale) {\r\n\t\tcore_layouts.removeBox(chart, scale);\r\n\t});\r\n\r\n\tnewOptions = mergeConfig(\r\n\t\tcore_defaults.global,\r\n\t\tcore_defaults[chart.config.type],\r\n\t\tnewOptions);\r\n\r\n\tchart.options = chart.config.options = newOptions;\r\n\tchart.ensureScalesHaveIDs();\r\n\tchart.buildOrUpdateScales();\r\n\r\n\t// Tooltip\r\n\tchart.tooltip._options = newOptions.tooltips;\r\n\tchart.tooltip.initialize();\r\n}\r\n\r\nfunction nextAvailableScaleId(axesOpts, prefix, index) {\r\n\tvar id;\r\n\tvar hasId = function(obj) {\r\n\t\treturn obj.id === id;\r\n\t};\r\n\r\n\tdo {\r\n\t\tid = prefix + index++;\r\n\t} while (helpers$1.findIndex(axesOpts, hasId) >= 0);\r\n\r\n\treturn id;\r\n}\r\n\r\nfunction positionIsHorizontal(position) {\r\n\treturn position === 'top' || position === 'bottom';\r\n}\r\n\r\nfunction compare2Level(l1, l2) {\r\n\treturn function(a, b) {\r\n\t\treturn a[l1] === b[l1]\r\n\t\t\t? a[l2] - b[l2]\r\n\t\t\t: a[l1] - b[l1];\r\n\t};\r\n}\r\n\r\nvar Chart = function(item, config) {\r\n\tthis.construct(item, config);\r\n\treturn this;\r\n};\r\n\r\nhelpers$1.extend(Chart.prototype, /** @lends Chart */ {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tconstruct: function(item, config) {\r\n\t\tvar me = this;\r\n\r\n\t\tconfig = initConfig(config);\r\n\r\n\t\tvar context = platform.acquireContext(item, config);\r\n\t\tvar canvas = context && context.canvas;\r\n\t\tvar height = canvas && canvas.height;\r\n\t\tvar width = canvas && canvas.width;\r\n\r\n\t\tme.id = helpers$1.uid();\r\n\t\tme.ctx = context;\r\n\t\tme.canvas = canvas;\r\n\t\tme.config = config;\r\n\t\tme.width = width;\r\n\t\tme.height = height;\r\n\t\tme.aspectRatio = height ? width / height : null;\r\n\t\tme.options = config.options;\r\n\t\tme._bufferedRender = false;\r\n\t\tme._layers = [];\r\n\r\n\t\t/**\r\n\t\t * Provided for backward compatibility, Chart and Chart.Controller have been merged,\r\n\t\t * the \"instance\" still need to be defined since it might be called from plugins.\r\n\t\t * @prop Chart#chart\r\n\t\t * @deprecated since version 2.6.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tme.chart = me;\r\n\t\tme.controller = me; // chart.chart.controller #inception\r\n\r\n\t\t// Add the chart instance to the global namespace\r\n\t\tChart.instances[me.id] = me;\r\n\r\n\t\t// Define alias to the config data: `chart.data === chart.config.data`\r\n\t\tObject.defineProperty(me, 'data', {\r\n\t\t\tget: function() {\r\n\t\t\t\treturn me.config.data;\r\n\t\t\t},\r\n\t\t\tset: function(value) {\r\n\t\t\t\tme.config.data = value;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (!context || !canvas) {\r\n\t\t\t// The given item is not a compatible context2d element, let's return before finalizing\r\n\t\t\t// the chart initialization but after setting basic chart / controller properties that\r\n\t\t\t// can help to figure out that the chart is not valid (e.g chart.canvas !== null);\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\r\n\t\t\tconsole.error(\"Failed to create chart: can't acquire context from the given item\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme.initialize();\r\n\t\tme.update();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\r\n\t\t// Before init plugin notification\r\n\t\tcore_plugins.notify(me, 'beforeInit');\r\n\r\n\t\thelpers$1.retinaScale(me, me.options.devicePixelRatio);\r\n\r\n\t\tme.bindEvents();\r\n\r\n\t\tif (me.options.responsive) {\r\n\t\t\t// Initial resize before chart draws (must be silent to preserve initial animations).\r\n\t\t\tme.resize(true);\r\n\t\t}\r\n\r\n\t\tme.initToolTip();\r\n\r\n\t\t// After init plugin notification\r\n\t\tcore_plugins.notify(me, 'afterInit');\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tclear: function() {\r\n\t\thelpers$1.canvas.clear(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tstop: function() {\r\n\t\t// Stops any current animation loop occurring\r\n\t\tcore_animations.cancelAnimation(this);\r\n\t\treturn this;\r\n\t},\r\n\r\n\tresize: function(silent) {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar canvas = me.canvas;\r\n\t\tvar aspectRatio = (options.maintainAspectRatio && me.aspectRatio) || null;\r\n\r\n\t\t// the canvas render width and height will be casted to integers so make sure that\r\n\t\t// the canvas display style uses the same integer values to avoid blurring effect.\r\n\r\n\t\t// Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collapsed\r\n\t\tvar newWidth = Math.max(0, Math.floor(helpers$1.getMaximumWidth(canvas)));\r\n\t\tvar newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers$1.getMaximumHeight(canvas)));\r\n\r\n\t\tif (me.width === newWidth && me.height === newHeight) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcanvas.width = me.width = newWidth;\r\n\t\tcanvas.height = me.height = newHeight;\r\n\t\tcanvas.style.width = newWidth + 'px';\r\n\t\tcanvas.style.height = newHeight + 'px';\r\n\r\n\t\thelpers$1.retinaScale(me, options.devicePixelRatio);\r\n\r\n\t\tif (!silent) {\r\n\t\t\t// Notify any plugins about the resize\r\n\t\t\tvar newSize = {width: newWidth, height: newHeight};\r\n\t\t\tcore_plugins.notify(me, 'resize', [newSize]);\r\n\r\n\t\t\t// Notify of resize\r\n\t\t\tif (options.onResize) {\r\n\t\t\t\toptions.onResize(me, newSize);\r\n\t\t\t}\r\n\r\n\t\t\tme.stop();\r\n\t\t\tme.update({\r\n\t\t\t\tduration: options.responsiveAnimationDuration\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tensureScalesHaveIDs: function() {\r\n\t\tvar options = this.options;\r\n\t\tvar scalesOptions = options.scales || {};\r\n\t\tvar scaleOptions = options.scale;\r\n\r\n\t\thelpers$1.each(scalesOptions.xAxes, function(xAxisOptions, index) {\r\n\t\t\tif (!xAxisOptions.id) {\r\n\t\t\t\txAxisOptions.id = nextAvailableScaleId(scalesOptions.xAxes, 'x-axis-', index);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.each(scalesOptions.yAxes, function(yAxisOptions, index) {\r\n\t\t\tif (!yAxisOptions.id) {\r\n\t\t\t\tyAxisOptions.id = nextAvailableScaleId(scalesOptions.yAxes, 'y-axis-', index);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (scaleOptions) {\r\n\t\t\tscaleOptions.id = scaleOptions.id || 'scale';\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Builds a map of scale ID to scale object for future lookup.\r\n\t */\r\n\tbuildOrUpdateScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar scales = me.scales || {};\r\n\t\tvar items = [];\r\n\t\tvar updated = Object.keys(scales).reduce(function(obj, id) {\r\n\t\t\tobj[id] = false;\r\n\t\t\treturn obj;\r\n\t\t}, {});\r\n\r\n\t\tif (options.scales) {\r\n\t\t\titems = items.concat(\r\n\t\t\t\t(options.scales.xAxes || []).map(function(xAxisOptions) {\r\n\t\t\t\t\treturn {options: xAxisOptions, dtype: 'category', dposition: 'bottom'};\r\n\t\t\t\t}),\r\n\t\t\t\t(options.scales.yAxes || []).map(function(yAxisOptions) {\r\n\t\t\t\t\treturn {options: yAxisOptions, dtype: 'linear', dposition: 'left'};\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (options.scale) {\r\n\t\t\titems.push({\r\n\t\t\t\toptions: options.scale,\r\n\t\t\t\tdtype: 'radialLinear',\r\n\t\t\t\tisDefault: true,\r\n\t\t\t\tdposition: 'chartArea'\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\thelpers$1.each(items, function(item) {\r\n\t\t\tvar scaleOptions = item.options;\r\n\t\t\tvar id = scaleOptions.id;\r\n\t\t\tvar scaleType = valueOrDefault$9(scaleOptions.type, item.dtype);\r\n\r\n\t\t\tif (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {\r\n\t\t\t\tscaleOptions.position = item.dposition;\r\n\t\t\t}\r\n\r\n\t\t\tupdated[id] = true;\r\n\t\t\tvar scale = null;\r\n\t\t\tif (id in scales && scales[id].type === scaleType) {\r\n\t\t\t\tscale = scales[id];\r\n\t\t\t\tscale.options = scaleOptions;\r\n\t\t\t\tscale.ctx = me.ctx;\r\n\t\t\t\tscale.chart = me;\r\n\t\t\t} else {\r\n\t\t\t\tvar scaleClass = core_scaleService.getScaleConstructor(scaleType);\r\n\t\t\t\tif (!scaleClass) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tscale = new scaleClass({\r\n\t\t\t\t\tid: id,\r\n\t\t\t\t\ttype: scaleType,\r\n\t\t\t\t\toptions: scaleOptions,\r\n\t\t\t\t\tctx: me.ctx,\r\n\t\t\t\t\tchart: me\r\n\t\t\t\t});\r\n\t\t\t\tscales[scale.id] = scale;\r\n\t\t\t}\r\n\r\n\t\t\tscale.mergeTicksOptions();\r\n\r\n\t\t\t// TODO(SB): I think we should be able to remove this custom case (options.scale)\r\n\t\t\t// and consider it as a regular scale part of the \"scales\"\" map only! This would\r\n\t\t\t// make the logic easier and remove some useless? custom code.\r\n\t\t\tif (item.isDefault) {\r\n\t\t\t\tme.scale = scale;\r\n\t\t\t}\r\n\t\t});\r\n\t\t// clear up discarded scales\r\n\t\thelpers$1.each(updated, function(hasUpdated, id) {\r\n\t\t\tif (!hasUpdated) {\r\n\t\t\t\tdelete scales[id];\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tme.scales = scales;\r\n\r\n\t\tcore_scaleService.addScalesToLayout(this);\r\n\t},\r\n\r\n\tbuildOrUpdateControllers: function() {\r\n\t\tvar me = this;\r\n\t\tvar newControllers = [];\r\n\t\tvar datasets = me.data.datasets;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; i++) {\r\n\t\t\tvar dataset = datasets[i];\r\n\t\t\tvar meta = me.getDatasetMeta(i);\r\n\t\t\tvar type = dataset.type || me.config.type;\r\n\r\n\t\t\tif (meta.type && meta.type !== type) {\r\n\t\t\t\tme.destroyDatasetMeta(i);\r\n\t\t\t\tmeta = me.getDatasetMeta(i);\r\n\t\t\t}\r\n\t\t\tmeta.type = type;\r\n\t\t\tmeta.order = dataset.order || 0;\r\n\t\t\tmeta.index = i;\r\n\r\n\t\t\tif (meta.controller) {\r\n\t\t\t\tmeta.controller.updateIndex(i);\r\n\t\t\t\tmeta.controller.linkScales();\r\n\t\t\t} else {\r\n\t\t\t\tvar ControllerClass = controllers[meta.type];\r\n\t\t\t\tif (ControllerClass === undefined) {\r\n\t\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmeta.controller = new ControllerClass(me, i);\r\n\t\t\t\tnewControllers.push(meta.controller);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn newControllers;\r\n\t},\r\n\r\n\t/**\r\n\t * Reset the elements of all datasets\r\n\t * @private\r\n\t */\r\n\tresetElements: function() {\r\n\t\tvar me = this;\r\n\t\thelpers$1.each(me.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\tme.getDatasetMeta(datasetIndex).controller.reset();\r\n\t\t}, me);\r\n\t},\r\n\r\n\t/**\r\n\t* Resets the chart back to it's state before the initial animation\r\n\t*/\r\n\treset: function() {\r\n\t\tthis.resetElements();\r\n\t\tthis.tooltip.initialize();\r\n\t},\r\n\r\n\tupdate: function(config) {\r\n\t\tvar me = this;\r\n\t\tvar i, ilen;\r\n\r\n\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t// backwards compatibility\r\n\t\t\tconfig = {\r\n\t\t\t\tduration: config,\r\n\t\t\t\tlazy: arguments[1]\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tupdateConfig(me);\r\n\r\n\t\t// plugins options references might have change, let's invalidate the cache\r\n\t\t// https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\r\n\t\tcore_plugins._invalidate(me);\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeUpdate') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// In case the entire data object changed\r\n\t\tme.tooltip._data = me.data;\r\n\r\n\t\t// Make sure dataset controllers are updated and new controllers are reset\r\n\t\tvar newControllers = me.buildOrUpdateControllers();\r\n\r\n\t\t// Make sure all dataset controllers have correct meta data counts\r\n\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; i++) {\r\n\t\t\tme.getDatasetMeta(i).controller.buildOrUpdateElements();\r\n\t\t}\r\n\r\n\t\tme.updateLayout();\r\n\r\n\t\t// Can only reset the new controllers after the scales have been updated\r\n\t\tif (me.options.animation && me.options.animation.duration) {\r\n\t\t\thelpers$1.each(newControllers, function(controller) {\r\n\t\t\t\tcontroller.reset();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tme.updateDatasets();\r\n\r\n\t\t// Need to reset tooltip in case it is displayed with elements that are removed\r\n\t\t// after update.\r\n\t\tme.tooltip.initialize();\r\n\r\n\t\t// Last active contains items that were previously in the tooltip.\r\n\t\t// When we reset the tooltip, we need to clear it\r\n\t\tme.lastActive = [];\r\n\r\n\t\t// Do this before render so that any plugins that need final scale updates can use it\r\n\t\tcore_plugins.notify(me, 'afterUpdate');\r\n\r\n\t\tme._layers.sort(compare2Level('z', '_idx'));\r\n\r\n\t\tif (me._bufferedRender) {\r\n\t\t\tme._bufferedRequest = {\r\n\t\t\t\tduration: config.duration,\r\n\t\t\t\teasing: config.easing,\r\n\t\t\t\tlazy: config.lazy\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tme.render(config);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\r\n\t * hook, in which case, plugins will not be called on `afterLayout`.\r\n\t * @private\r\n\t */\r\n\tupdateLayout: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeLayout') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcore_layouts.update(this, this.width, this.height);\r\n\r\n\t\tme._layers = [];\r\n\t\thelpers$1.each(me.boxes, function(box) {\r\n\t\t\t// _configure is called twice, once in core.scale.update and once here.\r\n\t\t\t// Here the boxes are fully updated and at their final positions.\r\n\t\t\tif (box._configure) {\r\n\t\t\t\tbox._configure();\r\n\t\t\t}\r\n\t\t\tme._layers.push.apply(me._layers, box._layers());\r\n\t\t}, me);\r\n\r\n\t\tme._layers.forEach(function(item, index) {\r\n\t\t\titem._idx = index;\r\n\t\t});\r\n\r\n\t\t/**\r\n\t\t * Provided for backward compatibility, use `afterLayout` instead.\r\n\t\t * @method IPlugin#afterScaleUpdate\r\n\t\t * @deprecated since version 2.5.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tcore_plugins.notify(me, 'afterScaleUpdate');\r\n\t\tcore_plugins.notify(me, 'afterLayout');\r\n\t},\r\n\r\n\t/**\r\n\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\r\n\t * @private\r\n\t */\r\n\tupdateDatasets: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetsUpdate') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tfor (var i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tme.updateDataset(i);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetsUpdate');\r\n\t},\r\n\r\n\t/**\r\n\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\r\n\t * @private\r\n\t */\r\n\tupdateDataset: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getDatasetMeta(index);\r\n\t\tvar args = {\r\n\t\t\tmeta: meta,\r\n\t\t\tindex: index\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetUpdate', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmeta.controller._update();\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetUpdate', [args]);\r\n\t},\r\n\r\n\trender: function(config) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (!config || typeof config !== 'object') {\r\n\t\t\t// backwards compatibility\r\n\t\t\tconfig = {\r\n\t\t\t\tduration: config,\r\n\t\t\t\tlazy: arguments[1]\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tvar animationOptions = me.options.animation;\r\n\t\tvar duration = valueOrDefault$9(config.duration, animationOptions && animationOptions.duration);\r\n\t\tvar lazy = config.lazy;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeRender') === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar onComplete = function(animation) {\r\n\t\t\tcore_plugins.notify(me, 'afterRender');\r\n\t\t\thelpers$1.callback(animationOptions && animationOptions.onComplete, [animation], me);\r\n\t\t};\r\n\r\n\t\tif (animationOptions && duration) {\r\n\t\t\tvar animation = new core_animation({\r\n\t\t\t\tnumSteps: duration / 16.66, // 60 fps\r\n\t\t\t\teasing: config.easing || animationOptions.easing,\r\n\r\n\t\t\t\trender: function(chart, animationObject) {\r\n\t\t\t\t\tvar easingFunction = helpers$1.easing.effects[animationObject.easing];\r\n\t\t\t\t\tvar currentStep = animationObject.currentStep;\r\n\t\t\t\t\tvar stepDecimal = currentStep / animationObject.numSteps;\r\n\r\n\t\t\t\t\tchart.draw(easingFunction(stepDecimal), stepDecimal, currentStep);\r\n\t\t\t\t},\r\n\r\n\t\t\t\tonAnimationProgress: animationOptions.onProgress,\r\n\t\t\t\tonAnimationComplete: onComplete\r\n\t\t\t});\r\n\r\n\t\t\tcore_animations.addAnimation(me, animation, duration, lazy);\r\n\t\t} else {\r\n\t\t\tme.draw();\r\n\r\n\t\t\t// See https://github.com/chartjs/Chart.js/issues/3781\r\n\t\t\tonComplete(new core_animation({numSteps: 0, chart: me}));\r\n\t\t}\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\tdraw: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar i, layers;\r\n\r\n\t\tme.clear();\r\n\r\n\t\tif (helpers$1.isNullOrUndef(easingValue)) {\r\n\t\t\teasingValue = 1;\r\n\t\t}\r\n\r\n\t\tme.transition(easingValue);\r\n\r\n\t\tif (me.width <= 0 || me.height <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDraw', [easingValue]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Because of plugin hooks (before/afterDatasetsDraw), datasets can't\r\n\t\t// currently be part of layers. Instead, we draw\r\n\t\t// layers <= 0 before(default, backward compat), and the rest after\r\n\t\tlayers = me._layers;\r\n\t\tfor (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\r\n\t\t\tlayers[i].draw(me.chartArea);\r\n\t\t}\r\n\r\n\t\tme.drawDatasets(easingValue);\r\n\r\n\t\t// Rest of layers\r\n\t\tfor (; i < layers.length; ++i) {\r\n\t\t\tlayers[i].draw(me.chartArea);\r\n\t\t}\r\n\r\n\t\tme._drawTooltip(easingValue);\r\n\r\n\t\tcore_plugins.notify(me, 'afterDraw', [easingValue]);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\ttransition: function(easingValue) {\r\n\t\tvar me = this;\r\n\r\n\t\tfor (var i = 0, ilen = (me.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\tif (me.isDatasetVisible(i)) {\r\n\t\t\t\tme.getDatasetMeta(i).controller.transition(easingValue);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.tooltip.transition(easingValue);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getSortedDatasetMetas: function(filterVisible) {\r\n\t\tvar me = this;\r\n\t\tvar datasets = me.data.datasets || [];\r\n\t\tvar result = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; ++i) {\r\n\t\t\tif (!filterVisible || me.isDatasetVisible(i)) {\r\n\t\t\t\tresult.push(me.getDatasetMeta(i));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tresult.sort(compare2Level('order', 'index'));\r\n\r\n\t\treturn result;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getSortedVisibleDatasetMetas: function() {\r\n\t\treturn this._getSortedDatasetMetas(true);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\r\n\t * @private\r\n\t */\r\n\tdrawDatasets: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar metasets, i;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetsDraw', [easingValue]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmetasets = me._getSortedVisibleDatasetMetas();\r\n\t\tfor (i = metasets.length - 1; i >= 0; --i) {\r\n\t\t\tme.drawDataset(metasets[i], easingValue);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetsDraw', [easingValue]);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\r\n\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\r\n\t * @private\r\n\t */\r\n\tdrawDataset: function(meta, easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar args = {\r\n\t\t\tmeta: meta,\r\n\t\t\tindex: meta.index,\r\n\t\t\teasingValue: easingValue\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeDatasetDraw', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmeta.controller.draw(easingValue);\r\n\r\n\t\tcore_plugins.notify(me, 'afterDatasetDraw', [args]);\r\n\t},\r\n\r\n\t/**\r\n\t * Draws tooltip unless a plugin returns `false` to the `beforeTooltipDraw`\r\n\t * hook, in which case, plugins will not be called on `afterTooltipDraw`.\r\n\t * @private\r\n\t */\r\n\t_drawTooltip: function(easingValue) {\r\n\t\tvar me = this;\r\n\t\tvar tooltip = me.tooltip;\r\n\t\tvar args = {\r\n\t\t\ttooltip: tooltip,\r\n\t\t\teasingValue: easingValue\r\n\t\t};\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeTooltipDraw', [args]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttooltip.draw();\r\n\r\n\t\tcore_plugins.notify(me, 'afterTooltipDraw', [args]);\r\n\t},\r\n\r\n\t/**\r\n\t * Get the single element that was clicked on\r\n\t * @return An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw\r\n\t */\r\n\tgetElementAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.single(this, e);\r\n\t},\r\n\r\n\tgetElementsAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.label(this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetElementsAtXAxis: function(e) {\r\n\t\treturn core_interaction.modes['x-axis'](this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetElementsAtEventForMode: function(e, mode, options) {\r\n\t\tvar method = core_interaction.modes[mode];\r\n\t\tif (typeof method === 'function') {\r\n\t\t\treturn method(this, e, options);\r\n\t\t}\r\n\r\n\t\treturn [];\r\n\t},\r\n\r\n\tgetDatasetAtEvent: function(e) {\r\n\t\treturn core_interaction.modes.dataset(this, e, {intersect: true});\r\n\t},\r\n\r\n\tgetDatasetMeta: function(datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.data.datasets[datasetIndex];\r\n\t\tif (!dataset._meta) {\r\n\t\t\tdataset._meta = {};\r\n\t\t}\r\n\r\n\t\tvar meta = dataset._meta[me.id];\r\n\t\tif (!meta) {\r\n\t\t\tmeta = dataset._meta[me.id] = {\r\n\t\t\t\ttype: null,\r\n\t\t\t\tdata: [],\r\n\t\t\t\tdataset: null,\r\n\t\t\t\tcontroller: null,\r\n\t\t\t\thidden: null,\t\t\t// See isDatasetVisible() comment\r\n\t\t\t\txAxisID: null,\r\n\t\t\t\tyAxisID: null,\r\n\t\t\t\torder: dataset.order || 0,\r\n\t\t\t\tindex: datasetIndex\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn meta;\r\n\t},\r\n\r\n\tgetVisibleDatasetCount: function() {\r\n\t\tvar count = 0;\r\n\t\tfor (var i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tif (this.isDatasetVisible(i)) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn count;\r\n\t},\r\n\r\n\tisDatasetVisible: function(datasetIndex) {\r\n\t\tvar meta = this.getDatasetMeta(datasetIndex);\r\n\r\n\t\t// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\r\n\t\t// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\r\n\t\treturn typeof meta.hidden === 'boolean' ? !meta.hidden : !this.data.datasets[datasetIndex].hidden;\r\n\t},\r\n\r\n\tgenerateLegend: function() {\r\n\t\treturn this.options.legendCallback(this);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroyDatasetMeta: function(datasetIndex) {\r\n\t\tvar id = this.id;\r\n\t\tvar dataset = this.data.datasets[datasetIndex];\r\n\t\tvar meta = dataset._meta && dataset._meta[id];\r\n\r\n\t\tif (meta) {\r\n\t\t\tmeta.controller.destroy();\r\n\t\t\tdelete dataset._meta[id];\r\n\t\t}\r\n\t},\r\n\r\n\tdestroy: function() {\r\n\t\tvar me = this;\r\n\t\tvar canvas = me.canvas;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme.stop();\r\n\r\n\t\t// dataset controllers need to cleanup associated data\r\n\t\tfor (i = 0, ilen = me.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tme.destroyDatasetMeta(i);\r\n\t\t}\r\n\r\n\t\tif (canvas) {\r\n\t\t\tme.unbindEvents();\r\n\t\t\thelpers$1.canvas.clear(me);\r\n\t\t\tplatform.releaseContext(me.ctx);\r\n\t\t\tme.canvas = null;\r\n\t\t\tme.ctx = null;\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'destroy');\r\n\r\n\t\tdelete Chart.instances[me.id];\r\n\t},\r\n\r\n\ttoBase64Image: function() {\r\n\t\treturn this.canvas.toDataURL.apply(this.canvas, arguments);\r\n\t},\r\n\r\n\tinitToolTip: function() {\r\n\t\tvar me = this;\r\n\t\tme.tooltip = new core_tooltip({\r\n\t\t\t_chart: me,\r\n\t\t\t_chartInstance: me, // deprecated, backward compatibility\r\n\t\t\t_data: me.data,\r\n\t\t\t_options: me.options.tooltips\r\n\t\t}, me);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tbindEvents: function() {\r\n\t\tvar me = this;\r\n\t\tvar listeners = me._listeners = {};\r\n\t\tvar listener = function() {\r\n\t\t\tme.eventHandler.apply(me, arguments);\r\n\t\t};\r\n\r\n\t\thelpers$1.each(me.options.events, function(type) {\r\n\t\t\tplatform.addEventListener(me, type, listener);\r\n\t\t\tlisteners[type] = listener;\r\n\t\t});\r\n\r\n\t\t// Elements used to detect size change should not be injected for non responsive charts.\r\n\t\t// See https://github.com/chartjs/Chart.js/issues/2210\r\n\t\tif (me.options.responsive) {\r\n\t\t\tlistener = function() {\r\n\t\t\t\tme.resize();\r\n\t\t\t};\r\n\r\n\t\t\tplatform.addEventListener(me, 'resize', listener);\r\n\t\t\tlisteners.resize = listener;\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tunbindEvents: function() {\r\n\t\tvar me = this;\r\n\t\tvar listeners = me._listeners;\r\n\t\tif (!listeners) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdelete me._listeners;\r\n\t\thelpers$1.each(listeners, function(listener, type) {\r\n\t\t\tplatform.removeEventListener(me, type, listener);\r\n\t\t});\r\n\t},\r\n\r\n\tupdateHoverStyle: function(elements, mode, enabled) {\r\n\t\tvar prefix = enabled ? 'set' : 'remove';\r\n\t\tvar element, i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = elements.length; i < ilen; ++i) {\r\n\t\t\telement = elements[i];\r\n\t\t\tif (element) {\r\n\t\t\t\tthis.getDatasetMeta(element._datasetIndex).controller[prefix + 'HoverStyle'](element);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (mode === 'dataset') {\r\n\t\t\tthis.getDatasetMeta(elements[0]._datasetIndex).controller['_' + prefix + 'DatasetHoverStyle']();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\teventHandler: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar tooltip = me.tooltip;\r\n\r\n\t\tif (core_plugins.notify(me, 'beforeEvent', [e]) === false) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Buffer any update calls so that renders do not occur\r\n\t\tme._bufferedRender = true;\r\n\t\tme._bufferedRequest = null;\r\n\r\n\t\tvar changed = me.handleEvent(e);\r\n\t\t// for smooth tooltip animations issue #4989\r\n\t\t// the tooltip should be the source of change\r\n\t\t// Animation check workaround:\r\n\t\t// tooltip._start will be null when tooltip isn't animating\r\n\t\tif (tooltip) {\r\n\t\t\tchanged = tooltip._start\r\n\t\t\t\t? tooltip.handleEvent(e)\r\n\t\t\t\t: changed | tooltip.handleEvent(e);\r\n\t\t}\r\n\r\n\t\tcore_plugins.notify(me, 'afterEvent', [e]);\r\n\r\n\t\tvar bufferedRequest = me._bufferedRequest;\r\n\t\tif (bufferedRequest) {\r\n\t\t\t// If we have an update that was triggered, we need to do a normal render\r\n\t\t\tme.render(bufferedRequest);\r\n\t\t} else if (changed && !me.animating) {\r\n\t\t\t// If entering, leaving, or changing elements, animate the change via pivot\r\n\t\t\tme.stop();\r\n\r\n\t\t\t// We only need to render at this point. Updating will cause scales to be\r\n\t\t\t// recomputed generating flicker & using more memory than necessary.\r\n\t\t\tme.render({\r\n\t\t\t\tduration: me.options.hover.animationDuration,\r\n\t\t\t\tlazy: true\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tme._bufferedRender = false;\r\n\t\tme._bufferedRequest = null;\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event the event to handle\r\n\t * @return {boolean} true if the chart needs to re-render\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options || {};\r\n\t\tvar hoverOptions = options.hover;\r\n\t\tvar changed = false;\r\n\r\n\t\tme.lastActive = me.lastActive || [];\r\n\r\n\t\t// Find Active Elements for hover and tooltips\r\n\t\tif (e.type === 'mouseout') {\r\n\t\t\tme.active = [];\r\n\t\t} else {\r\n\t\t\tme.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);\r\n\t\t}\r\n\r\n\t\t// Invoke onHover hook\r\n\t\t// Need to call with native event here to not break backwards compatibility\r\n\t\thelpers$1.callback(options.onHover || options.hover.onHover, [e.native, me.active], me);\r\n\r\n\t\tif (e.type === 'mouseup' || e.type === 'click') {\r\n\t\t\tif (options.onClick) {\r\n\t\t\t\t// Use e.native here for backwards compatibility\r\n\t\t\t\toptions.onClick.call(me, e.native, me.active);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remove styling for last active (even if it may still be active)\r\n\t\tif (me.lastActive.length) {\r\n\t\t\tme.updateHoverStyle(me.lastActive, hoverOptions.mode, false);\r\n\t\t}\r\n\r\n\t\t// Built in hover styling\r\n\t\tif (me.active.length && hoverOptions.mode) {\r\n\t\t\tme.updateHoverStyle(me.active, hoverOptions.mode, true);\r\n\t\t}\r\n\r\n\t\tchanged = !helpers$1.arrayEquals(me.active, me.lastActive);\r\n\r\n\t\t// Remember Last Actives\r\n\t\tme.lastActive = me.active;\r\n\r\n\t\treturn changed;\r\n\t}\r\n});\r\n\r\n/**\r\n * NOTE(SB) We actually don't use this container anymore but we need to keep it\r\n * for backward compatibility. Though, it can still be useful for plugins that\r\n * would need to work on multiple charts?!\r\n */\r\nChart.instances = {};\r\n\r\nvar core_controller = Chart;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart instead.\r\n * @class Chart.Controller\r\n * @deprecated since version 2.6\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.Controller = Chart;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart\r\n * @deprecated since version 2.8\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nChart.types = {};\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.helpers.configMerge\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.configMerge = mergeConfig;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.helpers.scaleMerge\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers$1.scaleMerge = mergeScaleConfig;\n\nvar core_helpers = function() {\r\n\r\n\t// -- Basic js utility methods\r\n\r\n\thelpers$1.where = function(collection, filterCallback) {\r\n\t\tif (helpers$1.isArray(collection) && Array.prototype.filter) {\r\n\t\t\treturn collection.filter(filterCallback);\r\n\t\t}\r\n\t\tvar filtered = [];\r\n\r\n\t\thelpers$1.each(collection, function(item) {\r\n\t\t\tif (filterCallback(item)) {\r\n\t\t\t\tfiltered.push(item);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn filtered;\r\n\t};\r\n\thelpers$1.findIndex = Array.prototype.findIndex ?\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\treturn array.findIndex(callback, scope);\r\n\t\t} :\r\n\t\tfunction(array, callback, scope) {\r\n\t\t\tscope = scope === undefined ? array : scope;\r\n\t\t\tfor (var i = 0, ilen = array.length; i < ilen; ++i) {\r\n\t\t\t\tif (callback.call(scope, array[i], i, array)) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn -1;\r\n\t\t};\r\n\thelpers$1.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to start of the array\r\n\t\tif (helpers$1.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = -1;\r\n\t\t}\r\n\t\tfor (var i = startIndex + 1; i < arrayToSearch.length; i++) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers$1.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {\r\n\t\t// Default to end of the array\r\n\t\tif (helpers$1.isNullOrUndef(startIndex)) {\r\n\t\t\tstartIndex = arrayToSearch.length;\r\n\t\t}\r\n\t\tfor (var i = startIndex - 1; i >= 0; i--) {\r\n\t\t\tvar currentItem = arrayToSearch[i];\r\n\t\t\tif (filterCallback(currentItem)) {\r\n\t\t\t\treturn currentItem;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// -- Math methods\r\n\thelpers$1.isNumber = function(n) {\r\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\r\n\t};\r\n\thelpers$1.almostEquals = function(x, y, epsilon) {\r\n\t\treturn Math.abs(x - y) < epsilon;\r\n\t};\r\n\thelpers$1.almostWhole = function(x, epsilon) {\r\n\t\tvar rounded = Math.round(x);\r\n\t\treturn ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\r\n\t};\r\n\thelpers$1.max = function(array) {\r\n\t\treturn array.reduce(function(max, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.max(max, value);\r\n\t\t\t}\r\n\t\t\treturn max;\r\n\t\t}, Number.NEGATIVE_INFINITY);\r\n\t};\r\n\thelpers$1.min = function(array) {\r\n\t\treturn array.reduce(function(min, value) {\r\n\t\t\tif (!isNaN(value)) {\r\n\t\t\t\treturn Math.min(min, value);\r\n\t\t\t}\r\n\t\t\treturn min;\r\n\t\t}, Number.POSITIVE_INFINITY);\r\n\t};\r\n\thelpers$1.sign = Math.sign ?\r\n\t\tfunction(x) {\r\n\t\t\treturn Math.sign(x);\r\n\t\t} :\r\n\t\tfunction(x) {\r\n\t\t\tx = +x; // convert to a number\r\n\t\t\tif (x === 0 || isNaN(x)) {\r\n\t\t\t\treturn x;\r\n\t\t\t}\r\n\t\t\treturn x > 0 ? 1 : -1;\r\n\t\t};\r\n\thelpers$1.toRadians = function(degrees) {\r\n\t\treturn degrees * (Math.PI / 180);\r\n\t};\r\n\thelpers$1.toDegrees = function(radians) {\r\n\t\treturn radians * (180 / Math.PI);\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the number of decimal places\r\n\t * i.e. the number of digits after the decimal point, of the value of this Number.\r\n\t * @param {number} x - A number.\r\n\t * @returns {number} The number of decimal places.\r\n\t * @private\r\n\t */\r\n\thelpers$1._decimalPlaces = function(x) {\r\n\t\tif (!helpers$1.isFinite(x)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar e = 1;\r\n\t\tvar p = 0;\r\n\t\twhile (Math.round(x * e) / e !== x) {\r\n\t\t\te *= 10;\r\n\t\t\tp++;\r\n\t\t}\r\n\t\treturn p;\r\n\t};\r\n\r\n\t// Gets the angle from vertical upright to the point about a centre.\r\n\thelpers$1.getAngleFromPoint = function(centrePoint, anglePoint) {\r\n\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x;\r\n\t\tvar distanceFromYCenter = anglePoint.y - centrePoint.y;\r\n\t\tvar radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\r\n\r\n\t\tvar angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\r\n\r\n\t\tif (angle < (-0.5 * Math.PI)) {\r\n\t\t\tangle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tangle: angle,\r\n\t\t\tdistance: radialDistanceFromCenter\r\n\t\t};\r\n\t};\r\n\thelpers$1.distanceBetweenPoints = function(pt1, pt2) {\r\n\t\treturn Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\r\n\t};\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, not available anymore\r\n\t * @function Chart.helpers.aliasPixel\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\thelpers$1.aliasPixel = function(pixelWidth) {\r\n\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\r\n\t};\r\n\r\n\t/**\r\n\t * Returns the aligned pixel value to avoid anti-aliasing blur\r\n\t * @param {Chart} chart - The chart instance.\r\n\t * @param {number} pixel - A pixel value.\r\n\t * @param {number} width - The width of the element.\r\n\t * @returns {number} The aligned pixel value.\r\n\t * @private\r\n\t */\r\n\thelpers$1._alignPixel = function(chart, pixel, width) {\r\n\t\tvar devicePixelRatio = chart.currentDevicePixelRatio;\r\n\t\tvar halfWidth = width / 2;\r\n\t\treturn Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\r\n\t};\r\n\r\n\thelpers$1.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {\r\n\t\t// Props to Rob Spencer at scaled innovation for his post on splining between points\r\n\t\t// http://scaledinnovation.com/analytics/splines/aboutSplines.html\r\n\r\n\t\t// This function must also respect \"skipped\" points\r\n\r\n\t\tvar previous = firstPoint.skip ? middlePoint : firstPoint;\r\n\t\tvar current = middlePoint;\r\n\t\tvar next = afterPoint.skip ? middlePoint : afterPoint;\r\n\r\n\t\tvar d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));\r\n\t\tvar d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));\r\n\r\n\t\tvar s01 = d01 / (d01 + d12);\r\n\t\tvar s12 = d12 / (d01 + d12);\r\n\r\n\t\t// If all points are the same, s01 & s02 will be inf\r\n\t\ts01 = isNaN(s01) ? 0 : s01;\r\n\t\ts12 = isNaN(s12) ? 0 : s12;\r\n\r\n\t\tvar fa = t * s01; // scaling factor for triangle Ta\r\n\t\tvar fb = t * s12;\r\n\r\n\t\treturn {\r\n\t\t\tprevious: {\r\n\t\t\t\tx: current.x - fa * (next.x - previous.x),\r\n\t\t\t\ty: current.y - fa * (next.y - previous.y)\r\n\t\t\t},\r\n\t\t\tnext: {\r\n\t\t\t\tx: current.x + fb * (next.x - previous.x),\r\n\t\t\t\ty: current.y + fb * (next.y - previous.y)\r\n\t\t\t}\r\n\t\t};\r\n\t};\r\n\thelpers$1.EPSILON = Number.EPSILON || 1e-14;\r\n\thelpers$1.splineCurveMonotone = function(points) {\r\n\t\t// This function calculates Bézier control points in a similar way than |splineCurve|,\r\n\t\t// but preserves monotonicity of the provided data and ensures no local extremums are added\r\n\t\t// between the dataset discrete points due to the interpolation.\r\n\t\t// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\r\n\r\n\t\tvar pointsWithTangents = (points || []).map(function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tmodel: point._model,\r\n\t\t\t\tdeltaK: 0,\r\n\t\t\t\tmK: 0\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\t// Calculate slopes (deltaK) and initialize tangents (mK)\r\n\t\tvar pointsLen = pointsWithTangents.length;\r\n\t\tvar i, pointBefore, pointCurrent, pointAfter;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tvar slopeDeltaX = (pointAfter.model.x - pointCurrent.model.x);\r\n\r\n\t\t\t\t// In the case of two points that appear at the same x pixel, slopeDeltaX is 0\r\n\t\t\t\tpointCurrent.deltaK = slopeDeltaX !== 0 ? (pointAfter.model.y - pointCurrent.model.y) / slopeDeltaX : 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (!pointBefore || pointBefore.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointCurrent.deltaK;\r\n\t\t\t} else if (!pointAfter || pointAfter.model.skip) {\r\n\t\t\t\tpointCurrent.mK = pointBefore.deltaK;\r\n\t\t\t} else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {\r\n\t\t\t\tpointCurrent.mK = 0;\r\n\t\t\t} else {\r\n\t\t\t\tpointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Adjust tangents to ensure monotonic properties\r\n\t\tvar alphaK, betaK, tauK, squaredMagnitude;\r\n\t\tfor (i = 0; i < pointsLen - 1; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tpointAfter = pointsWithTangents[i + 1];\r\n\t\t\tif (pointCurrent.model.skip || pointAfter.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (helpers$1.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {\r\n\t\t\t\tpointCurrent.mK = pointAfter.mK = 0;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\talphaK = pointCurrent.mK / pointCurrent.deltaK;\r\n\t\t\tbetaK = pointAfter.mK / pointCurrent.deltaK;\r\n\t\t\tsquaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\r\n\t\t\tif (squaredMagnitude <= 9) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\ttauK = 3 / Math.sqrt(squaredMagnitude);\r\n\t\t\tpointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;\r\n\t\t\tpointAfter.mK = betaK * tauK * pointCurrent.deltaK;\r\n\t\t}\r\n\r\n\t\t// Compute control points\r\n\t\tvar deltaX;\r\n\t\tfor (i = 0; i < pointsLen; ++i) {\r\n\t\t\tpointCurrent = pointsWithTangents[i];\r\n\t\t\tif (pointCurrent.model.skip) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpointBefore = i > 0 ? pointsWithTangents[i - 1] : null;\r\n\t\t\tpointAfter = i < pointsLen - 1 ? pointsWithTangents[i + 1] : null;\r\n\t\t\tif (pointBefore && !pointBefore.model.skip) {\r\n\t\t\t\tdeltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t\tif (pointAfter && !pointAfter.model.skip) {\r\n\t\t\t\tdeltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;\r\n\t\t\t\tpointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;\r\n\t\t\t\tpointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\thelpers$1.nextItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index >= collection.length - 1 ? collection[0] : collection[index + 1];\r\n\t\t}\r\n\t\treturn index >= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];\r\n\t};\r\n\thelpers$1.previousItem = function(collection, index, loop) {\r\n\t\tif (loop) {\r\n\t\t\treturn index <= 0 ? collection[collection.length - 1] : collection[index - 1];\r\n\t\t}\r\n\t\treturn index <= 0 ? collection[0] : collection[index - 1];\r\n\t};\r\n\t// Implementation of the nice number algorithm used in determining where axis labels will go\r\n\thelpers$1.niceNum = function(range, round) {\r\n\t\tvar exponent = Math.floor(helpers$1.log10(range));\r\n\t\tvar fraction = range / Math.pow(10, exponent);\r\n\t\tvar niceFraction;\r\n\r\n\t\tif (round) {\r\n\t\t\tif (fraction < 1.5) {\r\n\t\t\t\tniceFraction = 1;\r\n\t\t\t} else if (fraction < 3) {\r\n\t\t\t\tniceFraction = 2;\r\n\t\t\t} else if (fraction < 7) {\r\n\t\t\t\tniceFraction = 5;\r\n\t\t\t} else {\r\n\t\t\t\tniceFraction = 10;\r\n\t\t\t}\r\n\t\t} else if (fraction <= 1.0) {\r\n\t\t\tniceFraction = 1;\r\n\t\t} else if (fraction <= 2) {\r\n\t\t\tniceFraction = 2;\r\n\t\t} else if (fraction <= 5) {\r\n\t\t\tniceFraction = 5;\r\n\t\t} else {\r\n\t\t\tniceFraction = 10;\r\n\t\t}\r\n\r\n\t\treturn niceFraction * Math.pow(10, exponent);\r\n\t};\r\n\t// Request animation polyfill - https://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\thelpers$1.requestAnimFrame = (function() {\r\n\t\tif (typeof window === 'undefined') {\r\n\t\t\treturn function(callback) {\r\n\t\t\t\tcallback();\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn window.requestAnimationFrame ||\r\n\t\t\twindow.webkitRequestAnimationFrame ||\r\n\t\t\twindow.mozRequestAnimationFrame ||\r\n\t\t\twindow.oRequestAnimationFrame ||\r\n\t\t\twindow.msRequestAnimationFrame ||\r\n\t\t\tfunction(callback) {\r\n\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\r\n\t\t\t};\r\n\t}());\r\n\t// -- DOM methods\r\n\thelpers$1.getRelativePosition = function(evt, chart) {\r\n\t\tvar mouseX, mouseY;\r\n\t\tvar e = evt.originalEvent || evt;\r\n\t\tvar canvas = evt.target || evt.srcElement;\r\n\t\tvar boundingRect = canvas.getBoundingClientRect();\r\n\r\n\t\tvar touches = e.touches;\r\n\t\tif (touches && touches.length > 0) {\r\n\t\t\tmouseX = touches[0].clientX;\r\n\t\t\tmouseY = touches[0].clientY;\r\n\r\n\t\t} else {\r\n\t\t\tmouseX = e.clientX;\r\n\t\t\tmouseY = e.clientY;\r\n\t\t}\r\n\r\n\t\t// Scale mouse coordinates into canvas coordinates\r\n\t\t// by following the pattern laid out by 'jerryj' in the comments of\r\n\t\t// https://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/\r\n\t\tvar paddingLeft = parseFloat(helpers$1.getStyle(canvas, 'padding-left'));\r\n\t\tvar paddingTop = parseFloat(helpers$1.getStyle(canvas, 'padding-top'));\r\n\t\tvar paddingRight = parseFloat(helpers$1.getStyle(canvas, 'padding-right'));\r\n\t\tvar paddingBottom = parseFloat(helpers$1.getStyle(canvas, 'padding-bottom'));\r\n\t\tvar width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;\r\n\t\tvar height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;\r\n\r\n\t\t// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However\r\n\t\t// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here\r\n\t\tmouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);\r\n\t\tmouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);\r\n\r\n\t\treturn {\r\n\t\t\tx: mouseX,\r\n\t\t\ty: mouseY\r\n\t\t};\r\n\r\n\t};\r\n\r\n\t// Private helper function to convert max-width/max-height values that may be percentages into a number\r\n\tfunction parseMaxStyle(styleValue, node, parentProperty) {\r\n\t\tvar valueInPixels;\r\n\t\tif (typeof styleValue === 'string') {\r\n\t\t\tvalueInPixels = parseInt(styleValue, 10);\r\n\r\n\t\t\tif (styleValue.indexOf('%') !== -1) {\r\n\t\t\t\t// percentage * size in dimension\r\n\t\t\t\tvalueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalueInPixels = styleValue;\r\n\t\t}\r\n\r\n\t\treturn valueInPixels;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns if the given value contains an effective constraint.\r\n\t * @private\r\n\t */\r\n\tfunction isConstrainedValue(value) {\r\n\t\treturn value !== undefined && value !== null && value !== 'none';\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the max width or height of the given DOM node in a cross-browser compatible fashion\r\n\t * @param {HTMLElement} domNode - the node to check the constraint on\r\n\t * @param {string} maxStyle - the style that defines the maximum for the direction we are using ('max-width' / 'max-height')\r\n\t * @param {string} percentageProperty - property of parent to use when calculating width as a percentage\r\n\t * @see {@link https://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser}\r\n\t */\r\n\tfunction getConstraintDimension(domNode, maxStyle, percentageProperty) {\r\n\t\tvar view = document.defaultView;\r\n\t\tvar parentNode = helpers$1._getParentNode(domNode);\r\n\t\tvar constrainedNode = view.getComputedStyle(domNode)[maxStyle];\r\n\t\tvar constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];\r\n\t\tvar hasCNode = isConstrainedValue(constrainedNode);\r\n\t\tvar hasCContainer = isConstrainedValue(constrainedContainer);\r\n\t\tvar infinity = Number.POSITIVE_INFINITY;\r\n\r\n\t\tif (hasCNode || hasCContainer) {\r\n\t\t\treturn Math.min(\r\n\t\t\t\thasCNode ? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,\r\n\t\t\t\thasCContainer ? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);\r\n\t\t}\r\n\r\n\t\treturn 'none';\r\n\t}\r\n\t// returns Number or undefined if no constraint\r\n\thelpers$1.getConstraintWidth = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-width', 'clientWidth');\r\n\t};\r\n\t// returns Number or undefined if no constraint\r\n\thelpers$1.getConstraintHeight = function(domNode) {\r\n\t\treturn getConstraintDimension(domNode, 'max-height', 'clientHeight');\r\n\t};\r\n\t/**\r\n\t * @private\r\n \t */\r\n\thelpers$1._calculatePadding = function(container, padding, parentDimension) {\r\n\t\tpadding = helpers$1.getStyle(container, padding);\r\n\r\n\t\treturn padding.indexOf('%') > -1 ? parentDimension * parseInt(padding, 10) / 100 : parseInt(padding, 10);\r\n\t};\r\n\t/**\r\n\t * @private\r\n\t */\r\n\thelpers$1._getParentNode = function(domNode) {\r\n\t\tvar parent = domNode.parentNode;\r\n\t\tif (parent && parent.toString() === '[object ShadowRoot]') {\r\n\t\t\tparent = parent.host;\r\n\t\t}\r\n\t\treturn parent;\r\n\t};\r\n\thelpers$1.getMaximumWidth = function(domNode) {\r\n\t\tvar container = helpers$1._getParentNode(domNode);\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientWidth;\r\n\t\t}\r\n\r\n\t\tvar clientWidth = container.clientWidth;\r\n\t\tvar paddingLeft = helpers$1._calculatePadding(container, 'padding-left', clientWidth);\r\n\t\tvar paddingRight = helpers$1._calculatePadding(container, 'padding-right', clientWidth);\r\n\r\n\t\tvar w = clientWidth - paddingLeft - paddingRight;\r\n\t\tvar cw = helpers$1.getConstraintWidth(domNode);\r\n\t\treturn isNaN(cw) ? w : Math.min(w, cw);\r\n\t};\r\n\thelpers$1.getMaximumHeight = function(domNode) {\r\n\t\tvar container = helpers$1._getParentNode(domNode);\r\n\t\tif (!container) {\r\n\t\t\treturn domNode.clientHeight;\r\n\t\t}\r\n\r\n\t\tvar clientHeight = container.clientHeight;\r\n\t\tvar paddingTop = helpers$1._calculatePadding(container, 'padding-top', clientHeight);\r\n\t\tvar paddingBottom = helpers$1._calculatePadding(container, 'padding-bottom', clientHeight);\r\n\r\n\t\tvar h = clientHeight - paddingTop - paddingBottom;\r\n\t\tvar ch = helpers$1.getConstraintHeight(domNode);\r\n\t\treturn isNaN(ch) ? h : Math.min(h, ch);\r\n\t};\r\n\thelpers$1.getStyle = function(el, property) {\r\n\t\treturn el.currentStyle ?\r\n\t\t\tel.currentStyle[property] :\r\n\t\t\tdocument.defaultView.getComputedStyle(el, null).getPropertyValue(property);\r\n\t};\r\n\thelpers$1.retinaScale = function(chart, forceRatio) {\r\n\t\tvar pixelRatio = chart.currentDevicePixelRatio = forceRatio || (typeof window !== 'undefined' && window.devicePixelRatio) || 1;\r\n\t\tif (pixelRatio === 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar height = chart.height;\r\n\t\tvar width = chart.width;\r\n\r\n\t\tcanvas.height = height * pixelRatio;\r\n\t\tcanvas.width = width * pixelRatio;\r\n\t\tchart.ctx.scale(pixelRatio, pixelRatio);\r\n\r\n\t\t// If no style has been set on the canvas, the render size is used as display size,\r\n\t\t// making the chart visually bigger, so let's enforce it to the \"correct\" values.\r\n\t\t// See https://github.com/chartjs/Chart.js/issues/3575\r\n\t\tif (!canvas.style.height && !canvas.style.width) {\r\n\t\t\tcanvas.style.height = height + 'px';\r\n\t\t\tcanvas.style.width = width + 'px';\r\n\t\t}\r\n\t};\r\n\t// -- Canvas methods\r\n\thelpers$1.fontString = function(pixelSize, fontStyle, fontFamily) {\r\n\t\treturn fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\r\n\t};\r\n\thelpers$1.longestText = function(ctx, font, arrayOfThings, cache) {\r\n\t\tcache = cache || {};\r\n\t\tvar data = cache.data = cache.data || {};\r\n\t\tvar gc = cache.garbageCollect = cache.garbageCollect || [];\r\n\r\n\t\tif (cache.font !== font) {\r\n\t\t\tdata = cache.data = {};\r\n\t\t\tgc = cache.garbageCollect = [];\r\n\t\t\tcache.font = font;\r\n\t\t}\r\n\r\n\t\tctx.font = font;\r\n\t\tvar longest = 0;\r\n\t\tvar ilen = arrayOfThings.length;\r\n\t\tvar i, j, jlen, thing, nestedThing;\r\n\t\tfor (i = 0; i < ilen; i++) {\r\n\t\t\tthing = arrayOfThings[i];\r\n\r\n\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\tif (thing !== undefined && thing !== null && helpers$1.isArray(thing) !== true) {\r\n\t\t\t\tlongest = helpers$1.measureText(ctx, data, gc, longest, thing);\r\n\t\t\t} else if (helpers$1.isArray(thing)) {\r\n\t\t\t\t// if it is an array lets measure each element\r\n\t\t\t\t// to do maybe simplify this function a bit so we can do this more recursively?\r\n\t\t\t\tfor (j = 0, jlen = thing.length; j < jlen; j++) {\r\n\t\t\t\t\tnestedThing = thing[j];\r\n\t\t\t\t\t// Undefined strings and arrays should not be measured\r\n\t\t\t\t\tif (nestedThing !== undefined && nestedThing !== null && !helpers$1.isArray(nestedThing)) {\r\n\t\t\t\t\t\tlongest = helpers$1.measureText(ctx, data, gc, longest, nestedThing);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar gcLen = gc.length / 2;\r\n\t\tif (gcLen > arrayOfThings.length) {\r\n\t\t\tfor (i = 0; i < gcLen; i++) {\r\n\t\t\t\tdelete data[gc[i]];\r\n\t\t\t}\r\n\t\t\tgc.splice(0, gcLen);\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\thelpers$1.measureText = function(ctx, data, gc, longest, string) {\r\n\t\tvar textWidth = data[string];\r\n\t\tif (!textWidth) {\r\n\t\t\ttextWidth = data[string] = ctx.measureText(string).width;\r\n\t\t\tgc.push(string);\r\n\t\t}\r\n\t\tif (textWidth > longest) {\r\n\t\t\tlongest = textWidth;\r\n\t\t}\r\n\t\treturn longest;\r\n\t};\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t */\r\n\thelpers$1.numberOfLabelLines = function(arrayOfThings) {\r\n\t\tvar numberOfLines = 1;\r\n\t\thelpers$1.each(arrayOfThings, function(thing) {\r\n\t\t\tif (helpers$1.isArray(thing)) {\r\n\t\t\t\tif (thing.length > numberOfLines) {\r\n\t\t\t\t\tnumberOfLines = thing.length;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn numberOfLines;\r\n\t};\r\n\r\n\thelpers$1.color = !chartjsColor ?\r\n\t\tfunction(value) {\r\n\t\t\tconsole.error('Color.js not found!');\r\n\t\t\treturn value;\r\n\t\t} :\r\n\t\tfunction(value) {\r\n\t\t\t/* global CanvasGradient */\r\n\t\t\tif (value instanceof CanvasGradient) {\r\n\t\t\t\tvalue = core_defaults.global.defaultColor;\r\n\t\t\t}\r\n\r\n\t\t\treturn chartjsColor(value);\r\n\t\t};\r\n\r\n\thelpers$1.getHoverColor = function(colorValue) {\r\n\t\t/* global CanvasPattern */\r\n\t\treturn (colorValue instanceof CanvasPattern || colorValue instanceof CanvasGradient) ?\r\n\t\t\tcolorValue :\r\n\t\t\thelpers$1.color(colorValue).saturate(0.5).darken(0.1).rgbString();\r\n\t};\r\n};\n\nfunction abstract() {\r\n\tthrow new Error(\r\n\t\t'This method is not implemented: either no adapter can ' +\r\n\t\t'be found or an incomplete integration was provided.'\r\n\t);\r\n}\r\n\r\n/**\r\n * Date adapter (current used by the time scale)\r\n * @namespace Chart._adapters._date\r\n * @memberof Chart._adapters\r\n * @private\r\n */\r\n\r\n/**\r\n * Currently supported unit string values.\r\n * @typedef {('millisecond'|'second'|'minute'|'hour'|'day'|'week'|'month'|'quarter'|'year')}\r\n * @memberof Chart._adapters._date\r\n * @name Unit\r\n */\r\n\r\n/**\r\n * @class\r\n */\r\nfunction DateAdapter(options) {\r\n\tthis.options = options || {};\r\n}\r\n\r\nhelpers$1.extend(DateAdapter.prototype, /** @lends DateAdapter */ {\r\n\t/**\r\n\t * Returns a map of time formats for the supported formatting units defined\r\n\t * in Unit as well as 'datetime' representing a detailed date/time string.\r\n\t * @returns {{string: string}}\r\n\t */\r\n\tformats: abstract,\r\n\r\n\t/**\r\n\t * Parses the given `value` and return the associated timestamp.\r\n\t * @param {any} value - the value to parse (usually comes from the data)\r\n\t * @param {string} [format] - the expected data format\r\n\t * @returns {(number|null)}\r\n\t * @function\r\n\t */\r\n\tparse: abstract,\r\n\r\n\t/**\r\n\t * Returns the formatted date in the specified `format` for a given `timestamp`.\r\n\t * @param {number} timestamp - the timestamp to format\r\n\t * @param {string} format - the date/time token\r\n\t * @return {string}\r\n\t * @function\r\n\t */\r\n\tformat: abstract,\r\n\r\n\t/**\r\n\t * Adds the specified `amount` of `unit` to the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {number} amount - the amount to add\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @return {number}\r\n\t * @function\r\n\t */\r\n\tadd: abstract,\r\n\r\n\t/**\r\n\t * Returns the number of `unit` between the given timestamps.\r\n\t * @param {number} max - the input timestamp (reference)\r\n\t * @param {number} min - the timestamp to substract\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @return {number}\r\n\t * @function\r\n\t */\r\n\tdiff: abstract,\r\n\r\n\t/**\r\n\t * Returns start of `unit` for the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @param {number} [weekday] - the ISO day of the week with 1 being Monday\r\n\t * and 7 being Sunday (only needed if param *unit* is `isoWeek`).\r\n\t * @function\r\n\t */\r\n\tstartOf: abstract,\r\n\r\n\t/**\r\n\t * Returns end of `unit` for the given `timestamp`.\r\n\t * @param {number} timestamp - the input timestamp\r\n\t * @param {Unit} unit - the unit as string\r\n\t * @function\r\n\t */\r\n\tendOf: abstract,\r\n\r\n\t// DEPRECATIONS\r\n\r\n\t/**\r\n\t * Provided for backward compatibility for scale.getValueForPixel(),\r\n\t * this method should be overridden only by the moment adapter.\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t * @private\r\n\t */\r\n\t_create: function(value) {\r\n\t\treturn value;\r\n\t}\r\n});\r\n\r\nDateAdapter.override = function(members) {\r\n\thelpers$1.extend(DateAdapter.prototype, members);\r\n};\r\n\r\nvar _date = DateAdapter;\n\nvar core_adapters = {\n\t_date: _date\n};\n\n/**\r\n * Namespace to hold static tick generation functions\r\n * @namespace Chart.Ticks\r\n */\r\nvar core_ticks = {\r\n\t/**\r\n\t * Namespace to hold formatters for different types of ticks\r\n\t * @namespace Chart.Ticks.formatters\r\n\t */\r\n\tformatters: {\r\n\t\t/**\r\n\t\t * Formatter for value labels\r\n\t\t * @method Chart.Ticks.formatters.values\r\n\t\t * @param value the value to display\r\n\t\t * @return {string|string[]} the label to display\r\n\t\t */\r\n\t\tvalues: function(value) {\r\n\t\t\treturn helpers$1.isArray(value) ? value : '' + value;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Formatter for linear numeric ticks\r\n\t\t * @method Chart.Ticks.formatters.linear\r\n\t\t * @param tickValue {number} the value to be formatted\r\n\t\t * @param index {number} the position of the tickValue parameter in the ticks array\r\n\t\t * @param ticks {number[]} the list of ticks being converted\r\n\t\t * @return {string} string representation of the tickValue parameter\r\n\t\t */\r\n\t\tlinear: function(tickValue, index, ticks) {\r\n\t\t\t// If we have lots of ticks, don't use the ones\r\n\t\t\tvar delta = ticks.length > 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];\r\n\r\n\t\t\t// If we have a number like 2.5 as the delta, figure out how many decimal places we need\r\n\t\t\tif (Math.abs(delta) > 1) {\r\n\t\t\t\tif (tickValue !== Math.floor(tickValue)) {\r\n\t\t\t\t\t// not an integer\r\n\t\t\t\t\tdelta = tickValue - Math.floor(tickValue);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar logDelta = helpers$1.log10(Math.abs(delta));\r\n\t\t\tvar tickString = '';\r\n\r\n\t\t\tif (tickValue !== 0) {\r\n\t\t\t\tvar maxTick = Math.max(Math.abs(ticks[0]), Math.abs(ticks[ticks.length - 1]));\r\n\t\t\t\tif (maxTick < 1e-4) { // all ticks are small numbers; use scientific notation\r\n\t\t\t\t\tvar logTick = helpers$1.log10(Math.abs(tickValue));\r\n\t\t\t\t\tvar numExponential = Math.floor(logTick) - Math.floor(logDelta);\r\n\t\t\t\t\tnumExponential = Math.max(Math.min(numExponential, 20), 0);\r\n\t\t\t\t\ttickString = tickValue.toExponential(numExponential);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar numDecimal = -1 * Math.floor(logDelta);\r\n\t\t\t\t\tnumDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places\r\n\t\t\t\t\ttickString = tickValue.toFixed(numDecimal);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttickString = '0'; // never show decimal places for 0\r\n\t\t\t}\r\n\r\n\t\t\treturn tickString;\r\n\t\t},\r\n\r\n\t\tlogarithmic: function(tickValue, index, ticks) {\r\n\t\t\tvar remain = tickValue / (Math.pow(10, Math.floor(helpers$1.log10(tickValue))));\r\n\r\n\t\t\tif (tickValue === 0) {\r\n\t\t\t\treturn '0';\r\n\t\t\t} else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {\r\n\t\t\t\treturn tickValue.toExponential();\r\n\t\t\t}\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n};\n\nvar isArray = helpers$1.isArray;\r\nvar isNullOrUndef = helpers$1.isNullOrUndef;\r\nvar valueOrDefault$a = helpers$1.valueOrDefault;\r\nvar valueAtIndexOrDefault = helpers$1.valueAtIndexOrDefault;\r\n\r\ncore_defaults._set('scale', {\r\n\tdisplay: true,\r\n\tposition: 'left',\r\n\toffset: false,\r\n\r\n\t// grid line settings\r\n\tgridLines: {\r\n\t\tdisplay: true,\r\n\t\tcolor: 'rgba(0,0,0,0.1)',\r\n\t\tlineWidth: 1,\r\n\t\tdrawBorder: true,\r\n\t\tdrawOnChartArea: true,\r\n\t\tdrawTicks: true,\r\n\t\ttickMarkLength: 10,\r\n\t\tzeroLineWidth: 1,\r\n\t\tzeroLineColor: 'rgba(0,0,0,0.25)',\r\n\t\tzeroLineBorderDash: [],\r\n\t\tzeroLineBorderDashOffset: 0.0,\r\n\t\toffsetGridLines: false,\r\n\t\tborderDash: [],\r\n\t\tborderDashOffset: 0.0\r\n\t},\r\n\r\n\t// scale label\r\n\tscaleLabel: {\r\n\t\t// display property\r\n\t\tdisplay: false,\r\n\r\n\t\t// actual label\r\n\t\tlabelString: '',\r\n\r\n\t\t// top/bottom padding\r\n\t\tpadding: {\r\n\t\t\ttop: 4,\r\n\t\t\tbottom: 4\r\n\t\t}\r\n\t},\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\tbeginAtZero: false,\r\n\t\tminRotation: 0,\r\n\t\tmaxRotation: 50,\r\n\t\tmirror: false,\r\n\t\tpadding: 0,\r\n\t\treverse: false,\r\n\t\tdisplay: true,\r\n\t\tautoSkip: true,\r\n\t\tautoSkipPadding: 0,\r\n\t\tlabelOffset: 0,\r\n\t\t// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\r\n\t\tcallback: core_ticks.formatters.values,\r\n\t\tminor: {},\r\n\t\tmajor: {}\r\n\t}\r\n});\r\n\r\n/** Returns a new array containing numItems from arr */\r\nfunction sample(arr, numItems) {\r\n\tvar result = [];\r\n\tvar increment = arr.length / numItems;\r\n\tvar i = 0;\r\n\tvar len = arr.length;\r\n\r\n\tfor (; i < len; i += increment) {\r\n\t\tresult.push(arr[Math.floor(i)]);\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\r\n\tvar length = scale.getTicks().length;\r\n\tvar validIndex = Math.min(index, length - 1);\r\n\tvar lineValue = scale.getPixelForTick(validIndex);\r\n\tvar start = scale._startPixel;\r\n\tvar end = scale._endPixel;\r\n\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\tvar offset;\r\n\r\n\tif (offsetGridLines) {\r\n\t\tif (length === 1) {\r\n\t\t\toffset = Math.max(lineValue - start, end - lineValue);\r\n\t\t} else if (index === 0) {\r\n\t\t\toffset = (scale.getPixelForTick(1) - lineValue) / 2;\r\n\t\t} else {\r\n\t\t\toffset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\r\n\t\t}\r\n\t\tlineValue += validIndex < index ? offset : -offset;\r\n\r\n\t\t// Return undefined if the pixel is out of the range\r\n\t\tif (lineValue < start - epsilon || lineValue > end + epsilon) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\treturn lineValue;\r\n}\r\n\r\nfunction garbageCollect(caches, length) {\r\n\thelpers$1.each(caches, function(cache) {\r\n\t\tvar gc = cache.gc;\r\n\t\tvar gcLen = gc.length / 2;\r\n\t\tvar i;\r\n\t\tif (gcLen > length) {\r\n\t\t\tfor (i = 0; i < gcLen; ++i) {\r\n\t\t\t\tdelete cache.data[gc[i]];\r\n\t\t\t}\r\n\t\t\tgc.splice(0, gcLen);\r\n\t\t}\r\n\t});\r\n}\r\n\r\n/**\r\n * Returns {width, height, offset} objects for the first, last, widest, highest tick\r\n * labels where offset indicates the anchor point offset from the top in pixels.\r\n */\r\nfunction computeLabelSizes(ctx, tickFonts, ticks, caches) {\r\n\tvar length = ticks.length;\r\n\tvar widths = [];\r\n\tvar heights = [];\r\n\tvar offsets = [];\r\n\tvar widestLabelSize = 0;\r\n\tvar highestLabelSize = 0;\r\n\tvar i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel, widest, highest;\r\n\r\n\tfor (i = 0; i < length; ++i) {\r\n\t\tlabel = ticks[i].label;\r\n\t\ttickFont = ticks[i].major ? tickFonts.major : tickFonts.minor;\r\n\t\tctx.font = fontString = tickFont.string;\r\n\t\tcache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\r\n\t\tlineHeight = tickFont.lineHeight;\r\n\t\twidth = height = 0;\r\n\t\t// Undefined labels and arrays should not be measured\r\n\t\tif (!isNullOrUndef(label) && !isArray(label)) {\r\n\t\t\twidth = helpers$1.measureText(ctx, cache.data, cache.gc, width, label);\r\n\t\t\theight = lineHeight;\r\n\t\t} else if (isArray(label)) {\r\n\t\t\t// if it is an array let's measure each element\r\n\t\t\tfor (j = 0, jlen = label.length; j < jlen; ++j) {\r\n\t\t\t\tnestedLabel = label[j];\r\n\t\t\t\t// Undefined labels and arrays should not be measured\r\n\t\t\t\tif (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\r\n\t\t\t\t\twidth = helpers$1.measureText(ctx, cache.data, cache.gc, width, nestedLabel);\r\n\t\t\t\t\theight += lineHeight;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\twidths.push(width);\r\n\t\theights.push(height);\r\n\t\toffsets.push(lineHeight / 2);\r\n\t\twidestLabelSize = Math.max(width, widestLabelSize);\r\n\t\thighestLabelSize = Math.max(height, highestLabelSize);\r\n\t}\r\n\tgarbageCollect(caches, length);\r\n\r\n\twidest = widths.indexOf(widestLabelSize);\r\n\thighest = heights.indexOf(highestLabelSize);\r\n\r\n\tfunction valueAt(idx) {\r\n\t\treturn {\r\n\t\t\twidth: widths[idx] || 0,\r\n\t\t\theight: heights[idx] || 0,\r\n\t\t\toffset: offsets[idx] || 0\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tfirst: valueAt(0),\r\n\t\tlast: valueAt(length - 1),\r\n\t\twidest: valueAt(widest),\r\n\t\thighest: valueAt(highest)\r\n\t};\r\n}\r\n\r\nfunction getTickMarkLength(options) {\r\n\treturn options.drawTicks ? options.tickMarkLength : 0;\r\n}\r\n\r\nfunction getScaleLabelHeight(options) {\r\n\tvar font, padding;\r\n\r\n\tif (!options.display) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tfont = helpers$1.options._parseFont(options);\r\n\tpadding = helpers$1.options.toPadding(options.padding);\r\n\r\n\treturn font.lineHeight + padding.height;\r\n}\r\n\r\nfunction parseFontOptions(options, nestedOpts) {\r\n\treturn helpers$1.extend(helpers$1.options._parseFont({\r\n\t\tfontFamily: valueOrDefault$a(nestedOpts.fontFamily, options.fontFamily),\r\n\t\tfontSize: valueOrDefault$a(nestedOpts.fontSize, options.fontSize),\r\n\t\tfontStyle: valueOrDefault$a(nestedOpts.fontStyle, options.fontStyle),\r\n\t\tlineHeight: valueOrDefault$a(nestedOpts.lineHeight, options.lineHeight)\r\n\t}), {\r\n\t\tcolor: helpers$1.options.resolve([nestedOpts.fontColor, options.fontColor, core_defaults.global.defaultFontColor])\r\n\t});\r\n}\r\n\r\nfunction parseTickFontOptions(options) {\r\n\tvar minor = parseFontOptions(options, options.minor);\r\n\tvar major = options.major.enabled ? parseFontOptions(options, options.major) : minor;\r\n\r\n\treturn {minor: minor, major: major};\r\n}\r\n\r\nfunction nonSkipped(ticksToFilter) {\r\n\tvar filtered = [];\r\n\tvar item, index, len;\r\n\tfor (index = 0, len = ticksToFilter.length; index < len; ++index) {\r\n\t\titem = ticksToFilter[index];\r\n\t\tif (typeof item._index !== 'undefined') {\r\n\t\t\tfiltered.push(item);\r\n\t\t}\r\n\t}\r\n\treturn filtered;\r\n}\r\n\r\nfunction getEvenSpacing(arr) {\r\n\tvar len = arr.length;\r\n\tvar i, diff;\r\n\r\n\tif (len < 2) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tfor (diff = arr[0], i = 1; i < len; ++i) {\r\n\t\tif (arr[i] - arr[i - 1] !== diff) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn diff;\r\n}\r\n\r\nfunction calculateSpacing(majorIndices, ticks, axisLength, ticksLimit) {\r\n\tvar evenMajorSpacing = getEvenSpacing(majorIndices);\r\n\tvar spacing = (ticks.length - 1) / ticksLimit;\r\n\tvar factors, factor, i, ilen;\r\n\r\n\t// If the major ticks are evenly spaced apart, place the minor ticks\r\n\t// so that they divide the major ticks into even chunks\r\n\tif (!evenMajorSpacing) {\r\n\t\treturn Math.max(spacing, 1);\r\n\t}\r\n\r\n\tfactors = helpers$1.math._factorize(evenMajorSpacing);\r\n\tfor (i = 0, ilen = factors.length - 1; i < ilen; i++) {\r\n\t\tfactor = factors[i];\r\n\t\tif (factor > spacing) {\r\n\t\t\treturn factor;\r\n\t\t}\r\n\t}\r\n\treturn Math.max(spacing, 1);\r\n}\r\n\r\nfunction getMajorIndices(ticks) {\r\n\tvar result = [];\r\n\tvar i, ilen;\r\n\tfor (i = 0, ilen = ticks.length; i < ilen; i++) {\r\n\t\tif (ticks[i].major) {\r\n\t\t\tresult.push(i);\r\n\t\t}\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nfunction skipMajors(ticks, majorIndices, spacing) {\r\n\tvar count = 0;\r\n\tvar next = majorIndices[0];\r\n\tvar i, tick;\r\n\r\n\tspacing = Math.ceil(spacing);\r\n\tfor (i = 0; i < ticks.length; i++) {\r\n\t\ttick = ticks[i];\r\n\t\tif (i === next) {\r\n\t\t\ttick._index = i;\r\n\t\t\tcount++;\r\n\t\t\tnext = majorIndices[count * spacing];\r\n\t\t} else {\r\n\t\t\tdelete tick.label;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction skip(ticks, spacing, majorStart, majorEnd) {\r\n\tvar start = valueOrDefault$a(majorStart, 0);\r\n\tvar end = Math.min(valueOrDefault$a(majorEnd, ticks.length), ticks.length);\r\n\tvar count = 0;\r\n\tvar length, i, tick, next;\r\n\r\n\tspacing = Math.ceil(spacing);\r\n\tif (majorEnd) {\r\n\t\tlength = majorEnd - majorStart;\r\n\t\tspacing = length / Math.floor(length / spacing);\r\n\t}\r\n\r\n\tnext = start;\r\n\r\n\twhile (next < 0) {\r\n\t\tcount++;\r\n\t\tnext = Math.round(start + count * spacing);\r\n\t}\r\n\r\n\tfor (i = Math.max(start, 0); i < end; i++) {\r\n\t\ttick = ticks[i];\r\n\t\tif (i === next) {\r\n\t\t\ttick._index = i;\r\n\t\t\tcount++;\r\n\t\t\tnext = Math.round(start + count * spacing);\r\n\t\t} else {\r\n\t\t\tdelete tick.label;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nvar Scale = core_element.extend({\r\n\r\n\tzeroLineIndex: 0,\r\n\r\n\t/**\r\n\t * Get the padding needed for the scale\r\n\t * @method getPadding\r\n\t * @private\r\n\t * @returns {Padding} the necessary padding\r\n\t */\r\n\tgetPadding: function() {\r\n\t\tvar me = this;\r\n\t\treturn {\r\n\t\t\tleft: me.paddingLeft || 0,\r\n\t\t\ttop: me.paddingTop || 0,\r\n\t\t\tright: me.paddingRight || 0,\r\n\t\t\tbottom: me.paddingBottom || 0\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the scale tick objects ({label, major})\r\n\t * @since 2.7\r\n\t */\r\n\tgetTicks: function() {\r\n\t\treturn this._ticks;\r\n\t},\r\n\r\n\t/**\r\n\t* @private\r\n\t*/\r\n\t_getLabels: function() {\r\n\t\tvar data = this.chart.data;\r\n\t\treturn this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\r\n\t},\r\n\r\n\t// These methods are ordered by lifecyle. Utilities then follow.\r\n\t// Any function defined here is inherited by all scale types.\r\n\t// Any function can be extended by the scale type\r\n\r\n\t/**\r\n\t * Provided for backward compatibility, not available anymore\r\n\t * @function Chart.Scale.mergeTicksOptions\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t */\r\n\tmergeTicksOptions: function() {\r\n\t\t// noop\r\n\t},\r\n\r\n\tbeforeUpdate: function() {\r\n\t\thelpers$1.callback(this.options.beforeUpdate, [this]);\r\n\t},\r\n\r\n\t/**\r\n\t * @param {number} maxWidth - the max width in pixels\r\n\t * @param {number} maxHeight - the max height in pixels\r\n\t * @param {object} margins - the space between the edge of the other scales and edge of the chart\r\n\t *   This space comes from two sources:\r\n\t *     - padding - space that's required to show the labels at the edges of the scale\r\n\t *     - thickness of scales or legends in another orientation\r\n\t */\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar sampleSize = tickOpts.sampleSize;\r\n\t\tvar i, ilen, labels, ticks, samplingEnabled;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = helpers$1.extend({\r\n\t\t\tleft: 0,\r\n\t\t\tright: 0,\r\n\t\t\ttop: 0,\r\n\t\t\tbottom: 0\r\n\t\t}, margins);\r\n\r\n\t\tme._ticks = null;\r\n\t\tme.ticks = null;\r\n\t\tme._labelSizes = null;\r\n\t\tme._maxLabelLines = 0;\r\n\t\tme.longestLabelWidth = 0;\r\n\t\tme.longestTextCache = me.longestTextCache || {};\r\n\t\tme._gridLineItems = null;\r\n\t\tme._labelItems = null;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\r\n\t\t// Data min/max\r\n\t\tme.beforeDataLimits();\r\n\t\tme.determineDataLimits();\r\n\t\tme.afterDataLimits();\r\n\r\n\t\t// Ticks - `this.ticks` is now DEPRECATED!\r\n\t\t// Internal ticks are now stored as objects in the PRIVATE `this._ticks` member\r\n\t\t// and must not be accessed directly from outside this class. `this.ticks` being\r\n\t\t// around for long time and not marked as private, we can't change its structure\r\n\t\t// without unexpected breaking changes. If you need to access the scale ticks,\r\n\t\t// use scale.getTicks() instead.\r\n\r\n\t\tme.beforeBuildTicks();\r\n\r\n\t\t// New implementations should return an array of objects but for BACKWARD COMPAT,\r\n\t\t// we still support no return (`this.ticks` internally set by calling this method).\r\n\t\tticks = me.buildTicks() || [];\r\n\r\n\t\t// Allow modification of ticks in callback.\r\n\t\tticks = me.afterBuildTicks(ticks) || ticks;\r\n\r\n\t\t// Ensure ticks contains ticks in new tick format\r\n\t\tif ((!ticks || !ticks.length) && me.ticks) {\r\n\t\t\tticks = [];\r\n\t\t\tfor (i = 0, ilen = me.ticks.length; i < ilen; ++i) {\r\n\t\t\t\tticks.push({\r\n\t\t\t\t\tvalue: me.ticks[i],\r\n\t\t\t\t\tmajor: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme._ticks = ticks;\r\n\r\n\t\t// Compute tick rotation and fit using a sampled subset of labels\r\n\t\t// We generally don't need to compute the size of every single label for determining scale size\r\n\t\tsamplingEnabled = sampleSize < ticks.length;\r\n\t\tlabels = me._convertTicksToLabels(samplingEnabled ? sample(ticks, sampleSize) : ticks);\r\n\r\n\t\t// _configure is called twice, once here, once from core.controller.updateLayout.\r\n\t\t// Here we haven't been positioned yet, but dimensions are correct.\r\n\t\t// Variables set in _configure are needed for calculateTickRotation, and\r\n\t\t// it's ok that coordinates are not correct there, only dimensions matter.\r\n\t\tme._configure();\r\n\r\n\t\t// Tick Rotation\r\n\t\tme.beforeCalculateTickRotation();\r\n\t\tme.calculateTickRotation();\r\n\t\tme.afterCalculateTickRotation();\r\n\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\r\n\t\t// Auto-skip\r\n\t\tme._ticksToDraw = tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto') ? me._autoSkip(ticks) : ticks;\r\n\r\n\t\tif (samplingEnabled) {\r\n\t\t\t// Generate labels using all non-skipped ticks\r\n\t\t\tlabels = me._convertTicksToLabels(me._ticksToDraw);\r\n\t\t}\r\n\r\n\t\tme.ticks = labels;   // BACKWARD COMPATIBILITY\r\n\r\n\t\t// IMPORTANT: after this point, we consider that `this.ticks` will NEVER change!\r\n\r\n\t\tme.afterUpdate();\r\n\r\n\t\t// TODO(v3): remove minSize as a public property and return value from all layout boxes. It is unused\r\n\t\t// make maxWidth and maxHeight private\r\n\t\treturn me.minSize;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar reversePixels = me.options.ticks.reverse;\r\n\t\tvar startPixel, endPixel;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\tstartPixel = me.left;\r\n\t\t\tendPixel = me.right;\r\n\t\t} else {\r\n\t\t\tstartPixel = me.top;\r\n\t\t\tendPixel = me.bottom;\r\n\t\t\t// by default vertical scales are from bottom to top, so pixels are reversed\r\n\t\t\treversePixels = !reversePixels;\r\n\t\t}\r\n\t\tme._startPixel = startPixel;\r\n\t\tme._endPixel = endPixel;\r\n\t\tme._reversePixels = reversePixels;\r\n\t\tme._length = endPixel - startPixel;\r\n\t},\r\n\r\n\tafterUpdate: function() {\r\n\t\thelpers$1.callback(this.options.afterUpdate, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: function() {\r\n\t\thelpers$1.callback(this.options.beforeSetDimensions, [this]);\r\n\t},\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\t},\r\n\tafterSetDimensions: function() {\r\n\t\thelpers$1.callback(this.options.afterSetDimensions, [this]);\r\n\t},\r\n\r\n\t// Data limits\r\n\tbeforeDataLimits: function() {\r\n\t\thelpers$1.callback(this.options.beforeDataLimits, [this]);\r\n\t},\r\n\tdetermineDataLimits: helpers$1.noop,\r\n\tafterDataLimits: function() {\r\n\t\thelpers$1.callback(this.options.afterDataLimits, [this]);\r\n\t},\r\n\r\n\t//\r\n\tbeforeBuildTicks: function() {\r\n\t\thelpers$1.callback(this.options.beforeBuildTicks, [this]);\r\n\t},\r\n\tbuildTicks: helpers$1.noop,\r\n\tafterBuildTicks: function(ticks) {\r\n\t\tvar me = this;\r\n\t\t// ticks is empty for old axis implementations here\r\n\t\tif (isArray(ticks) && ticks.length) {\r\n\t\t\treturn helpers$1.callback(me.options.afterBuildTicks, [me, ticks]);\r\n\t\t}\r\n\t\t// Support old implementations (that modified `this.ticks` directly in buildTicks)\r\n\t\tme.ticks = helpers$1.callback(me.options.afterBuildTicks, [me, me.ticks]) || me.ticks;\r\n\t\treturn ticks;\r\n\t},\r\n\r\n\tbeforeTickToLabelConversion: function() {\r\n\t\thelpers$1.callback(this.options.beforeTickToLabelConversion, [this]);\r\n\t},\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\t\t// Convert ticks to strings\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tme.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback, this);\r\n\t},\r\n\tafterTickToLabelConversion: function() {\r\n\t\thelpers$1.callback(this.options.afterTickToLabelConversion, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeCalculateTickRotation: function() {\r\n\t\thelpers$1.callback(this.options.beforeCalculateTickRotation, [this]);\r\n\t},\r\n\tcalculateTickRotation: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar numTicks = me.getTicks().length;\r\n\t\tvar minRotation = tickOpts.minRotation || 0;\r\n\t\tvar maxRotation = tickOpts.maxRotation;\r\n\t\tvar labelRotation = minRotation;\r\n\t\tvar labelSizes, maxLabelWidth, maxLabelHeight, maxWidth, tickWidth, maxHeight, maxLabelDiagonal;\r\n\r\n\t\tif (!me._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !me.isHorizontal()) {\r\n\t\t\tme.labelRotation = minRotation;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlabelSizes = me._getLabelSizes();\r\n\t\tmaxLabelWidth = labelSizes.widest.width;\r\n\t\tmaxLabelHeight = labelSizes.highest.height - labelSizes.highest.offset;\r\n\r\n\t\t// Estimate the width of each grid based on the canvas width, the maximum\r\n\t\t// label width and the number of tick intervals\r\n\t\tmaxWidth = Math.min(me.maxWidth, me.chart.width - maxLabelWidth);\r\n\t\ttickWidth = options.offset ? me.maxWidth / numTicks : maxWidth / (numTicks - 1);\r\n\r\n\t\t// Allow 3 pixels x2 padding either side for label readability\r\n\t\tif (maxLabelWidth + 6 > tickWidth) {\r\n\t\t\ttickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\r\n\t\t\tmaxHeight = me.maxHeight - getTickMarkLength(options.gridLines)\r\n\t\t\t\t- tickOpts.padding - getScaleLabelHeight(options.scaleLabel);\r\n\t\t\tmaxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\r\n\t\t\tlabelRotation = helpers$1.toDegrees(Math.min(\r\n\t\t\t\tMath.asin(Math.min((labelSizes.highest.height + 6) / tickWidth, 1)),\r\n\t\t\t\tMath.asin(Math.min(maxHeight / maxLabelDiagonal, 1)) - Math.asin(maxLabelHeight / maxLabelDiagonal)\r\n\t\t\t));\r\n\t\t\tlabelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\r\n\t\t}\r\n\r\n\t\tme.labelRotation = labelRotation;\r\n\t},\r\n\tafterCalculateTickRotation: function() {\r\n\t\thelpers$1.callback(this.options.afterCalculateTickRotation, [this]);\r\n\t},\r\n\r\n\t//\r\n\r\n\tbeforeFit: function() {\r\n\t\thelpers$1.callback(this.options.beforeFit, [this]);\r\n\t},\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\t// Reset\r\n\t\tvar minSize = me.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\r\n\t\tvar chart = me.chart;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\t\tvar scaleLabelOpts = opts.scaleLabel;\r\n\t\tvar gridLineOpts = opts.gridLines;\r\n\t\tvar display = me._isVisible();\r\n\t\tvar isBottom = opts.position === 'bottom';\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\t// Width\r\n\t\tif (isHorizontal) {\r\n\t\t\tminSize.width = me.maxWidth;\r\n\t\t} else if (display) {\r\n\t\t\tminSize.width = getTickMarkLength(gridLineOpts) + getScaleLabelHeight(scaleLabelOpts);\r\n\t\t}\r\n\r\n\t\t// height\r\n\t\tif (!isHorizontal) {\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t} else if (display) {\r\n\t\t\tminSize.height = getTickMarkLength(gridLineOpts) + getScaleLabelHeight(scaleLabelOpts);\r\n\t\t}\r\n\r\n\t\t// Don't bother fitting the ticks if we are not showing the labels\r\n\t\tif (tickOpts.display && display) {\r\n\t\t\tvar tickFonts = parseTickFontOptions(tickOpts);\r\n\t\t\tvar labelSizes = me._getLabelSizes();\r\n\t\t\tvar firstLabelSize = labelSizes.first;\r\n\t\t\tvar lastLabelSize = labelSizes.last;\r\n\t\t\tvar widestLabelSize = labelSizes.widest;\r\n\t\t\tvar highestLabelSize = labelSizes.highest;\r\n\t\t\tvar lineSpace = tickFonts.minor.lineHeight * 0.4;\r\n\t\t\tvar tickPadding = tickOpts.padding;\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\t// A horizontal axis is more constrained by the height.\r\n\t\t\t\tvar isRotated = me.labelRotation !== 0;\r\n\t\t\t\tvar angleRadians = helpers$1.toRadians(me.labelRotation);\r\n\t\t\t\tvar cosRotation = Math.cos(angleRadians);\r\n\t\t\t\tvar sinRotation = Math.sin(angleRadians);\r\n\r\n\t\t\t\tvar labelHeight = sinRotation * widestLabelSize.width\r\n\t\t\t\t\t+ cosRotation * (highestLabelSize.height - (isRotated ? highestLabelSize.offset : 0))\r\n\t\t\t\t\t+ (isRotated ? 0 : lineSpace); // padding\r\n\r\n\t\t\t\tminSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\r\n\r\n\t\t\t\tvar offsetLeft = me.getPixelForTick(0) - me.left;\r\n\t\t\t\tvar offsetRight = me.right - me.getPixelForTick(me.getTicks().length - 1);\r\n\t\t\t\tvar paddingLeft, paddingRight;\r\n\r\n\t\t\t\t// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\r\n\t\t\t\t// which means that the right padding is dominated by the font height\r\n\t\t\t\tif (isRotated) {\r\n\t\t\t\t\tpaddingLeft = isBottom ?\r\n\t\t\t\t\t\tcosRotation * firstLabelSize.width + sinRotation * firstLabelSize.offset :\r\n\t\t\t\t\t\tsinRotation * (firstLabelSize.height - firstLabelSize.offset);\r\n\t\t\t\t\tpaddingRight = isBottom ?\r\n\t\t\t\t\t\tsinRotation * (lastLabelSize.height - lastLabelSize.offset) :\r\n\t\t\t\t\t\tcosRotation * lastLabelSize.width + sinRotation * lastLabelSize.offset;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpaddingLeft = firstLabelSize.width / 2;\r\n\t\t\t\t\tpaddingRight = lastLabelSize.width / 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Adjust padding taking into account changes in offsets\r\n\t\t\t\t// and add 3 px to move away from canvas edges\r\n\t\t\t\tme.paddingLeft = Math.max((paddingLeft - offsetLeft) * me.width / (me.width - offsetLeft), 0) + 3;\r\n\t\t\t\tme.paddingRight = Math.max((paddingRight - offsetRight) * me.width / (me.width - offsetRight), 0) + 3;\r\n\t\t\t} else {\r\n\t\t\t\t// A vertical axis is more constrained by the width. Labels are the\r\n\t\t\t\t// dominant factor here, so get that length first and account for padding\r\n\t\t\t\tvar labelWidth = tickOpts.mirror ? 0 :\r\n\t\t\t\t\t// use lineSpace for consistency with horizontal axis\r\n\t\t\t\t\t// tickPadding is not implemented for horizontal\r\n\t\t\t\t\twidestLabelSize.width + tickPadding + lineSpace;\r\n\r\n\t\t\t\tminSize.width = Math.min(me.maxWidth, minSize.width + labelWidth);\r\n\r\n\t\t\t\tme.paddingTop = firstLabelSize.height / 2;\r\n\t\t\t\tme.paddingBottom = lastLabelSize.height / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.handleMargins();\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\tme.width = me._length = chart.width - me.margins.left - me.margins.right;\r\n\t\t\tme.height = minSize.height;\r\n\t\t} else {\r\n\t\t\tme.width = minSize.width;\r\n\t\t\tme.height = me._length = chart.height - me.margins.top - me.margins.bottom;\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Handle margins and padding interactions\r\n\t * @private\r\n\t */\r\n\thandleMargins: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.margins) {\r\n\t\t\tme.margins.left = Math.max(me.paddingLeft, me.margins.left);\r\n\t\t\tme.margins.top = Math.max(me.paddingTop, me.margins.top);\r\n\t\t\tme.margins.right = Math.max(me.paddingRight, me.margins.right);\r\n\t\t\tme.margins.bottom = Math.max(me.paddingBottom, me.margins.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tafterFit: function() {\r\n\t\thelpers$1.callback(this.options.afterFit, [this]);\r\n\t},\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\tvar pos = this.options.position;\r\n\t\treturn pos === 'top' || pos === 'bottom';\r\n\t},\r\n\tisFullWidth: function() {\r\n\t\treturn this.options.fullWidth;\r\n\t},\r\n\r\n\t// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not\r\n\tgetRightValue: function(rawValue) {\r\n\t\t// Null and undefined values first\r\n\t\tif (isNullOrUndef(rawValue)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\t\t// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values\r\n\t\tif ((typeof rawValue === 'number' || rawValue instanceof Number) && !isFinite(rawValue)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\r\n\t\t// If it is in fact an object, dive in one more level\r\n\t\tif (rawValue) {\r\n\t\t\tif (this.isHorizontal()) {\r\n\t\t\t\tif (rawValue.x !== undefined) {\r\n\t\t\t\t\treturn this.getRightValue(rawValue.x);\r\n\t\t\t\t}\r\n\t\t\t} else if (rawValue.y !== undefined) {\r\n\t\t\t\treturn this.getRightValue(rawValue.y);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Value is good, return it\r\n\t\treturn rawValue;\r\n\t},\r\n\r\n\t_convertTicksToLabels: function(ticks) {\r\n\t\tvar me = this;\r\n\t\tvar labels, i, ilen;\r\n\r\n\t\tme.ticks = ticks.map(function(tick) {\r\n\t\t\treturn tick.value;\r\n\t\t});\r\n\r\n\t\tme.beforeTickToLabelConversion();\r\n\r\n\t\t// New implementations should return the formatted tick labels but for BACKWARD\r\n\t\t// COMPAT, we still support no return (`this.ticks` internally changed by calling\r\n\t\t// this method and supposed to contain only string values).\r\n\t\tlabels = me.convertTicksToLabels(ticks) || me.ticks;\r\n\r\n\t\tme.afterTickToLabelConversion();\r\n\r\n\t\t// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\tticks[i].label = labels[i];\r\n\t\t}\r\n\r\n\t\treturn labels;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLabelSizes: function() {\r\n\t\tvar me = this;\r\n\t\tvar labelSizes = me._labelSizes;\r\n\r\n\t\tif (!labelSizes) {\r\n\t\t\tme._labelSizes = labelSizes = computeLabelSizes(me.ctx, parseTickFontOptions(me.options.ticks), me.getTicks(), me.longestTextCache);\r\n\t\t\tme.longestLabelWidth = labelSizes.widest.width;\r\n\t\t}\r\n\r\n\t\treturn labelSizes;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_parseValue: function(value) {\r\n\t\tvar start, end, min, max;\r\n\r\n\t\tif (isArray(value)) {\r\n\t\t\tstart = +this.getRightValue(value[0]);\r\n\t\t\tend = +this.getRightValue(value[1]);\r\n\t\t\tmin = Math.min(start, end);\r\n\t\t\tmax = Math.max(start, end);\r\n\t\t} else {\r\n\t\t\tvalue = +this.getRightValue(value);\r\n\t\t\tstart = undefined;\r\n\t\t\tend = value;\r\n\t\t\tmin = value;\r\n\t\t\tmax = value;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tmin: min,\r\n\t\t\tmax: max,\r\n\t\t\tstart: start,\r\n\t\t\tend: end\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t* @private\r\n\t*/\r\n\t_getScaleLabel: function(rawValue) {\r\n\t\tvar v = this._parseValue(rawValue);\r\n\t\tif (v.start !== undefined) {\r\n\t\t\treturn '[' + v.start + ', ' + v.end + ']';\r\n\t\t}\r\n\r\n\t\treturn +this.getRightValue(rawValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Used to get the value to display in the tooltip for the data at the given index\r\n\t * @param index\r\n\t * @param datasetIndex\r\n\t */\r\n\tgetLabelForIndex: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Returns the location of the given data point. Value can either be an index or a numerical value\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t * @param value\r\n\t * @param index\r\n\t * @param datasetIndex\r\n\t */\r\n\tgetPixelForValue: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t * @param pixel\r\n\t */\r\n\tgetValueForPixel: helpers$1.noop,\r\n\r\n\t/**\r\n\t * Returns the location of the tick at the given index\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar offset = me.options.offset;\r\n\t\tvar numTicks = me._ticks.length;\r\n\t\tvar tickWidth = 1 / Math.max(numTicks - (offset ? 0 : 1), 1);\r\n\r\n\t\treturn index < 0 || index > numTicks - 1\r\n\t\t\t? null\r\n\t\t\t: me.getPixelForDecimal(index * tickWidth + (offset ? tickWidth / 2 : 0));\r\n\t},\r\n\r\n\t/**\r\n\t * Utility for getting the pixel location of a percentage of scale\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetPixelForDecimal: function(decimal) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (me._reversePixels) {\r\n\t\t\tdecimal = 1 - decimal;\r\n\t\t}\r\n\r\n\t\treturn me._startPixel + decimal * me._length;\r\n\t},\r\n\r\n\tgetDecimalForPixel: function(pixel) {\r\n\t\tvar decimal = (pixel - this._startPixel) / this._length;\r\n\t\treturn this._reversePixels ? 1 - decimal : decimal;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the pixel for the minimum chart value\r\n\t * The coordinate (0, 0) is at the upper-left corner of the canvas\r\n\t */\r\n\tgetBasePixel: function() {\r\n\t\treturn this.getPixelForValue(this.getBaseValue());\r\n\t},\r\n\r\n\tgetBaseValue: function() {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\r\n\t\treturn me.beginAtZero ? 0 :\r\n\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t0;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a subset of ticks to be plotted to avoid overlapping labels.\r\n\t * @private\r\n\t */\r\n\t_autoSkip: function(ticks) {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar axisLength = me._length;\r\n\t\tvar ticksLimit = tickOpts.maxTicksLimit || axisLength / me._tickSize() + 1;\r\n\t\tvar majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\r\n\t\tvar numMajorIndices = majorIndices.length;\r\n\t\tvar first = majorIndices[0];\r\n\t\tvar last = majorIndices[numMajorIndices - 1];\r\n\t\tvar i, ilen, spacing, avgMajorSpacing;\r\n\r\n\t\t// If there are too many major ticks to display them all\r\n\t\tif (numMajorIndices > ticksLimit) {\r\n\t\t\tskipMajors(ticks, majorIndices, numMajorIndices / ticksLimit);\r\n\t\t\treturn nonSkipped(ticks);\r\n\t\t}\r\n\r\n\t\tspacing = calculateSpacing(majorIndices, ticks, axisLength, ticksLimit);\r\n\r\n\t\tif (numMajorIndices > 0) {\r\n\t\t\tfor (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\r\n\t\t\t\tskip(ticks, spacing, majorIndices[i], majorIndices[i + 1]);\r\n\t\t\t}\r\n\t\t\tavgMajorSpacing = numMajorIndices > 1 ? (last - first) / (numMajorIndices - 1) : null;\r\n\t\t\tskip(ticks, spacing, helpers$1.isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\r\n\t\t\tskip(ticks, spacing, last, helpers$1.isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\r\n\t\t\treturn nonSkipped(ticks);\r\n\t\t}\r\n\t\tskip(ticks, spacing);\r\n\t\treturn nonSkipped(ticks);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_tickSize: function() {\r\n\t\tvar me = this;\r\n\t\tvar optionTicks = me.options.ticks;\r\n\r\n\t\t// Calculate space needed by label in axis direction.\r\n\t\tvar rot = helpers$1.toRadians(me.labelRotation);\r\n\t\tvar cos = Math.abs(Math.cos(rot));\r\n\t\tvar sin = Math.abs(Math.sin(rot));\r\n\r\n\t\tvar labelSizes = me._getLabelSizes();\r\n\t\tvar padding = optionTicks.autoSkipPadding || 0;\r\n\t\tvar w = labelSizes ? labelSizes.widest.width + padding : 0;\r\n\t\tvar h = labelSizes ? labelSizes.highest.height + padding : 0;\r\n\r\n\t\t// Calculate space needed for 1 tick in axis direction.\r\n\t\treturn me.isHorizontal()\r\n\t\t\t? h * cos > w * sin ? w / cos : h / sin\r\n\t\t\t: h * sin < w * cos ? h / cos : w / sin;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_isVisible: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar display = me.options.display;\r\n\t\tvar i, ilen, meta;\r\n\r\n\t\tif (display !== 'auto') {\r\n\t\t\treturn !!display;\r\n\t\t}\r\n\r\n\t\t// When 'auto', the scale is visible if at least one associated dataset is visible.\r\n\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tif (meta.xAxisID === me.id || meta.yAxisID === me.id) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeGridLineItems: function(chartArea) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar options = me.options;\r\n\t\tvar gridLines = options.gridLines;\r\n\t\tvar position = options.position;\r\n\t\tvar offsetGridLines = gridLines.offsetGridLines;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar ticks = me._ticksToDraw;\r\n\t\tvar ticksLength = ticks.length + (offsetGridLines ? 1 : 0);\r\n\r\n\t\tvar tl = getTickMarkLength(gridLines);\r\n\t\tvar items = [];\r\n\t\tvar axisWidth = gridLines.drawBorder ? valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;\r\n\t\tvar axisHalfWidth = axisWidth / 2;\r\n\t\tvar alignPixel = helpers$1._alignPixel;\r\n\t\tvar alignBorderValue = function(pixel) {\r\n\t\t\treturn alignPixel(chart, pixel, axisWidth);\r\n\t\t};\r\n\t\tvar borderValue, i, tick, lineValue, alignedLineValue;\r\n\t\tvar tx1, ty1, tx2, ty2, x1, y1, x2, y2, lineWidth, lineColor, borderDash, borderDashOffset;\r\n\r\n\t\tif (position === 'top') {\r\n\t\t\tborderValue = alignBorderValue(me.bottom);\r\n\t\t\tty1 = me.bottom - tl;\r\n\t\t\tty2 = borderValue - axisHalfWidth;\r\n\t\t\ty1 = alignBorderValue(chartArea.top) + axisHalfWidth;\r\n\t\t\ty2 = chartArea.bottom;\r\n\t\t} else if (position === 'bottom') {\r\n\t\t\tborderValue = alignBorderValue(me.top);\r\n\t\t\ty1 = chartArea.top;\r\n\t\t\ty2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\r\n\t\t\tty1 = borderValue + axisHalfWidth;\r\n\t\t\tty2 = me.top + tl;\r\n\t\t} else if (position === 'left') {\r\n\t\t\tborderValue = alignBorderValue(me.right);\r\n\t\t\ttx1 = me.right - tl;\r\n\t\t\ttx2 = borderValue - axisHalfWidth;\r\n\t\t\tx1 = alignBorderValue(chartArea.left) + axisHalfWidth;\r\n\t\t\tx2 = chartArea.right;\r\n\t\t} else {\r\n\t\t\tborderValue = alignBorderValue(me.left);\r\n\t\t\tx1 = chartArea.left;\r\n\t\t\tx2 = alignBorderValue(chartArea.right) - axisHalfWidth;\r\n\t\t\ttx1 = borderValue + axisHalfWidth;\r\n\t\t\ttx2 = me.left + tl;\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < ticksLength; ++i) {\r\n\t\t\ttick = ticks[i] || {};\r\n\r\n\t\t\t// autoskipper skipped this tick (#4635)\r\n\t\t\tif (isNullOrUndef(tick.label) && i < ticks.length) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tif (i === me.zeroLineIndex && options.offset === offsetGridLines) {\r\n\t\t\t\t// Draw the first index specially\r\n\t\t\t\tlineWidth = gridLines.zeroLineWidth;\r\n\t\t\t\tlineColor = gridLines.zeroLineColor;\r\n\t\t\t\tborderDash = gridLines.zeroLineBorderDash || [];\r\n\t\t\t\tborderDashOffset = gridLines.zeroLineBorderDashOffset || 0.0;\r\n\t\t\t} else {\r\n\t\t\t\tlineWidth = valueAtIndexOrDefault(gridLines.lineWidth, i, 1);\r\n\t\t\t\tlineColor = valueAtIndexOrDefault(gridLines.color, i, 'rgba(0,0,0,0.1)');\r\n\t\t\t\tborderDash = gridLines.borderDash || [];\r\n\t\t\t\tborderDashOffset = gridLines.borderDashOffset || 0.0;\r\n\t\t\t}\r\n\r\n\t\t\tlineValue = getPixelForGridLine(me, tick._index || i, offsetGridLines);\r\n\r\n\t\t\t// Skip if the pixel is out of the range\r\n\t\t\tif (lineValue === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\talignedLineValue = alignPixel(chart, lineValue, lineWidth);\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\ttx1 = tx2 = x1 = x2 = alignedLineValue;\r\n\t\t\t} else {\r\n\t\t\t\tty1 = ty2 = y1 = y2 = alignedLineValue;\r\n\t\t\t}\r\n\r\n\t\t\titems.push({\r\n\t\t\t\ttx1: tx1,\r\n\t\t\t\tty1: ty1,\r\n\t\t\t\ttx2: tx2,\r\n\t\t\t\tty2: ty2,\r\n\t\t\t\tx1: x1,\r\n\t\t\t\ty1: y1,\r\n\t\t\t\tx2: x2,\r\n\t\t\t\ty2: y2,\r\n\t\t\t\twidth: lineWidth,\r\n\t\t\t\tcolor: lineColor,\r\n\t\t\t\tborderDash: borderDash,\r\n\t\t\t\tborderDashOffset: borderDashOffset,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\titems.ticksLength = ticksLength;\r\n\t\titems.borderValue = borderValue;\r\n\r\n\t\treturn items;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeLabelItems: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar optionTicks = options.ticks;\r\n\t\tvar position = options.position;\r\n\t\tvar isMirrored = optionTicks.mirror;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar ticks = me._ticksToDraw;\r\n\t\tvar fonts = parseTickFontOptions(optionTicks);\r\n\t\tvar tickPadding = optionTicks.padding;\r\n\t\tvar tl = getTickMarkLength(options.gridLines);\r\n\t\tvar rotation = -helpers$1.toRadians(me.labelRotation);\r\n\t\tvar items = [];\r\n\t\tvar i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\r\n\r\n\t\tif (position === 'top') {\r\n\t\t\ty = me.bottom - tl - tickPadding;\r\n\t\t\ttextAlign = !rotation ? 'center' : 'left';\r\n\t\t} else if (position === 'bottom') {\r\n\t\t\ty = me.top + tl + tickPadding;\r\n\t\t\ttextAlign = !rotation ? 'center' : 'right';\r\n\t\t} else if (position === 'left') {\r\n\t\t\tx = me.right - (isMirrored ? 0 : tl) - tickPadding;\r\n\t\t\ttextAlign = isMirrored ? 'left' : 'right';\r\n\t\t} else {\r\n\t\t\tx = me.left + (isMirrored ? 0 : tl) + tickPadding;\r\n\t\t\ttextAlign = isMirrored ? 'right' : 'left';\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\ttick = ticks[i];\r\n\t\t\tlabel = tick.label;\r\n\r\n\t\t\t// autoskipper skipped this tick (#4635)\r\n\t\t\tif (isNullOrUndef(label)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tpixel = me.getPixelForTick(tick._index || i) + optionTicks.labelOffset;\r\n\t\t\tfont = tick.major ? fonts.major : fonts.minor;\r\n\t\t\tlineHeight = font.lineHeight;\r\n\t\t\tlineCount = isArray(label) ? label.length : 1;\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tx = pixel;\r\n\t\t\t\ttextOffset = position === 'top'\r\n\t\t\t\t\t? ((!rotation ? 0.5 : 1) - lineCount) * lineHeight\r\n\t\t\t\t\t: (!rotation ? 0.5 : 0) * lineHeight;\r\n\t\t\t} else {\r\n\t\t\t\ty = pixel;\r\n\t\t\t\ttextOffset = (1 - lineCount) * lineHeight / 2;\r\n\t\t\t}\r\n\r\n\t\t\titems.push({\r\n\t\t\t\tx: x,\r\n\t\t\t\ty: y,\r\n\t\t\t\trotation: rotation,\r\n\t\t\t\tlabel: label,\r\n\t\t\t\tfont: font,\r\n\t\t\t\ttextOffset: textOffset,\r\n\t\t\t\ttextAlign: textAlign\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn items;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawGrid: function(chartArea) {\r\n\t\tvar me = this;\r\n\t\tvar gridLines = me.options.gridLines;\r\n\r\n\t\tif (!gridLines.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar chart = me.chart;\r\n\t\tvar alignPixel = helpers$1._alignPixel;\r\n\t\tvar axisWidth = gridLines.drawBorder ? valueAtIndexOrDefault(gridLines.lineWidth, 0, 0) : 0;\r\n\t\tvar items = me._gridLineItems || (me._gridLineItems = me._computeGridLineItems(chartArea));\r\n\t\tvar width, color, i, ilen, item;\r\n\r\n\t\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\t\titem = items[i];\r\n\t\t\twidth = item.width;\r\n\t\t\tcolor = item.color;\r\n\r\n\t\t\tif (width && color) {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.lineWidth = width;\r\n\t\t\t\tctx.strokeStyle = color;\r\n\t\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\t\tctx.setLineDash(item.borderDash);\r\n\t\t\t\t\tctx.lineDashOffset = item.borderDashOffset;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tctx.beginPath();\r\n\r\n\t\t\t\tif (gridLines.drawTicks) {\r\n\t\t\t\t\tctx.moveTo(item.tx1, item.ty1);\r\n\t\t\t\t\tctx.lineTo(item.tx2, item.ty2);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (gridLines.drawOnChartArea) {\r\n\t\t\t\t\tctx.moveTo(item.x1, item.y1);\r\n\t\t\t\t\tctx.lineTo(item.x2, item.y2);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tctx.stroke();\r\n\t\t\t\tctx.restore();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (axisWidth) {\r\n\t\t\t// Draw the line at the edge of the axis\r\n\t\t\tvar firstLineWidth = axisWidth;\r\n\t\t\tvar lastLineWidth = valueAtIndexOrDefault(gridLines.lineWidth, items.ticksLength - 1, 1);\r\n\t\t\tvar borderValue = items.borderValue;\r\n\t\t\tvar x1, x2, y1, y2;\r\n\r\n\t\t\tif (me.isHorizontal()) {\r\n\t\t\t\tx1 = alignPixel(chart, me.left, firstLineWidth) - firstLineWidth / 2;\r\n\t\t\t\tx2 = alignPixel(chart, me.right, lastLineWidth) + lastLineWidth / 2;\r\n\t\t\t\ty1 = y2 = borderValue;\r\n\t\t\t} else {\r\n\t\t\t\ty1 = alignPixel(chart, me.top, firstLineWidth) - firstLineWidth / 2;\r\n\t\t\t\ty2 = alignPixel(chart, me.bottom, lastLineWidth) + lastLineWidth / 2;\r\n\t\t\t\tx1 = x2 = borderValue;\r\n\t\t\t}\r\n\r\n\t\t\tctx.lineWidth = axisWidth;\r\n\t\t\tctx.strokeStyle = valueAtIndexOrDefault(gridLines.color, 0);\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.moveTo(x1, y1);\r\n\t\t\tctx.lineTo(x2, y2);\r\n\t\t\tctx.stroke();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar optionTicks = me.options.ticks;\r\n\r\n\t\tif (!optionTicks.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar items = me._labelItems || (me._labelItems = me._computeLabelItems());\r\n\t\tvar i, j, ilen, jlen, item, tickFont, label, y;\r\n\r\n\t\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\t\titem = items[i];\r\n\t\t\ttickFont = item.font;\r\n\r\n\t\t\t// Make sure we draw text in the correct color and font\r\n\t\t\tctx.save();\r\n\t\t\tctx.translate(item.x, item.y);\r\n\t\t\tctx.rotate(item.rotation);\r\n\t\t\tctx.font = tickFont.string;\r\n\t\t\tctx.fillStyle = tickFont.color;\r\n\t\t\tctx.textBaseline = 'middle';\r\n\t\t\tctx.textAlign = item.textAlign;\r\n\r\n\t\t\tlabel = item.label;\r\n\t\t\ty = item.textOffset;\r\n\t\t\tif (isArray(label)) {\r\n\t\t\t\tfor (j = 0, jlen = label.length; j < jlen; ++j) {\r\n\t\t\t\t\t// We just make sure the multiline element is a string here..\r\n\t\t\t\t\tctx.fillText('' + label[j], 0, y);\r\n\t\t\t\t\ty += tickFont.lineHeight;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tctx.fillText(label, 0, y);\r\n\t\t\t}\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawTitle: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar options = me.options;\r\n\t\tvar scaleLabel = options.scaleLabel;\r\n\r\n\t\tif (!scaleLabel.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar scaleLabelFontColor = valueOrDefault$a(scaleLabel.fontColor, core_defaults.global.defaultFontColor);\r\n\t\tvar scaleLabelFont = helpers$1.options._parseFont(scaleLabel);\r\n\t\tvar scaleLabelPadding = helpers$1.options.toPadding(scaleLabel.padding);\r\n\t\tvar halfLineHeight = scaleLabelFont.lineHeight / 2;\r\n\t\tvar position = options.position;\r\n\t\tvar rotation = 0;\r\n\t\tvar scaleLabelX, scaleLabelY;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\tscaleLabelX = me.left + me.width / 2; // midpoint of the width\r\n\t\t\tscaleLabelY = position === 'bottom'\r\n\t\t\t\t? me.bottom - halfLineHeight - scaleLabelPadding.bottom\r\n\t\t\t\t: me.top + halfLineHeight + scaleLabelPadding.top;\r\n\t\t} else {\r\n\t\t\tvar isLeft = position === 'left';\r\n\t\t\tscaleLabelX = isLeft\r\n\t\t\t\t? me.left + halfLineHeight + scaleLabelPadding.top\r\n\t\t\t\t: me.right - halfLineHeight - scaleLabelPadding.top;\r\n\t\t\tscaleLabelY = me.top + me.height / 2;\r\n\t\t\trotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.translate(scaleLabelX, scaleLabelY);\r\n\t\tctx.rotate(rotation);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.fillStyle = scaleLabelFontColor; // render in correct colour\r\n\t\tctx.font = scaleLabelFont.string;\r\n\t\tctx.fillText(scaleLabel.labelString, 0, 0);\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (!me._isVisible()) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme._drawGrid(chartArea);\r\n\t\tme._drawTitle();\r\n\t\tme._drawLabels();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_layers: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tz = opts.ticks && opts.ticks.z || 0;\r\n\t\tvar gz = opts.gridLines && opts.gridLines.z || 0;\r\n\r\n\t\tif (!me._isVisible() || tz === gz || me.draw !== me._draw) {\r\n\t\t\t// backward compatibility: draw has been overridden by custom scale\r\n\t\t\treturn [{\r\n\t\t\t\tz: tz,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\tme.draw.apply(me, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t}\r\n\r\n\t\treturn [{\r\n\t\t\tz: gz,\r\n\t\t\tdraw: function() {\r\n\t\t\t\tme._drawGrid.apply(me, arguments);\r\n\t\t\t\tme._drawTitle.apply(me, arguments);\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tz: tz,\r\n\t\t\tdraw: function() {\r\n\t\t\t\tme._drawLabels.apply(me, arguments);\r\n\t\t\t}\r\n\t\t}];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getMatchingVisibleMetas: function(type) {\r\n\t\tvar me = this;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\treturn me.chart._getSortedVisibleDatasetMetas()\r\n\t\t\t.filter(function(meta) {\r\n\t\t\t\treturn (!type || meta.type === type)\r\n\t\t\t\t\t&& (isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id);\r\n\t\t\t});\r\n\t}\r\n});\r\n\r\nScale.prototype._draw = Scale.prototype.draw;\r\n\r\nvar core_scale = Scale;\n\nvar isNullOrUndef$1 = helpers$1.isNullOrUndef;\r\n\r\nvar defaultConfig = {\r\n\tposition: 'bottom'\r\n};\r\n\r\nvar scale_category = core_scale.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar labels = me._getLabels();\r\n\t\tvar ticksOpts = me.options.ticks;\r\n\t\tvar min = ticksOpts.min;\r\n\t\tvar max = ticksOpts.max;\r\n\t\tvar minIndex = 0;\r\n\t\tvar maxIndex = labels.length - 1;\r\n\t\tvar findIndex;\r\n\r\n\t\tif (min !== undefined) {\r\n\t\t\t// user specified min value\r\n\t\t\tfindIndex = labels.indexOf(min);\r\n\t\t\tif (findIndex >= 0) {\r\n\t\t\t\tminIndex = findIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (max !== undefined) {\r\n\t\t\t// user specified max value\r\n\t\t\tfindIndex = labels.indexOf(max);\r\n\t\t\tif (findIndex >= 0) {\r\n\t\t\t\tmaxIndex = findIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.minIndex = minIndex;\r\n\t\tme.maxIndex = maxIndex;\r\n\t\tme.min = labels[minIndex];\r\n\t\tme.max = labels[maxIndex];\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar labels = me._getLabels();\r\n\t\tvar minIndex = me.minIndex;\r\n\t\tvar maxIndex = me.maxIndex;\r\n\r\n\t\t// If we are viewing some subset of labels, slice the original array\r\n\t\tme.ticks = (minIndex === 0 && maxIndex === labels.length - 1) ? labels : labels.slice(minIndex, maxIndex + 1);\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\r\n\t\tif (chart.getDatasetMeta(datasetIndex).controller._getValueScaleId() === me.id) {\r\n\t\t\treturn me.getRightValue(chart.data.datasets[datasetIndex].data[index]);\r\n\t\t}\r\n\r\n\t\treturn me._getLabels()[index];\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar offset = me.options.offset;\r\n\t\tvar ticks = me.ticks;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (!me.isHorizontal()) {\r\n\t\t\t// For backward compatibility, vertical category scale reverse is inverted.\r\n\t\t\tme._reversePixels = !me._reversePixels;\r\n\t\t}\r\n\r\n\t\tif (!ticks) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tme._startValue = me.minIndex - (offset ? 0.5 : 0);\r\n\t\tme._valueRange = Math.max(ticks.length - (offset ? 0 : 1), 1);\r\n\t},\r\n\r\n\t// Used to get data value locations.  Value can either be an index or a numerical value\r\n\tgetPixelForValue: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar valueCategory, labels, idx;\r\n\r\n\t\tif (!isNullOrUndef$1(index) && !isNullOrUndef$1(datasetIndex)) {\r\n\t\t\tvalue = me.chart.data.datasets[datasetIndex].data[index];\r\n\t\t}\r\n\r\n\t\t// If value is a data object, then index is the index in the data array,\r\n\t\t// not the index of the scale. We need to change that.\r\n\t\tif (!isNullOrUndef$1(value)) {\r\n\t\t\tvalueCategory = me.isHorizontal() ? value.x : value.y;\r\n\t\t}\r\n\t\tif (valueCategory !== undefined || (value !== undefined && isNaN(index))) {\r\n\t\t\tlabels = me._getLabels();\r\n\t\t\tvalue = helpers$1.valueOrDefault(valueCategory, value);\r\n\t\t\tidx = labels.indexOf(value);\r\n\t\t\tindex = idx !== -1 ? idx : index;\r\n\t\t\tif (isNaN(index)) {\r\n\t\t\t\tindex = value;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn me.getPixelForDecimal((index - me._startValue) / me._valueRange);\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.ticks;\r\n\t\treturn index < 0 || index > ticks.length - 1\r\n\t\t\t? null\r\n\t\t\t: this.getPixelForValue(ticks[index], index + this.minIndex);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar value = Math.round(me._startValue + me.getDecimalForPixel(pixel) * me._valueRange);\r\n\t\treturn Math.min(Math.max(value, 0), me.ticks.length - 1);\r\n\t},\r\n\r\n\tgetBasePixel: function() {\r\n\t\treturn this.bottom;\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults = defaultConfig;\nscale_category._defaults = _defaults;\n\nvar noop = helpers$1.noop;\r\nvar isNullOrUndef$2 = helpers$1.isNullOrUndef;\r\n\r\n/**\r\n * Generate a set of linear ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {number[]} array of tick values\r\n */\r\nfunction generateTicks(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\t// To get a \"nice\" value for the tick spacing, we will use the appropriately named\r\n\t// \"nice number\" algorithm. See https://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\r\n\t// for details.\r\n\r\n\tvar MIN_SPACING = 1e-14;\r\n\tvar stepSize = generationOptions.stepSize;\r\n\tvar unit = stepSize || 1;\r\n\tvar maxNumSpaces = generationOptions.maxTicks - 1;\r\n\tvar min = generationOptions.min;\r\n\tvar max = generationOptions.max;\r\n\tvar precision = generationOptions.precision;\r\n\tvar rmin = dataRange.min;\r\n\tvar rmax = dataRange.max;\r\n\tvar spacing = helpers$1.niceNum((rmax - rmin) / maxNumSpaces / unit) * unit;\r\n\tvar factor, niceMin, niceMax, numSpaces;\r\n\r\n\t// Beyond MIN_SPACING floating point numbers being to lose precision\r\n\t// such that we can't do the math necessary to generate ticks\r\n\tif (spacing < MIN_SPACING && isNullOrUndef$2(min) && isNullOrUndef$2(max)) {\r\n\t\treturn [rmin, rmax];\r\n\t}\r\n\r\n\tnumSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\r\n\tif (numSpaces > maxNumSpaces) {\r\n\t\t// If the calculated num of spaces exceeds maxNumSpaces, recalculate it\r\n\t\tspacing = helpers$1.niceNum(numSpaces * spacing / maxNumSpaces / unit) * unit;\r\n\t}\r\n\r\n\tif (stepSize || isNullOrUndef$2(precision)) {\r\n\t\t// If a precision is not specified, calculate factor based on spacing\r\n\t\tfactor = Math.pow(10, helpers$1._decimalPlaces(spacing));\r\n\t} else {\r\n\t\t// If the user specified a precision, round to that number of decimal places\r\n\t\tfactor = Math.pow(10, precision);\r\n\t\tspacing = Math.ceil(spacing * factor) / factor;\r\n\t}\r\n\r\n\tniceMin = Math.floor(rmin / spacing) * spacing;\r\n\tniceMax = Math.ceil(rmax / spacing) * spacing;\r\n\r\n\t// If min, max and stepSize is set and they make an evenly spaced scale use it.\r\n\tif (stepSize) {\r\n\t\t// If very close to our whole number, use it.\r\n\t\tif (!isNullOrUndef$2(min) && helpers$1.almostWhole(min / spacing, spacing / 1000)) {\r\n\t\t\tniceMin = min;\r\n\t\t}\r\n\t\tif (!isNullOrUndef$2(max) && helpers$1.almostWhole(max / spacing, spacing / 1000)) {\r\n\t\t\tniceMax = max;\r\n\t\t}\r\n\t}\r\n\r\n\tnumSpaces = (niceMax - niceMin) / spacing;\r\n\t// If very close to our rounded value, use it.\r\n\tif (helpers$1.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\r\n\t\tnumSpaces = Math.round(numSpaces);\r\n\t} else {\r\n\t\tnumSpaces = Math.ceil(numSpaces);\r\n\t}\r\n\r\n\tniceMin = Math.round(niceMin * factor) / factor;\r\n\tniceMax = Math.round(niceMax * factor) / factor;\r\n\tticks.push(isNullOrUndef$2(min) ? niceMin : min);\r\n\tfor (var j = 1; j < numSpaces; ++j) {\r\n\t\tticks.push(Math.round((niceMin + j * spacing) * factor) / factor);\r\n\t}\r\n\tticks.push(isNullOrUndef$2(max) ? niceMax : max);\r\n\r\n\treturn ticks;\r\n}\r\n\r\nvar scale_linearbase = core_scale.extend({\r\n\tgetRightValue: function(value) {\r\n\t\tif (typeof value === 'string') {\r\n\t\t\treturn +value;\r\n\t\t}\r\n\t\treturn core_scale.prototype.getRightValue.call(this, value);\r\n\t},\r\n\r\n\thandleTickRangeOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,\r\n\t\t// do nothing since that would make the chart weird. If the user really wants a weird chart\r\n\t\t// axis, they can manually override it\r\n\t\tif (tickOpts.beginAtZero) {\r\n\t\t\tvar minSign = helpers$1.sign(me.min);\r\n\t\t\tvar maxSign = helpers$1.sign(me.max);\r\n\r\n\t\t\tif (minSign < 0 && maxSign < 0) {\r\n\t\t\t\t// move the top up to 0\r\n\t\t\t\tme.max = 0;\r\n\t\t\t} else if (minSign > 0 && maxSign > 0) {\r\n\t\t\t\t// move the bottom down to 0\r\n\t\t\t\tme.min = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar setMin = tickOpts.min !== undefined || tickOpts.suggestedMin !== undefined;\r\n\t\tvar setMax = tickOpts.max !== undefined || tickOpts.suggestedMax !== undefined;\r\n\r\n\t\tif (tickOpts.min !== undefined) {\r\n\t\t\tme.min = tickOpts.min;\r\n\t\t} else if (tickOpts.suggestedMin !== undefined) {\r\n\t\t\tif (me.min === null) {\r\n\t\t\t\tme.min = tickOpts.suggestedMin;\r\n\t\t\t} else {\r\n\t\t\t\tme.min = Math.min(me.min, tickOpts.suggestedMin);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (tickOpts.max !== undefined) {\r\n\t\t\tme.max = tickOpts.max;\r\n\t\t} else if (tickOpts.suggestedMax !== undefined) {\r\n\t\t\tif (me.max === null) {\r\n\t\t\t\tme.max = tickOpts.suggestedMax;\r\n\t\t\t} else {\r\n\t\t\t\tme.max = Math.max(me.max, tickOpts.suggestedMax);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (setMin !== setMax) {\r\n\t\t\t// We set the min or the max but not both.\r\n\t\t\t// So ensure that our range is good\r\n\t\t\t// Inverted or 0 length range can happen when\r\n\t\t\t// ticks.min is set, and no datasets are visible\r\n\t\t\tif (me.min >= me.max) {\r\n\t\t\t\tif (setMin) {\r\n\t\t\t\t\tme.max = me.min + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tme.min = me.max - 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (me.min === me.max) {\r\n\t\t\tme.max++;\r\n\r\n\t\t\tif (!tickOpts.beginAtZero) {\r\n\t\t\t\tme.min--;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tgetTickLimit: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar stepSize = tickOpts.stepSize;\r\n\t\tvar maxTicksLimit = tickOpts.maxTicksLimit;\r\n\t\tvar maxTicks;\r\n\r\n\t\tif (stepSize) {\r\n\t\t\tmaxTicks = Math.ceil(me.max / stepSize) - Math.floor(me.min / stepSize) + 1;\r\n\t\t} else {\r\n\t\t\tmaxTicks = me._computeTickLimit();\r\n\t\t\tmaxTicksLimit = maxTicksLimit || 11;\r\n\t\t}\r\n\r\n\t\tif (maxTicksLimit) {\r\n\t\t\tmaxTicks = Math.min(maxTicksLimit, maxTicks);\r\n\t\t}\r\n\r\n\t\treturn maxTicks;\r\n\t},\r\n\r\n\t_computeTickLimit: function() {\r\n\t\treturn Number.POSITIVE_INFINITY;\r\n\t},\r\n\r\n\thandleDirectionalChanges: noop,\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\t// Figure out what the max number of ticks we can support it is based on the size of\r\n\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 40\r\n\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\r\n\t\t// the graph. Make sure we always have at least 2 ticks\r\n\t\tvar maxTicks = me.getTickLimit();\r\n\t\tmaxTicks = Math.max(2, maxTicks);\r\n\r\n\t\tvar numericGeneratorOptions = {\r\n\t\t\tmaxTicks: maxTicks,\r\n\t\t\tmin: tickOpts.min,\r\n\t\t\tmax: tickOpts.max,\r\n\t\t\tprecision: tickOpts.precision,\r\n\t\t\tstepSize: helpers$1.valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)\r\n\t\t};\r\n\t\tvar ticks = me.ticks = generateTicks(numericGeneratorOptions, me);\r\n\r\n\t\tme.handleDirectionalChanges();\r\n\r\n\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t// range of the scale\r\n\t\tme.max = helpers$1.max(ticks);\r\n\t\tme.min = helpers$1.min(ticks);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\tticks.reverse();\r\n\r\n\t\t\tme.start = me.max;\r\n\t\t\tme.end = me.min;\r\n\t\t} else {\r\n\t\t\tme.start = me.min;\r\n\t\t\tme.end = me.max;\r\n\t\t}\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\t\tme.ticksAsNumbers = me.ticks.slice();\r\n\t\tme.zeroLineIndex = me.ticks.indexOf(0);\r\n\r\n\t\tcore_scale.prototype.convertTicksToLabels.call(me);\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar ticks = me.getTicks();\r\n\t\tvar start = me.min;\r\n\t\tvar end = me.max;\r\n\t\tvar offset;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (me.options.offset && ticks.length) {\r\n\t\t\toffset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\r\n\t\t\tstart -= offset;\r\n\t\t\tend += offset;\r\n\t\t}\r\n\t\tme._startValue = start;\r\n\t\tme._endValue = end;\r\n\t\tme._valueRange = end - start;\r\n\t}\r\n});\n\nvar defaultConfig$1 = {\r\n\tposition: 'left',\r\n\tticks: {\r\n\t\tcallback: core_ticks.formatters.linear\r\n\t}\r\n};\r\n\r\nvar DEFAULT_MIN = 0;\r\nvar DEFAULT_MAX = 1;\r\n\r\nfunction getOrCreateStack(stacks, stacked, meta) {\r\n\tvar key = [\r\n\t\tmeta.type,\r\n\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\tstacked === undefined && meta.stack === undefined ? meta.index : '',\r\n\t\tmeta.stack\r\n\t].join('.');\r\n\r\n\tif (stacks[key] === undefined) {\r\n\t\tstacks[key] = {\r\n\t\t\tpos: [],\r\n\t\t\tneg: []\r\n\t\t};\r\n\t}\r\n\r\n\treturn stacks[key];\r\n}\r\n\r\nfunction stackData(scale, stacks, meta, data) {\r\n\tvar opts = scale.options;\r\n\tvar stacked = opts.stacked;\r\n\tvar stack = getOrCreateStack(stacks, stacked, meta);\r\n\tvar pos = stack.pos;\r\n\tvar neg = stack.neg;\r\n\tvar ilen = data.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = scale._parseValue(data[i]);\r\n\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tpos[i] = pos[i] || 0;\r\n\t\tneg[i] = neg[i] || 0;\r\n\r\n\t\tif (opts.relativePoints) {\r\n\t\t\tpos[i] = 100;\r\n\t\t} else if (value.min < 0 || value.max < 0) {\r\n\t\t\tneg[i] += value.min;\r\n\t\t} else {\r\n\t\t\tpos[i] += value.max;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction updateMinMax(scale, meta, data) {\r\n\tvar ilen = data.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = scale._parseValue(data[i]);\r\n\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tscale.min = Math.min(scale.min, value.min);\r\n\t\tscale.max = Math.max(scale.max, value.max);\r\n\t}\r\n}\r\n\r\nvar scale_linear = scale_linearbase.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = me._getMatchingVisibleMetas();\r\n\t\tvar hasStacks = opts.stacked;\r\n\t\tvar stacks = {};\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, meta, data, values;\r\n\r\n\t\tme.min = Number.POSITIVE_INFINITY;\r\n\t\tme.max = Number.NEGATIVE_INFINITY;\r\n\r\n\t\tif (hasStacks === undefined) {\r\n\t\t\tfor (i = 0; !hasStacks && i < ilen; ++i) {\r\n\t\t\t\tmeta = metasets[i];\r\n\t\t\t\thasStacks = meta.stack !== undefined;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\tdata = datasets[meta.index].data;\r\n\t\t\tif (hasStacks) {\r\n\t\t\t\tstackData(me, stacks, meta, data);\r\n\t\t\t} else {\r\n\t\t\t\tupdateMinMax(me, meta, data);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.each(stacks, function(stackValues) {\r\n\t\t\tvalues = stackValues.pos.concat(stackValues.neg);\r\n\t\t\tme.min = Math.min(me.min, helpers$1.min(values));\r\n\t\t\tme.max = Math.max(me.max, helpers$1.max(values));\r\n\t\t});\r\n\r\n\t\tme.min = helpers$1.isFinite(me.min) && !isNaN(me.min) ? me.min : DEFAULT_MIN;\r\n\t\tme.max = helpers$1.isFinite(me.max) && !isNaN(me.max) ? me.max : DEFAULT_MAX;\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\tme.handleTickRangeOptions();\r\n\t},\r\n\r\n\t// Returns the maximum number of ticks based on the scale dimension\r\n\t_computeTickLimit: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickFont;\r\n\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\treturn Math.ceil(me.width / 40);\r\n\t\t}\r\n\t\ttickFont = helpers$1.options._parseFont(me.options.ticks);\r\n\t\treturn Math.ceil(me.height / tickFont.lineHeight);\r\n\t},\r\n\r\n\t// Called after the ticks are built. We need\r\n\thandleDirectionalChanges: function() {\r\n\t\tif (!this.isHorizontal()) {\r\n\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\r\n\t\t\tthis.ticks.reverse();\r\n\t\t}\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn this._getScaleLabel(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\t// Utils\r\n\tgetPixelForValue: function(value) {\r\n\t\tvar me = this;\r\n\t\treturn me.getPixelForDecimal((+me.getRightValue(value) - me._startValue) / me._valueRange);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\treturn this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.ticksAsNumbers;\r\n\t\tif (index < 0 || index > ticks.length - 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.getPixelForValue(ticks[index]);\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$1 = defaultConfig$1;\nscale_linear._defaults = _defaults$1;\n\nvar valueOrDefault$b = helpers$1.valueOrDefault;\r\nvar log10 = helpers$1.math.log10;\r\n\r\n/**\r\n * Generate a set of logarithmic ticks\r\n * @param generationOptions the options used to generate the ticks\r\n * @param dataRange the range of the data\r\n * @returns {number[]} array of tick values\r\n */\r\nfunction generateTicks$1(generationOptions, dataRange) {\r\n\tvar ticks = [];\r\n\r\n\tvar tickVal = valueOrDefault$b(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\r\n\r\n\tvar endExp = Math.floor(log10(dataRange.max));\r\n\tvar endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\r\n\tvar exp, significand;\r\n\r\n\tif (tickVal === 0) {\r\n\t\texp = Math.floor(log10(dataRange.minNotZero));\r\n\t\tsignificand = Math.floor(dataRange.minNotZero / Math.pow(10, exp));\r\n\r\n\t\tticks.push(tickVal);\r\n\t\ttickVal = significand * Math.pow(10, exp);\r\n\t} else {\r\n\t\texp = Math.floor(log10(tickVal));\r\n\t\tsignificand = Math.floor(tickVal / Math.pow(10, exp));\r\n\t}\r\n\tvar precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\r\n\r\n\tdo {\r\n\t\tticks.push(tickVal);\r\n\r\n\t\t++significand;\r\n\t\tif (significand === 10) {\r\n\t\t\tsignificand = 1;\r\n\t\t\t++exp;\r\n\t\t\tprecision = exp >= 0 ? 1 : precision;\r\n\t\t}\r\n\r\n\t\ttickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\r\n\t} while (exp < endExp || (exp === endExp && significand < endSignificand));\r\n\r\n\tvar lastTick = valueOrDefault$b(generationOptions.max, tickVal);\r\n\tticks.push(lastTick);\r\n\r\n\treturn ticks;\r\n}\r\n\r\nvar defaultConfig$2 = {\r\n\tposition: 'left',\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\tcallback: core_ticks.formatters.logarithmic\r\n\t}\r\n};\r\n\r\n// TODO(v3): change this to positiveOrDefault\r\nfunction nonNegativeOrDefault(value, defaultValue) {\r\n\treturn helpers$1.isFinite(value) && value >= 0 ? value : defaultValue;\r\n}\r\n\r\nvar scale_logarithmic = core_scale.extend({\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tfunction IDMatches(meta) {\r\n\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\r\n\t\t}\r\n\t\tvar datasetIndex, meta, value, data, i, ilen;\r\n\r\n\t\t// Calculate Range\r\n\t\tme.min = Number.POSITIVE_INFINITY;\r\n\t\tme.max = Number.NEGATIVE_INFINITY;\r\n\t\tme.minNotZero = Number.POSITIVE_INFINITY;\r\n\r\n\t\tvar hasStacks = opts.stacked;\r\n\t\tif (hasStacks === undefined) {\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta) &&\r\n\t\t\t\t\tmeta.stack !== undefined) {\r\n\t\t\t\t\thasStacks = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (opts.stacked || hasStacks) {\r\n\t\t\tvar valuesPerStack = {};\r\n\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tvar key = [\r\n\t\t\t\t\tmeta.type,\r\n\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\r\n\t\t\t\t\t((opts.stacked === undefined && meta.stack === undefined) ? datasetIndex : ''),\r\n\t\t\t\t\tmeta.stack\r\n\t\t\t\t].join('.');\r\n\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\tif (valuesPerStack[key] === undefined) {\r\n\t\t\t\t\t\tvaluesPerStack[key] = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tdata = datasets[datasetIndex].data;\r\n\t\t\t\t\tfor (i = 0, ilen = data.length; i < ilen; i++) {\r\n\t\t\t\t\t\tvar values = valuesPerStack[key];\r\n\t\t\t\t\t\tvalue = me._parseValue(data[i]);\r\n\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden || value.min < 0 || value.max < 0) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvalues[i] = values[i] || 0;\r\n\t\t\t\t\t\tvalues[i] += value.max;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\thelpers$1.each(valuesPerStack, function(valuesForType) {\r\n\t\t\t\tif (valuesForType.length > 0) {\r\n\t\t\t\t\tvar minVal = helpers$1.min(valuesForType);\r\n\t\t\t\t\tvar maxVal = helpers$1.max(valuesForType);\r\n\t\t\t\t\tme.min = Math.min(me.min, minVal);\r\n\t\t\t\t\tme.max = Math.max(me.max, maxVal);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t} else {\r\n\t\t\tfor (datasetIndex = 0; datasetIndex < datasets.length; datasetIndex++) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(datasetIndex);\r\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex) && IDMatches(meta)) {\r\n\t\t\t\t\tdata = datasets[datasetIndex].data;\r\n\t\t\t\t\tfor (i = 0, ilen = data.length; i < ilen; i++) {\r\n\t\t\t\t\t\tvalue = me._parseValue(data[i]);\r\n\t\t\t\t\t\t// invalid, hidden and negative values are ignored\r\n\t\t\t\t\t\tif (isNaN(value.min) || isNaN(value.max) || meta.data[i].hidden || value.min < 0 || value.max < 0) {\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tme.min = Math.min(value.min, me.min);\r\n\t\t\t\t\t\tme.max = Math.max(value.max, me.max);\r\n\r\n\t\t\t\t\t\tif (value.min !== 0) {\r\n\t\t\t\t\t\t\tme.minNotZero = Math.min(value.min, me.minNotZero);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.min = helpers$1.isFinite(me.min) ? me.min : null;\r\n\t\tme.max = helpers$1.isFinite(me.max) ? me.max : null;\r\n\t\tme.minNotZero = helpers$1.isFinite(me.minNotZero) ? me.minNotZero : null;\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max\r\n\t\tthis.handleTickRangeOptions();\r\n\t},\r\n\r\n\thandleTickRangeOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar DEFAULT_MIN = 1;\r\n\t\tvar DEFAULT_MAX = 10;\r\n\r\n\t\tme.min = nonNegativeOrDefault(tickOpts.min, me.min);\r\n\t\tme.max = nonNegativeOrDefault(tickOpts.max, me.max);\r\n\r\n\t\tif (me.min === me.max) {\r\n\t\t\tif (me.min !== 0 && me.min !== null) {\r\n\t\t\t\tme.min = Math.pow(10, Math.floor(log10(me.min)) - 1);\r\n\t\t\t\tme.max = Math.pow(10, Math.floor(log10(me.max)) + 1);\r\n\t\t\t} else {\r\n\t\t\t\tme.min = DEFAULT_MIN;\r\n\t\t\t\tme.max = DEFAULT_MAX;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (me.min === null) {\r\n\t\t\tme.min = Math.pow(10, Math.floor(log10(me.max)) - 1);\r\n\t\t}\r\n\t\tif (me.max === null) {\r\n\t\t\tme.max = me.min !== 0\r\n\t\t\t\t? Math.pow(10, Math.floor(log10(me.min)) + 1)\r\n\t\t\t\t: DEFAULT_MAX;\r\n\t\t}\r\n\t\tif (me.minNotZero === null) {\r\n\t\t\tif (me.min > 0) {\r\n\t\t\t\tme.minNotZero = me.min;\r\n\t\t\t} else if (me.max < 1) {\r\n\t\t\t\tme.minNotZero = Math.pow(10, Math.floor(log10(me.max)));\r\n\t\t\t} else {\r\n\t\t\t\tme.minNotZero = DEFAULT_MIN;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar tickOpts = me.options.ticks;\r\n\t\tvar reverse = !me.isHorizontal();\r\n\r\n\t\tvar generationOptions = {\r\n\t\t\tmin: nonNegativeOrDefault(tickOpts.min),\r\n\t\t\tmax: nonNegativeOrDefault(tickOpts.max)\r\n\t\t};\r\n\t\tvar ticks = me.ticks = generateTicks$1(generationOptions, me);\r\n\r\n\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\r\n\t\t// range of the scale\r\n\t\tme.max = helpers$1.max(ticks);\r\n\t\tme.min = helpers$1.min(ticks);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\treverse = !reverse;\r\n\t\t\tme.start = me.max;\r\n\t\t\tme.end = me.min;\r\n\t\t} else {\r\n\t\t\tme.start = me.min;\r\n\t\t\tme.end = me.max;\r\n\t\t}\r\n\t\tif (reverse) {\r\n\t\t\tticks.reverse();\r\n\t\t}\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tthis.tickValues = this.ticks.slice();\r\n\r\n\t\tcore_scale.prototype.convertTicksToLabels.call(this);\r\n\t},\r\n\r\n\t// Get the correct tooltip label\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn this._getScaleLabel(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.tickValues;\r\n\t\tif (index < 0 || index > ticks.length - 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.getPixelForValue(ticks[index]);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the value of the first tick.\r\n\t * @param {number} value - The minimum not zero value.\r\n\t * @return {number} The first tick value.\r\n\t * @private\r\n\t */\r\n\t_getFirstTickValue: function(value) {\r\n\t\tvar exp = Math.floor(log10(value));\r\n\t\tvar significand = Math.floor(value / Math.pow(10, exp));\r\n\r\n\t\treturn significand * Math.pow(10, exp);\r\n\t},\r\n\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tvar start = me.min;\r\n\t\tvar offset = 0;\r\n\r\n\t\tcore_scale.prototype._configure.call(me);\r\n\r\n\t\tif (start === 0) {\r\n\t\t\tstart = me._getFirstTickValue(me.minNotZero);\r\n\t\t\toffset = valueOrDefault$b(me.options.ticks.fontSize, core_defaults.global.defaultFontSize) / me._length;\r\n\t\t}\r\n\r\n\t\tme._startValue = log10(start);\r\n\t\tme._valueOffset = offset;\r\n\t\tme._valueRange = (log10(me.max) - log10(start)) / (1 - offset);\r\n\t},\r\n\r\n\tgetPixelForValue: function(value) {\r\n\t\tvar me = this;\r\n\t\tvar decimal = 0;\r\n\r\n\t\tvalue = +me.getRightValue(value);\r\n\r\n\t\tif (value > me.min && value > 0) {\r\n\t\t\tdecimal = (log10(value) - me._startValue) / me._valueRange + me._valueOffset;\r\n\t\t}\r\n\t\treturn me.getPixelForDecimal(decimal);\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar decimal = me.getDecimalForPixel(pixel);\r\n\t\treturn decimal === 0 && me.min === 0\r\n\t\t\t? 0\r\n\t\t\t: Math.pow(10, me._startValue + (decimal - me._valueOffset) * me._valueRange);\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$2 = defaultConfig$2;\nscale_logarithmic._defaults = _defaults$2;\n\nvar valueOrDefault$c = helpers$1.valueOrDefault;\r\nvar valueAtIndexOrDefault$1 = helpers$1.valueAtIndexOrDefault;\r\nvar resolve$4 = helpers$1.options.resolve;\r\n\r\nvar defaultConfig$3 = {\r\n\tdisplay: true,\r\n\r\n\t// Boolean - Whether to animate scaling the chart from the centre\r\n\tanimate: true,\r\n\tposition: 'chartArea',\r\n\r\n\tangleLines: {\r\n\t\tdisplay: true,\r\n\t\tcolor: 'rgba(0,0,0,0.1)',\r\n\t\tlineWidth: 1,\r\n\t\tborderDash: [],\r\n\t\tborderDashOffset: 0.0\r\n\t},\r\n\r\n\tgridLines: {\r\n\t\tcircular: false\r\n\t},\r\n\r\n\t// label settings\r\n\tticks: {\r\n\t\t// Boolean - Show a backdrop to the scale label\r\n\t\tshowLabelBackdrop: true,\r\n\r\n\t\t// String - The colour of the label backdrop\r\n\t\tbackdropColor: 'rgba(255,255,255,0.75)',\r\n\r\n\t\t// Number - The backdrop padding above & below the label in pixels\r\n\t\tbackdropPaddingY: 2,\r\n\r\n\t\t// Number - The backdrop padding to the side of the label in pixels\r\n\t\tbackdropPaddingX: 2,\r\n\r\n\t\tcallback: core_ticks.formatters.linear\r\n\t},\r\n\r\n\tpointLabels: {\r\n\t\t// Boolean - if true, show point labels\r\n\t\tdisplay: true,\r\n\r\n\t\t// Number - Point label font size in pixels\r\n\t\tfontSize: 10,\r\n\r\n\t\t// Function - Used to convert point labels\r\n\t\tcallback: function(label) {\r\n\t\t\treturn label;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nfunction getTickBackdropHeight(opts) {\r\n\tvar tickOpts = opts.ticks;\r\n\r\n\tif (tickOpts.display && opts.display) {\r\n\t\treturn valueOrDefault$c(tickOpts.fontSize, core_defaults.global.defaultFontSize) + tickOpts.backdropPaddingY * 2;\r\n\t}\r\n\treturn 0;\r\n}\r\n\r\nfunction measureLabelSize(ctx, lineHeight, label) {\r\n\tif (helpers$1.isArray(label)) {\r\n\t\treturn {\r\n\t\t\tw: helpers$1.longestText(ctx, ctx.font, label),\r\n\t\t\th: label.length * lineHeight\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tw: ctx.measureText(label).width,\r\n\t\th: lineHeight\r\n\t};\r\n}\r\n\r\nfunction determineLimits(angle, pos, size, min, max) {\r\n\tif (angle === min || angle === max) {\r\n\t\treturn {\r\n\t\t\tstart: pos - (size / 2),\r\n\t\t\tend: pos + (size / 2)\r\n\t\t};\r\n\t} else if (angle < min || angle > max) {\r\n\t\treturn {\r\n\t\t\tstart: pos - size,\r\n\t\t\tend: pos\r\n\t\t};\r\n\t}\r\n\r\n\treturn {\r\n\t\tstart: pos,\r\n\t\tend: pos + size\r\n\t};\r\n}\r\n\r\n/**\r\n * Helper function to fit a radial linear scale with point labels\r\n */\r\nfunction fitWithPointLabels(scale) {\r\n\r\n\t// Right, this is really confusing and there is a lot of maths going on here\r\n\t// The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\r\n\t//\r\n\t// Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\r\n\t//\r\n\t// Solution:\r\n\t//\r\n\t// We assume the radius of the polygon is half the size of the canvas at first\r\n\t// at each index we check if the text overlaps.\r\n\t//\r\n\t// Where it does, we store that angle and that index.\r\n\t//\r\n\t// After finding the largest index and angle we calculate how much we need to remove\r\n\t// from the shape radius to move the point inwards by that x.\r\n\t//\r\n\t// We average the left and right distances to get the maximum shape radius that can fit in the box\r\n\t// along with labels.\r\n\t//\r\n\t// Once we have that, we can find the centre point for the chart, by taking the x text protrusion\r\n\t// on each side, removing that from the size, halving it and adding the left x protrusion width.\r\n\t//\r\n\t// This will mean we have a shape fitted to the canvas, as large as it can be with the labels\r\n\t// and position it in the most space efficient manner\r\n\t//\r\n\t// https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\r\n\r\n\tvar plFont = helpers$1.options._parseFont(scale.options.pointLabels);\r\n\r\n\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\r\n\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\r\n\tvar furthestLimits = {\r\n\t\tl: 0,\r\n\t\tr: scale.width,\r\n\t\tt: 0,\r\n\t\tb: scale.height - scale.paddingTop\r\n\t};\r\n\tvar furthestAngles = {};\r\n\tvar i, textSize, pointPosition;\r\n\r\n\tscale.ctx.font = plFont.string;\r\n\tscale._pointLabelSizes = [];\r\n\r\n\tvar valueCount = scale.chart.data.labels.length;\r\n\tfor (i = 0; i < valueCount; i++) {\r\n\t\tpointPosition = scale.getPointPosition(i, scale.drawingArea + 5);\r\n\t\ttextSize = measureLabelSize(scale.ctx, plFont.lineHeight, scale.pointLabels[i]);\r\n\t\tscale._pointLabelSizes[i] = textSize;\r\n\r\n\t\t// Add quarter circle to make degree 0 mean top of circle\r\n\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\tvar angle = helpers$1.toDegrees(angleRadians) % 360;\r\n\t\tvar hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\r\n\t\tvar vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\r\n\r\n\t\tif (hLimits.start < furthestLimits.l) {\r\n\t\t\tfurthestLimits.l = hLimits.start;\r\n\t\t\tfurthestAngles.l = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (hLimits.end > furthestLimits.r) {\r\n\t\t\tfurthestLimits.r = hLimits.end;\r\n\t\t\tfurthestAngles.r = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (vLimits.start < furthestLimits.t) {\r\n\t\t\tfurthestLimits.t = vLimits.start;\r\n\t\t\tfurthestAngles.t = angleRadians;\r\n\t\t}\r\n\r\n\t\tif (vLimits.end > furthestLimits.b) {\r\n\t\t\tfurthestLimits.b = vLimits.end;\r\n\t\t\tfurthestAngles.b = angleRadians;\r\n\t\t}\r\n\t}\r\n\r\n\tscale.setReductions(scale.drawingArea, furthestLimits, furthestAngles);\r\n}\r\n\r\nfunction getTextAlignForAngle(angle) {\r\n\tif (angle === 0 || angle === 180) {\r\n\t\treturn 'center';\r\n\t} else if (angle < 180) {\r\n\t\treturn 'left';\r\n\t}\r\n\r\n\treturn 'right';\r\n}\r\n\r\nfunction fillText(ctx, text, position, lineHeight) {\r\n\tvar y = position.y + lineHeight / 2;\r\n\tvar i, ilen;\r\n\r\n\tif (helpers$1.isArray(text)) {\r\n\t\tfor (i = 0, ilen = text.length; i < ilen; ++i) {\r\n\t\t\tctx.fillText(text[i], position.x, y);\r\n\t\t\ty += lineHeight;\r\n\t\t}\r\n\t} else {\r\n\t\tctx.fillText(text, position.x, y);\r\n\t}\r\n}\r\n\r\nfunction adjustPointPositionForLabelHeight(angle, textSize, position) {\r\n\tif (angle === 90 || angle === 270) {\r\n\t\tposition.y -= (textSize.h / 2);\r\n\t} else if (angle > 270 || angle < 90) {\r\n\t\tposition.y -= textSize.h;\r\n\t}\r\n}\r\n\r\nfunction drawPointLabels(scale) {\r\n\tvar ctx = scale.ctx;\r\n\tvar opts = scale.options;\r\n\tvar pointLabelOpts = opts.pointLabels;\r\n\tvar tickBackdropHeight = getTickBackdropHeight(opts);\r\n\tvar outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\r\n\tvar plFont = helpers$1.options._parseFont(pointLabelOpts);\r\n\r\n\tctx.save();\r\n\r\n\tctx.font = plFont.string;\r\n\tctx.textBaseline = 'middle';\r\n\r\n\tfor (var i = scale.chart.data.labels.length - 1; i >= 0; i--) {\r\n\t\t// Extra pixels out for some label spacing\r\n\t\tvar extra = (i === 0 ? tickBackdropHeight / 2 : 0);\r\n\t\tvar pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + 5);\r\n\r\n\t\t// Keep this in loop since we may support array properties here\r\n\t\tvar pointLabelFontColor = valueAtIndexOrDefault$1(pointLabelOpts.fontColor, i, core_defaults.global.defaultFontColor);\r\n\t\tctx.fillStyle = pointLabelFontColor;\r\n\r\n\t\tvar angleRadians = scale.getIndexAngle(i);\r\n\t\tvar angle = helpers$1.toDegrees(angleRadians);\r\n\t\tctx.textAlign = getTextAlignForAngle(angle);\r\n\t\tadjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);\r\n\t\tfillText(ctx, scale.pointLabels[i], pointLabelPosition, plFont.lineHeight);\r\n\t}\r\n\tctx.restore();\r\n}\r\n\r\nfunction drawRadiusLine(scale, gridLineOpts, radius, index) {\r\n\tvar ctx = scale.ctx;\r\n\tvar circular = gridLineOpts.circular;\r\n\tvar valueCount = scale.chart.data.labels.length;\r\n\tvar lineColor = valueAtIndexOrDefault$1(gridLineOpts.color, index - 1);\r\n\tvar lineWidth = valueAtIndexOrDefault$1(gridLineOpts.lineWidth, index - 1);\r\n\tvar pointPosition;\r\n\r\n\tif ((!circular && !valueCount) || !lineColor || !lineWidth) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tctx.save();\r\n\tctx.strokeStyle = lineColor;\r\n\tctx.lineWidth = lineWidth;\r\n\tif (ctx.setLineDash) {\r\n\t\tctx.setLineDash(gridLineOpts.borderDash || []);\r\n\t\tctx.lineDashOffset = gridLineOpts.borderDashOffset || 0.0;\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tif (circular) {\r\n\t\t// Draw circular arcs between the points\r\n\t\tctx.arc(scale.xCenter, scale.yCenter, radius, 0, Math.PI * 2);\r\n\t} else {\r\n\t\t// Draw straight lines connecting each index\r\n\t\tpointPosition = scale.getPointPosition(0, radius);\r\n\t\tctx.moveTo(pointPosition.x, pointPosition.y);\r\n\r\n\t\tfor (var i = 1; i < valueCount; i++) {\r\n\t\t\tpointPosition = scale.getPointPosition(i, radius);\r\n\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\r\n\t\t}\r\n\t}\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n\tctx.restore();\r\n}\r\n\r\nfunction numberOrZero(param) {\r\n\treturn helpers$1.isNumber(param) ? param : 0;\r\n}\r\n\r\nvar scale_radialLinear = scale_linearbase.extend({\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tme.width = me.maxWidth;\r\n\t\tme.height = me.maxHeight;\r\n\t\tme.paddingTop = getTickBackdropHeight(me.options) / 2;\r\n\t\tme.xCenter = Math.floor(me.width / 2);\r\n\t\tme.yCenter = Math.floor((me.height - me.paddingTop) / 2);\r\n\t\tme.drawingArea = Math.min(me.height - me.paddingTop, me.width) / 2;\r\n\t},\r\n\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar min = Number.POSITIVE_INFINITY;\r\n\t\tvar max = Number.NEGATIVE_INFINITY;\r\n\r\n\t\thelpers$1.each(chart.data.datasets, function(dataset, datasetIndex) {\r\n\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\r\n\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\r\n\r\n\t\t\t\thelpers$1.each(dataset.data, function(rawValue, index) {\r\n\t\t\t\t\tvar value = +me.getRightValue(rawValue);\r\n\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tmin = Math.min(value, min);\r\n\t\t\t\t\tmax = Math.max(value, max);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tme.min = (min === Number.POSITIVE_INFINITY ? 0 : min);\r\n\t\tme.max = (max === Number.NEGATIVE_INFINITY ? 0 : max);\r\n\r\n\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\r\n\t\tme.handleTickRangeOptions();\r\n\t},\r\n\r\n\t// Returns the maximum number of ticks based on the scale dimension\r\n\t_computeTickLimit: function() {\r\n\t\treturn Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\r\n\t},\r\n\r\n\tconvertTicksToLabels: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tscale_linearbase.prototype.convertTicksToLabels.call(me);\r\n\r\n\t\t// Point labels\r\n\t\tme.pointLabels = me.chart.data.labels.map(function() {\r\n\t\t\tvar label = helpers$1.callback(me.options.pointLabels.callback, arguments, me);\r\n\t\t\treturn label || label === 0 ? label : '';\r\n\t\t});\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\r\n\t},\r\n\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\r\n\t\tif (opts.display && opts.pointLabels.display) {\r\n\t\t\tfitWithPointLabels(me);\r\n\t\t} else {\r\n\t\t\tme.setCenterPoint(0, 0, 0, 0);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Set radius reductions and determine new radius and center point\r\n\t * @private\r\n\t */\r\n\tsetReductions: function(largestPossibleRadius, furthestLimits, furthestAngles) {\r\n\t\tvar me = this;\r\n\t\tvar radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\r\n\t\tvar radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\r\n\t\tvar radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\r\n\t\tvar radiusReductionBottom = -Math.max(furthestLimits.b - (me.height - me.paddingTop), 0) / Math.cos(furthestAngles.b);\r\n\r\n\t\tradiusReductionLeft = numberOrZero(radiusReductionLeft);\r\n\t\tradiusReductionRight = numberOrZero(radiusReductionRight);\r\n\t\tradiusReductionTop = numberOrZero(radiusReductionTop);\r\n\t\tradiusReductionBottom = numberOrZero(radiusReductionBottom);\r\n\r\n\t\tme.drawingArea = Math.min(\r\n\t\t\tMath.floor(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\r\n\t\t\tMath.floor(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));\r\n\t\tme.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\r\n\t},\r\n\r\n\tsetCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) {\r\n\t\tvar me = this;\r\n\t\tvar maxRight = me.width - rightMovement - me.drawingArea;\r\n\t\tvar maxLeft = leftMovement + me.drawingArea;\r\n\t\tvar maxTop = topMovement + me.drawingArea;\r\n\t\tvar maxBottom = (me.height - me.paddingTop) - bottomMovement - me.drawingArea;\r\n\r\n\t\tme.xCenter = Math.floor(((maxLeft + maxRight) / 2) + me.left);\r\n\t\tme.yCenter = Math.floor(((maxTop + maxBottom) / 2) + me.top + me.paddingTop);\r\n\t},\r\n\r\n\tgetIndexAngle: function(index) {\r\n\t\tvar chart = this.chart;\r\n\t\tvar angleMultiplier = 360 / chart.data.labels.length;\r\n\t\tvar options = chart.options || {};\r\n\t\tvar startAngle = options.startAngle || 0;\r\n\r\n\t\t// Start from the top instead of right, so remove a quarter of the circle\r\n\t\tvar angle = (index * angleMultiplier + startAngle) % 360;\r\n\r\n\t\treturn (angle < 0 ? angle + 360 : angle) * Math.PI * 2 / 360;\r\n\t},\r\n\r\n\tgetDistanceFromCenterForValue: function(value) {\r\n\t\tvar me = this;\r\n\r\n\t\tif (helpers$1.isNullOrUndef(value)) {\r\n\t\t\treturn NaN;\r\n\t\t}\r\n\r\n\t\t// Take into account half font size + the yPadding of the top value\r\n\t\tvar scalingFactor = me.drawingArea / (me.max - me.min);\r\n\t\tif (me.options.ticks.reverse) {\r\n\t\t\treturn (me.max - value) * scalingFactor;\r\n\t\t}\r\n\t\treturn (value - me.min) * scalingFactor;\r\n\t},\r\n\r\n\tgetPointPosition: function(index, distanceFromCenter) {\r\n\t\tvar me = this;\r\n\t\tvar thisAngle = me.getIndexAngle(index) - (Math.PI / 2);\r\n\t\treturn {\r\n\t\t\tx: Math.cos(thisAngle) * distanceFromCenter + me.xCenter,\r\n\t\t\ty: Math.sin(thisAngle) * distanceFromCenter + me.yCenter\r\n\t\t};\r\n\t},\r\n\r\n\tgetPointPositionForValue: function(index, value) {\r\n\t\treturn this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\r\n\t},\r\n\r\n\tgetBasePosition: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\r\n\t\treturn me.getPointPositionForValue(index || 0,\r\n\t\t\tme.beginAtZero ? 0 :\r\n\t\t\tmin < 0 && max < 0 ? max :\r\n\t\t\tmin > 0 && max > 0 ? min :\r\n\t\t\t0);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawGrid: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\t\tvar gridLineOpts = opts.gridLines;\r\n\t\tvar angleLineOpts = opts.angleLines;\r\n\t\tvar lineWidth = valueOrDefault$c(angleLineOpts.lineWidth, gridLineOpts.lineWidth);\r\n\t\tvar lineColor = valueOrDefault$c(angleLineOpts.color, gridLineOpts.color);\r\n\t\tvar i, offset, position;\r\n\r\n\t\tif (opts.pointLabels.display) {\r\n\t\t\tdrawPointLabels(me);\r\n\t\t}\r\n\r\n\t\tif (gridLineOpts.display) {\r\n\t\t\thelpers$1.each(me.ticks, function(label, index) {\r\n\t\t\t\tif (index !== 0) {\r\n\t\t\t\t\toffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\r\n\t\t\t\t\tdrawRadiusLine(me, gridLineOpts, offset, index);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (angleLineOpts.display && lineWidth && lineColor) {\r\n\t\t\tctx.save();\r\n\t\t\tctx.lineWidth = lineWidth;\r\n\t\t\tctx.strokeStyle = lineColor;\r\n\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\tctx.setLineDash(resolve$4([angleLineOpts.borderDash, gridLineOpts.borderDash, []]));\r\n\t\t\t\tctx.lineDashOffset = resolve$4([angleLineOpts.borderDashOffset, gridLineOpts.borderDashOffset, 0.0]);\r\n\t\t\t}\r\n\r\n\t\t\tfor (i = me.chart.data.labels.length - 1; i >= 0; i--) {\r\n\t\t\t\toffset = me.getDistanceFromCenterForValue(opts.ticks.reverse ? me.min : me.max);\r\n\t\t\t\tposition = me.getPointPosition(i, offset);\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.moveTo(me.xCenter, me.yCenter);\r\n\t\t\t\tctx.lineTo(position.x, position.y);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\r\n\t\t\tctx.restore();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\t\tvar tickOpts = opts.ticks;\r\n\r\n\t\tif (!tickOpts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar startAngle = me.getIndexAngle(0);\r\n\t\tvar tickFont = helpers$1.options._parseFont(tickOpts);\r\n\t\tvar tickFontColor = valueOrDefault$c(tickOpts.fontColor, core_defaults.global.defaultFontColor);\r\n\t\tvar offset, width;\r\n\r\n\t\tctx.save();\r\n\t\tctx.font = tickFont.string;\r\n\t\tctx.translate(me.xCenter, me.yCenter);\r\n\t\tctx.rotate(startAngle);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\r\n\t\thelpers$1.each(me.ticks, function(label, index) {\r\n\t\t\tif (index === 0 && !tickOpts.reverse) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\toffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\r\n\r\n\t\t\tif (tickOpts.showLabelBackdrop) {\r\n\t\t\t\twidth = ctx.measureText(label).width;\r\n\t\t\t\tctx.fillStyle = tickOpts.backdropColor;\r\n\r\n\t\t\t\tctx.fillRect(\r\n\t\t\t\t\t-width / 2 - tickOpts.backdropPaddingX,\r\n\t\t\t\t\t-offset - tickFont.size / 2 - tickOpts.backdropPaddingY,\r\n\t\t\t\t\twidth + tickOpts.backdropPaddingX * 2,\r\n\t\t\t\t\ttickFont.size + tickOpts.backdropPaddingY * 2\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tctx.fillStyle = tickFontColor;\r\n\t\t\tctx.fillText(label, 0, -offset);\r\n\t\t});\r\n\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_drawTitle: helpers$1.noop\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$3 = defaultConfig$3;\nscale_radialLinear._defaults = _defaults$3;\n\nvar deprecated$1 = helpers$1._deprecated;\r\nvar resolve$5 = helpers$1.options.resolve;\r\nvar valueOrDefault$d = helpers$1.valueOrDefault;\r\n\r\n// Integer constants are from the ES6 spec.\r\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\r\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\r\n\r\nvar INTERVALS = {\r\n\tmillisecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1,\r\n\t\tsteps: 1000\r\n\t},\r\n\tsecond: {\r\n\t\tcommon: true,\r\n\t\tsize: 1000,\r\n\t\tsteps: 60\r\n\t},\r\n\tminute: {\r\n\t\tcommon: true,\r\n\t\tsize: 60000,\r\n\t\tsteps: 60\r\n\t},\r\n\thour: {\r\n\t\tcommon: true,\r\n\t\tsize: 3600000,\r\n\t\tsteps: 24\r\n\t},\r\n\tday: {\r\n\t\tcommon: true,\r\n\t\tsize: 86400000,\r\n\t\tsteps: 30\r\n\t},\r\n\tweek: {\r\n\t\tcommon: false,\r\n\t\tsize: 604800000,\r\n\t\tsteps: 4\r\n\t},\r\n\tmonth: {\r\n\t\tcommon: true,\r\n\t\tsize: 2.628e9,\r\n\t\tsteps: 12\r\n\t},\r\n\tquarter: {\r\n\t\tcommon: false,\r\n\t\tsize: 7.884e9,\r\n\t\tsteps: 4\r\n\t},\r\n\tyear: {\r\n\t\tcommon: true,\r\n\t\tsize: 3.154e10\r\n\t}\r\n};\r\n\r\nvar UNITS = Object.keys(INTERVALS);\r\n\r\nfunction sorter(a, b) {\r\n\treturn a - b;\r\n}\r\n\r\nfunction arrayUnique(items) {\r\n\tvar hash = {};\r\n\tvar out = [];\r\n\tvar i, ilen, item;\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\titem = items[i];\r\n\t\tif (!hash[item]) {\r\n\t\t\thash[item] = true;\r\n\t\t\tout.push(item);\r\n\t\t}\r\n\t}\r\n\r\n\treturn out;\r\n}\r\n\r\nfunction getMin(options) {\r\n\treturn helpers$1.valueOrDefault(options.time.min, options.ticks.min);\r\n}\r\n\r\nfunction getMax(options) {\r\n\treturn helpers$1.valueOrDefault(options.time.max, options.ticks.max);\r\n}\r\n\r\n/**\r\n * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\r\n * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\r\n * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\r\n * extremity (left + width or top + height). Note that it would be more optimized to directly\r\n * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\r\n * to create the lookup table. The table ALWAYS contains at least two items: min and max.\r\n *\r\n * @param {number[]} timestamps - timestamps sorted from lowest to highest.\r\n * @param {string} distribution - If 'linear', timestamps will be spread linearly along the min\r\n * and max range, so basically, the table will contains only two items: {min, 0} and {max, 1}.\r\n * If 'series', timestamps will be positioned at the same distance from each other. In this\r\n * case, only timestamps that break the time linearity are registered, meaning that in the\r\n * best case, all timestamps are linear, the table contains only min and max.\r\n */\r\nfunction buildLookupTable(timestamps, min, max, distribution) {\r\n\tif (distribution === 'linear' || !timestamps.length) {\r\n\t\treturn [\r\n\t\t\t{time: min, pos: 0},\r\n\t\t\t{time: max, pos: 1}\r\n\t\t];\r\n\t}\r\n\r\n\tvar table = [];\r\n\tvar items = [min];\r\n\tvar i, ilen, prev, curr, next;\r\n\r\n\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\tcurr = timestamps[i];\r\n\t\tif (curr > min && curr < max) {\r\n\t\t\titems.push(curr);\r\n\t\t}\r\n\t}\r\n\r\n\titems.push(max);\r\n\r\n\tfor (i = 0, ilen = items.length; i < ilen; ++i) {\r\n\t\tnext = items[i + 1];\r\n\t\tprev = items[i - 1];\r\n\t\tcurr = items[i];\r\n\r\n\t\t// only add points that breaks the scale linearity\r\n\t\tif (prev === undefined || next === undefined || Math.round((next + prev) / 2) !== curr) {\r\n\t\t\ttable.push({time: curr, pos: i / (ilen - 1)});\r\n\t\t}\r\n\t}\r\n\r\n\treturn table;\r\n}\r\n\r\n// @see adapted from https://www.anujgakhar.com/2014/03/01/binary-search-in-javascript/\r\nfunction lookup(table, key, value) {\r\n\tvar lo = 0;\r\n\tvar hi = table.length - 1;\r\n\tvar mid, i0, i1;\r\n\r\n\twhile (lo >= 0 && lo <= hi) {\r\n\t\tmid = (lo + hi) >> 1;\r\n\t\ti0 = table[mid - 1] || null;\r\n\t\ti1 = table[mid];\r\n\r\n\t\tif (!i0) {\r\n\t\t\t// given value is outside table (before first item)\r\n\t\t\treturn {lo: null, hi: i1};\r\n\t\t} else if (i1[key] < value) {\r\n\t\t\tlo = mid + 1;\r\n\t\t} else if (i0[key] > value) {\r\n\t\t\thi = mid - 1;\r\n\t\t} else {\r\n\t\t\treturn {lo: i0, hi: i1};\r\n\t\t}\r\n\t}\r\n\r\n\t// given value is outside table (after last item)\r\n\treturn {lo: i1, hi: null};\r\n}\r\n\r\n/**\r\n * Linearly interpolates the given source `value` using the table items `skey` values and\r\n * returns the associated `tkey` value. For example, interpolate(table, 'time', 42, 'pos')\r\n * returns the position for a timestamp equal to 42. If value is out of bounds, values at\r\n * index [0, 1] or [n - 1, n] are used for the interpolation.\r\n */\r\nfunction interpolate$1(table, skey, sval, tkey) {\r\n\tvar range = lookup(table, skey, sval);\r\n\r\n\t// Note: the lookup table ALWAYS contains at least 2 items (min and max)\r\n\tvar prev = !range.lo ? table[0] : !range.hi ? table[table.length - 2] : range.lo;\r\n\tvar next = !range.lo ? table[1] : !range.hi ? table[table.length - 1] : range.hi;\r\n\r\n\tvar span = next[skey] - prev[skey];\r\n\tvar ratio = span ? (sval - prev[skey]) / span : 0;\r\n\tvar offset = (next[tkey] - prev[tkey]) * ratio;\r\n\r\n\treturn prev[tkey] + offset;\r\n}\r\n\r\nfunction toTimestamp(scale, input) {\r\n\tvar adapter = scale._adapter;\r\n\tvar options = scale.options.time;\r\n\tvar parser = options.parser;\r\n\tvar format = parser || options.format;\r\n\tvar value = input;\r\n\r\n\tif (typeof parser === 'function') {\r\n\t\tvalue = parser(value);\r\n\t}\r\n\r\n\t// Only parse if its not a timestamp already\r\n\tif (!helpers$1.isFinite(value)) {\r\n\t\tvalue = typeof format === 'string'\r\n\t\t\t? adapter.parse(value, format)\r\n\t\t\t: adapter.parse(value);\r\n\t}\r\n\r\n\tif (value !== null) {\r\n\t\treturn +value;\r\n\t}\r\n\r\n\t// Labels are in an incompatible format and no `parser` has been provided.\r\n\t// The user might still use the deprecated `format` option for parsing.\r\n\tif (!parser && typeof format === 'function') {\r\n\t\tvalue = format(input);\r\n\r\n\t\t// `format` could return something else than a timestamp, if so, parse it\r\n\t\tif (!helpers$1.isFinite(value)) {\r\n\t\t\tvalue = adapter.parse(value);\r\n\t\t}\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\nfunction parse(scale, input) {\r\n\tif (helpers$1.isNullOrUndef(input)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar options = scale.options.time;\r\n\tvar value = toTimestamp(scale, scale.getRightValue(input));\r\n\tif (value === null) {\r\n\t\treturn value;\r\n\t}\r\n\r\n\tif (options.round) {\r\n\t\tvalue = +scale._adapter.startOf(value, options.round);\r\n\t}\r\n\r\n\treturn value;\r\n}\r\n\r\n/**\r\n * Figures out what unit results in an appropriate number of auto-generated ticks\r\n */\r\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\r\n\tvar ilen = UNITS.length;\r\n\tvar i, interval, factor;\r\n\r\n\tfor (i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\r\n\t\tinterval = INTERVALS[UNITS[i]];\r\n\t\tfactor = interval.steps ? interval.steps : MAX_INTEGER;\r\n\r\n\t\tif (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[ilen - 1];\r\n}\r\n\r\n/**\r\n * Figures out what unit to format a set of ticks with\r\n */\r\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\r\n\tvar i, unit;\r\n\r\n\tfor (i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\r\n\t\tunit = UNITS[i];\r\n\t\tif (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\r\n\t\t\treturn unit;\r\n\t\t}\r\n\t}\r\n\r\n\treturn UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\r\n}\r\n\r\nfunction determineMajorUnit(unit) {\r\n\tfor (var i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\r\n\t\tif (INTERVALS[UNITS[i]].common) {\r\n\t\t\treturn UNITS[i];\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Generates a maximum of `capacity` timestamps between min and max, rounded to the\r\n * `minor` unit using the given scale time `options`.\r\n * Important: this method can return ticks outside the min and max range, it's the\r\n * responsibility of the calling code to clamp values if needed.\r\n */\r\nfunction generate(scale, min, max, capacity) {\r\n\tvar adapter = scale._adapter;\r\n\tvar options = scale.options;\r\n\tvar timeOpts = options.time;\r\n\tvar minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, capacity);\r\n\tvar stepSize = resolve$5([timeOpts.stepSize, timeOpts.unitStepSize, 1]);\r\n\tvar weekday = minor === 'week' ? timeOpts.isoWeekday : false;\r\n\tvar first = min;\r\n\tvar ticks = [];\r\n\tvar time;\r\n\r\n\t// For 'week' unit, handle the first day of week option\r\n\tif (weekday) {\r\n\t\tfirst = +adapter.startOf(first, 'isoWeek', weekday);\r\n\t}\r\n\r\n\t// Align first ticks on unit\r\n\tfirst = +adapter.startOf(first, weekday ? 'day' : minor);\r\n\r\n\t// Prevent browser from freezing in case user options request millions of milliseconds\r\n\tif (adapter.diff(max, min, minor) > 100000 * stepSize) {\r\n\t\tthrow min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor;\r\n\t}\r\n\r\n\tfor (time = first; time < max; time = +adapter.add(time, stepSize, minor)) {\r\n\t\tticks.push(time);\r\n\t}\r\n\r\n\tif (time === max || options.bounds === 'ticks') {\r\n\t\tticks.push(time);\r\n\t}\r\n\r\n\treturn ticks;\r\n}\r\n\r\n/**\r\n * Returns the start and end offsets from edges in the form of {start, end}\r\n * where each value is a relative width to the scale and ranges between 0 and 1.\r\n * They add extra margins on the both sides by scaling down the original scale.\r\n * Offsets are added when the `offset` option is true.\r\n */\r\nfunction computeOffsets(table, ticks, min, max, options) {\r\n\tvar start = 0;\r\n\tvar end = 0;\r\n\tvar first, last;\r\n\r\n\tif (options.offset && ticks.length) {\r\n\t\tfirst = interpolate$1(table, 'time', ticks[0], 'pos');\r\n\t\tif (ticks.length === 1) {\r\n\t\t\tstart = 1 - first;\r\n\t\t} else {\r\n\t\t\tstart = (interpolate$1(table, 'time', ticks[1], 'pos') - first) / 2;\r\n\t\t}\r\n\t\tlast = interpolate$1(table, 'time', ticks[ticks.length - 1], 'pos');\r\n\t\tif (ticks.length === 1) {\r\n\t\t\tend = last;\r\n\t\t} else {\r\n\t\t\tend = (last - interpolate$1(table, 'time', ticks[ticks.length - 2], 'pos')) / 2;\r\n\t\t}\r\n\t}\r\n\r\n\treturn {start: start, end: end, factor: 1 / (start + 1 + end)};\r\n}\r\n\r\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\r\n\tvar adapter = scale._adapter;\r\n\tvar first = +adapter.startOf(ticks[0].value, majorUnit);\r\n\tvar last = ticks[ticks.length - 1].value;\r\n\tvar major, index;\r\n\r\n\tfor (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\r\n\t\tindex = map[major];\r\n\t\tif (index >= 0) {\r\n\t\t\tticks[index].major = true;\r\n\t\t}\r\n\t}\r\n\treturn ticks;\r\n}\r\n\r\nfunction ticksFromTimestamps(scale, values, majorUnit) {\r\n\tvar ticks = [];\r\n\tvar map = {};\r\n\tvar ilen = values.length;\r\n\tvar i, value;\r\n\r\n\tfor (i = 0; i < ilen; ++i) {\r\n\t\tvalue = values[i];\r\n\t\tmap[value] = i;\r\n\r\n\t\tticks.push({\r\n\t\t\tvalue: value,\r\n\t\t\tmajor: false\r\n\t\t});\r\n\t}\r\n\r\n\t// We set the major ticks separately from the above loop because calling startOf for every tick\r\n\t// is expensive when there is a large number of ticks\r\n\treturn (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\r\n}\r\n\r\nvar defaultConfig$4 = {\r\n\tposition: 'bottom',\r\n\r\n\t/**\r\n\t * Data distribution along the scale:\r\n\t * - 'linear': data are spread according to their time (distances can vary),\r\n\t * - 'series': data are spread at the same distance from each other.\r\n\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t * @since 2.7.0\r\n\t */\r\n\tdistribution: 'linear',\r\n\r\n\t/**\r\n\t * Scale boundary strategy (bypassed by min/max time options)\r\n\t * - `data`: make sure data are fully visible, ticks outside are removed\r\n\t * - `ticks`: make sure ticks are fully visible, data outside are truncated\r\n\t * @see https://github.com/chartjs/Chart.js/pull/4556\r\n\t * @since 2.7.0\r\n\t */\r\n\tbounds: 'data',\r\n\r\n\tadapters: {},\r\n\ttime: {\r\n\t\tparser: false, // false == a pattern string from https://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment\r\n\t\tunit: false, // false == automatic or override with week, month, year, etc.\r\n\t\tround: false, // none, or override with week, month, year, etc.\r\n\t\tdisplayFormat: false, // DEPRECATED\r\n\t\tisoWeekday: false, // override week start day - see https://momentjs.com/docs/#/get-set/iso-weekday/\r\n\t\tminUnit: 'millisecond',\r\n\t\tdisplayFormats: {}\r\n\t},\r\n\tticks: {\r\n\t\tautoSkip: false,\r\n\r\n\t\t/**\r\n\t\t * Ticks generation input values:\r\n\t\t * - 'auto': generates \"optimal\" ticks based on scale size and time options.\r\n\t\t * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\r\n\t\t * - 'labels': generates ticks from user given `data.labels` values ONLY.\r\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\r\n\t\t * @since 2.7.0\r\n\t\t */\r\n\t\tsource: 'auto',\r\n\r\n\t\tmajor: {\r\n\t\t\tenabled: false\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar scale_time = core_scale.extend({\r\n\tinitialize: function() {\r\n\t\tthis.mergeTicksOptions();\r\n\t\tcore_scale.prototype.initialize.call(this);\r\n\t},\r\n\r\n\tupdate: function() {\r\n\t\tvar me = this;\r\n\t\tvar options = me.options;\r\n\t\tvar time = options.time || (options.time = {});\r\n\t\tvar adapter = me._adapter = new core_adapters._date(options.adapters.date);\r\n\r\n\t\t// DEPRECATIONS: output a message only one time per update\r\n\t\tdeprecated$1('time scale', time.format, 'time.format', 'time.parser');\r\n\t\tdeprecated$1('time scale', time.min, 'time.min', 'ticks.min');\r\n\t\tdeprecated$1('time scale', time.max, 'time.max', 'ticks.max');\r\n\r\n\t\t// Backward compatibility: before introducing adapter, `displayFormats` was\r\n\t\t// supposed to contain *all* unit/string pairs but this can't be resolved\r\n\t\t// when loading the scale (adapters are loaded afterward), so let's populate\r\n\t\t// missing formats on update\r\n\t\thelpers$1.mergeIf(time.displayFormats, adapter.formats());\r\n\r\n\t\treturn core_scale.prototype.update.apply(me, arguments);\r\n\t},\r\n\r\n\t/**\r\n\t * Allows data to be referenced via 't' attribute\r\n\t */\r\n\tgetRightValue: function(rawValue) {\r\n\t\tif (rawValue && rawValue.t !== undefined) {\r\n\t\t\trawValue = rawValue.t;\r\n\t\t}\r\n\t\treturn core_scale.prototype.getRightValue.call(this, rawValue);\r\n\t},\r\n\r\n\tdetermineDataLimits: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar options = me.options;\r\n\t\tvar unit = options.time.unit || 'day';\r\n\t\tvar min = MAX_INTEGER;\r\n\t\tvar max = MIN_INTEGER;\r\n\t\tvar timestamps = [];\r\n\t\tvar datasets = [];\r\n\t\tvar labels = [];\r\n\t\tvar i, j, ilen, jlen, data, timestamp, labelsAdded;\r\n\t\tvar dataLabels = me._getLabels();\r\n\r\n\t\tfor (i = 0, ilen = dataLabels.length; i < ilen; ++i) {\r\n\t\t\tlabels.push(parse(me, dataLabels[i]));\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\tdata = chart.data.datasets[i].data;\r\n\r\n\t\t\t\t// Let's consider that all data have the same format.\r\n\t\t\t\tif (helpers$1.isObject(data[0])) {\r\n\t\t\t\t\tdatasets[i] = [];\r\n\r\n\t\t\t\t\tfor (j = 0, jlen = data.length; j < jlen; ++j) {\r\n\t\t\t\t\t\ttimestamp = parse(me, data[j]);\r\n\t\t\t\t\t\ttimestamps.push(timestamp);\r\n\t\t\t\t\t\tdatasets[i][j] = timestamp;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdatasets[i] = labels.slice(0);\r\n\t\t\t\t\tif (!labelsAdded) {\r\n\t\t\t\t\t\ttimestamps = timestamps.concat(labels);\r\n\t\t\t\t\t\tlabelsAdded = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tdatasets[i] = [];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (labels.length) {\r\n\t\t\tmin = Math.min(min, labels[0]);\r\n\t\t\tmax = Math.max(max, labels[labels.length - 1]);\r\n\t\t}\r\n\r\n\t\tif (timestamps.length) {\r\n\t\t\ttimestamps = ilen > 1 ? arrayUnique(timestamps).sort(sorter) : timestamps.sort(sorter);\r\n\t\t\tmin = Math.min(min, timestamps[0]);\r\n\t\t\tmax = Math.max(max, timestamps[timestamps.length - 1]);\r\n\t\t}\r\n\r\n\t\tmin = parse(me, getMin(options)) || min;\r\n\t\tmax = parse(me, getMax(options)) || max;\r\n\r\n\t\t// In case there is no valid min/max, set limits based on unit time option\r\n\t\tmin = min === MAX_INTEGER ? +adapter.startOf(Date.now(), unit) : min;\r\n\t\tmax = max === MIN_INTEGER ? +adapter.endOf(Date.now(), unit) + 1 : max;\r\n\r\n\t\t// Make sure that max is strictly higher than min (required by the lookup table)\r\n\t\tme.min = Math.min(min, max);\r\n\t\tme.max = Math.max(min + 1, max);\r\n\r\n\t\t// PRIVATE\r\n\t\tme._table = [];\r\n\t\tme._timestamps = {\r\n\t\t\tdata: timestamps,\r\n\t\t\tdatasets: datasets,\r\n\t\t\tlabels: labels\r\n\t\t};\r\n\t},\r\n\r\n\tbuildTicks: function() {\r\n\t\tvar me = this;\r\n\t\tvar min = me.min;\r\n\t\tvar max = me.max;\r\n\t\tvar options = me.options;\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar timeOpts = options.time;\r\n\t\tvar timestamps = me._timestamps;\r\n\t\tvar ticks = [];\r\n\t\tvar capacity = me.getLabelCapacity(min);\r\n\t\tvar source = tickOpts.source;\r\n\t\tvar distribution = options.distribution;\r\n\t\tvar i, ilen, timestamp;\r\n\r\n\t\tif (source === 'data' || (source === 'auto' && distribution === 'series')) {\r\n\t\t\ttimestamps = timestamps.data;\r\n\t\t} else if (source === 'labels') {\r\n\t\t\ttimestamps = timestamps.labels;\r\n\t\t} else {\r\n\t\t\ttimestamps = generate(me, min, max, capacity);\r\n\t\t}\r\n\r\n\t\tif (options.bounds === 'ticks' && timestamps.length) {\r\n\t\t\tmin = timestamps[0];\r\n\t\t\tmax = timestamps[timestamps.length - 1];\r\n\t\t}\r\n\r\n\t\t// Enforce limits with user min/max options\r\n\t\tmin = parse(me, getMin(options)) || min;\r\n\t\tmax = parse(me, getMax(options)) || max;\r\n\r\n\t\t// Remove ticks outside the min/max range\r\n\t\tfor (i = 0, ilen = timestamps.length; i < ilen; ++i) {\r\n\t\t\ttimestamp = timestamps[i];\r\n\t\t\tif (timestamp >= min && timestamp <= max) {\r\n\t\t\t\tticks.push(timestamp);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tme.min = min;\r\n\t\tme.max = max;\r\n\r\n\t\t// PRIVATE\r\n\t\t// determineUnitForFormatting relies on the number of ticks so we don't use it when\r\n\t\t// autoSkip is enabled because we don't yet know what the final number of ticks will be\r\n\t\tme._unit = timeOpts.unit || (tickOpts.autoSkip\r\n\t\t\t? determineUnitForAutoTicks(timeOpts.minUnit, me.min, me.max, capacity)\r\n\t\t\t: determineUnitForFormatting(me, ticks.length, timeOpts.minUnit, me.min, me.max));\r\n\t\tme._majorUnit = !tickOpts.major.enabled || me._unit === 'year' ? undefined\r\n\t\t\t: determineMajorUnit(me._unit);\r\n\t\tme._table = buildLookupTable(me._timestamps.data, min, max, distribution);\r\n\t\tme._offsets = computeOffsets(me._table, ticks, min, max, options);\r\n\r\n\t\tif (tickOpts.reverse) {\r\n\t\t\tticks.reverse();\r\n\t\t}\r\n\r\n\t\treturn ticksFromTimestamps(me, ticks, me._majorUnit);\r\n\t},\r\n\r\n\tgetLabelForIndex: function(index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar data = me.chart.data;\r\n\t\tvar timeOpts = me.options.time;\r\n\t\tvar label = data.labels && index < data.labels.length ? data.labels[index] : '';\r\n\t\tvar value = data.datasets[datasetIndex].data[index];\r\n\r\n\t\tif (helpers$1.isObject(value)) {\r\n\t\t\tlabel = me.getRightValue(value);\r\n\t\t}\r\n\t\tif (timeOpts.tooltipFormat) {\r\n\t\t\treturn adapter.format(toTimestamp(me, label), timeOpts.tooltipFormat);\r\n\t\t}\r\n\t\tif (typeof label === 'string') {\r\n\t\t\treturn label;\r\n\t\t}\r\n\t\treturn adapter.format(toTimestamp(me, label), timeOpts.displayFormats.datetime);\r\n\t},\r\n\r\n\t/**\r\n\t * Function to format an individual tick mark\r\n\t * @private\r\n\t */\r\n\ttickFormatFunction: function(time, index, ticks, format) {\r\n\t\tvar me = this;\r\n\t\tvar adapter = me._adapter;\r\n\t\tvar options = me.options;\r\n\t\tvar formats = options.time.displayFormats;\r\n\t\tvar minorFormat = formats[me._unit];\r\n\t\tvar majorUnit = me._majorUnit;\r\n\t\tvar majorFormat = formats[majorUnit];\r\n\t\tvar tick = ticks[index];\r\n\t\tvar tickOpts = options.ticks;\r\n\t\tvar major = majorUnit && majorFormat && tick && tick.major;\r\n\t\tvar label = adapter.format(time, format ? format : major ? majorFormat : minorFormat);\r\n\t\tvar nestedTickOpts = major ? tickOpts.major : tickOpts.minor;\r\n\t\tvar formatter = resolve$5([\r\n\t\t\tnestedTickOpts.callback,\r\n\t\t\tnestedTickOpts.userCallback,\r\n\t\t\ttickOpts.callback,\r\n\t\t\ttickOpts.userCallback\r\n\t\t]);\r\n\r\n\t\treturn formatter ? formatter(label, index, ticks) : label;\r\n\t},\r\n\r\n\tconvertTicksToLabels: function(ticks) {\r\n\t\tvar labels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = ticks.length; i < ilen; ++i) {\r\n\t\t\tlabels.push(this.tickFormatFunction(ticks[i].value, i, ticks));\r\n\t\t}\r\n\r\n\t\treturn labels;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetPixelForOffset: function(time) {\r\n\t\tvar me = this;\r\n\t\tvar offsets = me._offsets;\r\n\t\tvar pos = interpolate$1(me._table, 'time', time, 'pos');\r\n\t\treturn me.getPixelForDecimal((offsets.start + pos) * offsets.factor);\r\n\t},\r\n\r\n\tgetPixelForValue: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar time = null;\r\n\r\n\t\tif (index !== undefined && datasetIndex !== undefined) {\r\n\t\t\ttime = me._timestamps.datasets[datasetIndex][index];\r\n\t\t}\r\n\r\n\t\tif (time === null) {\r\n\t\t\ttime = parse(me, value);\r\n\t\t}\r\n\r\n\t\tif (time !== null) {\r\n\t\t\treturn me.getPixelForOffset(time);\r\n\t\t}\r\n\t},\r\n\r\n\tgetPixelForTick: function(index) {\r\n\t\tvar ticks = this.getTicks();\r\n\t\treturn index >= 0 && index < ticks.length ?\r\n\t\t\tthis.getPixelForOffset(ticks[index].value) :\r\n\t\t\tnull;\r\n\t},\r\n\r\n\tgetValueForPixel: function(pixel) {\r\n\t\tvar me = this;\r\n\t\tvar offsets = me._offsets;\r\n\t\tvar pos = me.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\r\n\t\tvar time = interpolate$1(me._table, 'pos', pos, 'time');\r\n\r\n\t\t// DEPRECATION, we should return time directly\r\n\t\treturn me._adapter._create(time);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLabelSize: function(label) {\r\n\t\tvar me = this;\r\n\t\tvar ticksOpts = me.options.ticks;\r\n\t\tvar tickLabelWidth = me.ctx.measureText(label).width;\r\n\t\tvar angle = helpers$1.toRadians(me.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\r\n\t\tvar cosRotation = Math.cos(angle);\r\n\t\tvar sinRotation = Math.sin(angle);\r\n\t\tvar tickFontSize = valueOrDefault$d(ticksOpts.fontSize, core_defaults.global.defaultFontSize);\r\n\r\n\t\treturn {\r\n\t\t\tw: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\r\n\t\t\th: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Crude approximation of what the label width might be\r\n\t * @private\r\n\t */\r\n\tgetLabelWidth: function(label) {\r\n\t\treturn this._getLabelSize(label).w;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetLabelCapacity: function(exampleTime) {\r\n\t\tvar me = this;\r\n\t\tvar timeOpts = me.options.time;\r\n\t\tvar displayFormats = timeOpts.displayFormats;\r\n\r\n\t\t// pick the longest format (milliseconds) for guestimation\r\n\t\tvar format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\r\n\t\tvar exampleLabel = me.tickFormatFunction(exampleTime, 0, ticksFromTimestamps(me, [exampleTime], me._majorUnit), format);\r\n\t\tvar size = me._getLabelSize(exampleLabel);\r\n\t\tvar capacity = Math.floor(me.isHorizontal() ? me.width / size.w : me.height / size.h);\r\n\r\n\t\tif (me.options.offset) {\r\n\t\t\tcapacity--;\r\n\t\t}\r\n\r\n\t\treturn capacity > 0 ? capacity : 1;\r\n\t}\r\n});\r\n\r\n// INTERNAL: static default options, registered in src/index.js\r\nvar _defaults$4 = defaultConfig$4;\nscale_time._defaults = _defaults$4;\n\nvar scales = {\r\n\tcategory: scale_category,\r\n\tlinear: scale_linear,\r\n\tlogarithmic: scale_logarithmic,\r\n\tradialLinear: scale_radialLinear,\r\n\ttime: scale_time\r\n};\n\nvar FORMATS = {\r\n\tdatetime: 'MMM D, YYYY, h:mm:ss a',\r\n\tmillisecond: 'h:mm:ss.SSS a',\r\n\tsecond: 'h:mm:ss a',\r\n\tminute: 'h:mm a',\r\n\thour: 'hA',\r\n\tday: 'MMM D',\r\n\tweek: 'll',\r\n\tmonth: 'MMM YYYY',\r\n\tquarter: '[Q]Q - YYYY',\r\n\tyear: 'YYYY'\r\n};\r\n\r\ncore_adapters._date.override(typeof moment === 'function' ? {\r\n\t_id: 'moment', // DEBUG ONLY\r\n\r\n\tformats: function() {\r\n\t\treturn FORMATS;\r\n\t},\r\n\r\n\tparse: function(value, format) {\r\n\t\tif (typeof value === 'string' && typeof format === 'string') {\r\n\t\t\tvalue = moment(value, format);\r\n\t\t} else if (!(value instanceof moment)) {\r\n\t\t\tvalue = moment(value);\r\n\t\t}\r\n\t\treturn value.isValid() ? value.valueOf() : null;\r\n\t},\r\n\r\n\tformat: function(time, format) {\r\n\t\treturn moment(time).format(format);\r\n\t},\r\n\r\n\tadd: function(time, amount, unit) {\r\n\t\treturn moment(time).add(amount, unit).valueOf();\r\n\t},\r\n\r\n\tdiff: function(max, min, unit) {\r\n\t\treturn moment(max).diff(moment(min), unit);\r\n\t},\r\n\r\n\tstartOf: function(time, unit, weekday) {\r\n\t\ttime = moment(time);\r\n\t\tif (unit === 'isoWeek') {\r\n\t\t\treturn time.isoWeekday(weekday).valueOf();\r\n\t\t}\r\n\t\treturn time.startOf(unit).valueOf();\r\n\t},\r\n\r\n\tendOf: function(time, unit) {\r\n\t\treturn moment(time).endOf(unit).valueOf();\r\n\t},\r\n\r\n\t// DEPRECATIONS\r\n\r\n\t/**\r\n\t * Provided for backward compatibility with scale.getValueForPixel().\r\n\t * @deprecated since version 2.8.0\r\n\t * @todo remove at version 3\r\n\t * @private\r\n\t */\r\n\t_create: function(time) {\r\n\t\treturn moment(time);\r\n\t},\r\n} : {});\n\ncore_defaults._set('global', {\r\n\tplugins: {\r\n\t\tfiller: {\r\n\t\t\tpropagate: true\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar mappers = {\r\n\tdataset: function(source) {\r\n\t\tvar index = source.fill;\r\n\t\tvar chart = source.chart;\r\n\t\tvar meta = chart.getDatasetMeta(index);\r\n\t\tvar visible = meta && chart.isDatasetVisible(index);\r\n\t\tvar points = (visible && meta.dataset._children) || [];\r\n\t\tvar length = points.length || 0;\r\n\r\n\t\treturn !length ? null : function(point, i) {\r\n\t\t\treturn (i < length && points[i]._view) || null;\r\n\t\t};\r\n\t},\r\n\r\n\tboundary: function(source) {\r\n\t\tvar boundary = source.boundary;\r\n\t\tvar x = boundary ? boundary.x : null;\r\n\t\tvar y = boundary ? boundary.y : null;\r\n\r\n\t\tif (helpers$1.isArray(boundary)) {\r\n\t\t\treturn function(point, i) {\r\n\t\t\t\treturn boundary[i];\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn function(point) {\r\n\t\t\treturn {\r\n\t\t\t\tx: x === null ? point.x : x,\r\n\t\t\t\ty: y === null ? point.y : y,\r\n\t\t\t};\r\n\t\t};\r\n\t}\r\n};\r\n\r\n// @todo if (fill[0] === '#')\r\nfunction decodeFill(el, index, count) {\r\n\tvar model = el._model || {};\r\n\tvar fill = model.fill;\r\n\tvar target;\r\n\r\n\tif (fill === undefined) {\r\n\t\tfill = !!model.backgroundColor;\r\n\t}\r\n\r\n\tif (fill === false || fill === null) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (fill === true) {\r\n\t\treturn 'origin';\r\n\t}\r\n\r\n\ttarget = parseFloat(fill, 10);\r\n\tif (isFinite(target) && Math.floor(target) === target) {\r\n\t\tif (fill[0] === '-' || fill[0] === '+') {\r\n\t\t\ttarget = index + target;\r\n\t\t}\r\n\r\n\t\tif (target === index || target < 0 || target >= count) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t}\r\n\r\n\tswitch (fill) {\r\n\t// compatibility\r\n\tcase 'bottom':\r\n\t\treturn 'start';\r\n\tcase 'top':\r\n\t\treturn 'end';\r\n\tcase 'zero':\r\n\t\treturn 'origin';\r\n\t// supported boundaries\r\n\tcase 'origin':\r\n\tcase 'start':\r\n\tcase 'end':\r\n\t\treturn fill;\r\n\t// invalid fill values\r\n\tdefault:\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nfunction computeLinearBoundary(source) {\r\n\tvar model = source.el._model || {};\r\n\tvar scale = source.el._scale || {};\r\n\tvar fill = source.fill;\r\n\tvar target = null;\r\n\tvar horizontal;\r\n\r\n\tif (isFinite(fill)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\t// Backward compatibility: until v3, we still need to support boundary values set on\r\n\t// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and\r\n\t// controllers might still use it (e.g. the Smith chart).\r\n\r\n\tif (fill === 'start') {\r\n\t\ttarget = model.scaleBottom === undefined ? scale.bottom : model.scaleBottom;\r\n\t} else if (fill === 'end') {\r\n\t\ttarget = model.scaleTop === undefined ? scale.top : model.scaleTop;\r\n\t} else if (model.scaleZero !== undefined) {\r\n\t\ttarget = model.scaleZero;\r\n\t} else if (scale.getBasePixel) {\r\n\t\ttarget = scale.getBasePixel();\r\n\t}\r\n\r\n\tif (target !== undefined && target !== null) {\r\n\t\tif (target.x !== undefined && target.y !== undefined) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\tif (helpers$1.isFinite(target)) {\r\n\t\t\thorizontal = scale.isHorizontal();\r\n\t\t\treturn {\r\n\t\t\t\tx: horizontal ? target : null,\r\n\t\t\t\ty: horizontal ? null : target\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\treturn null;\r\n}\r\n\r\nfunction computeCircularBoundary(source) {\r\n\tvar scale = source.el._scale;\r\n\tvar options = scale.options;\r\n\tvar length = scale.chart.data.labels.length;\r\n\tvar fill = source.fill;\r\n\tvar target = [];\r\n\tvar start, end, center, i, point;\r\n\r\n\tif (!length) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tstart = options.ticks.reverse ? scale.max : scale.min;\r\n\tend = options.ticks.reverse ? scale.min : scale.max;\r\n\tcenter = scale.getPointPositionForValue(0, start);\r\n\tfor (i = 0; i < length; ++i) {\r\n\t\tpoint = fill === 'start' || fill === 'end'\r\n\t\t\t? scale.getPointPositionForValue(i, fill === 'start' ? start : end)\r\n\t\t\t: scale.getBasePosition(i);\r\n\t\tif (options.gridLines.circular) {\r\n\t\t\tpoint.cx = center.x;\r\n\t\t\tpoint.cy = center.y;\r\n\t\t\tpoint.angle = scale.getIndexAngle(i) - Math.PI / 2;\r\n\t\t}\r\n\t\ttarget.push(point);\r\n\t}\r\n\treturn target;\r\n}\r\n\r\nfunction computeBoundary(source) {\r\n\tvar scale = source.el._scale || {};\r\n\r\n\tif (scale.getPointPositionForValue) {\r\n\t\treturn computeCircularBoundary(source);\r\n\t}\r\n\treturn computeLinearBoundary(source);\r\n}\r\n\r\nfunction resolveTarget(sources, index, propagate) {\r\n\tvar source = sources[index];\r\n\tvar fill = source.fill;\r\n\tvar visited = [index];\r\n\tvar target;\r\n\r\n\tif (!propagate) {\r\n\t\treturn fill;\r\n\t}\r\n\r\n\twhile (fill !== false && visited.indexOf(fill) === -1) {\r\n\t\tif (!isFinite(fill)) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\ttarget = sources[fill];\r\n\t\tif (!target) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (target.visible) {\r\n\t\t\treturn fill;\r\n\t\t}\r\n\r\n\t\tvisited.push(fill);\r\n\t\tfill = target.fill;\r\n\t}\r\n\r\n\treturn false;\r\n}\r\n\r\nfunction createMapper(source) {\r\n\tvar fill = source.fill;\r\n\tvar type = 'dataset';\r\n\r\n\tif (fill === false) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tif (!isFinite(fill)) {\r\n\t\ttype = 'boundary';\r\n\t}\r\n\r\n\treturn mappers[type](source);\r\n}\r\n\r\nfunction isDrawable(point) {\r\n\treturn point && !point.skip;\r\n}\r\n\r\nfunction drawArea(ctx, curve0, curve1, len0, len1) {\r\n\tvar i, cx, cy, r;\r\n\r\n\tif (!len0 || !len1) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// building first area curve (normal)\r\n\tctx.moveTo(curve0[0].x, curve0[0].y);\r\n\tfor (i = 1; i < len0; ++i) {\r\n\t\thelpers$1.canvas.lineTo(ctx, curve0[i - 1], curve0[i]);\r\n\t}\r\n\r\n\tif (curve1[0].angle !== undefined) {\r\n\t\tcx = curve1[0].cx;\r\n\t\tcy = curve1[0].cy;\r\n\t\tr = Math.sqrt(Math.pow(curve1[0].x - cx, 2) + Math.pow(curve1[0].y - cy, 2));\r\n\t\tfor (i = len1 - 1; i > 0; --i) {\r\n\t\t\tctx.arc(cx, cy, r, curve1[i].angle, curve1[i - 1].angle, true);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\t// joining the two area curves\r\n\tctx.lineTo(curve1[len1 - 1].x, curve1[len1 - 1].y);\r\n\r\n\t// building opposite area curve (reverse)\r\n\tfor (i = len1 - 1; i > 0; --i) {\r\n\t\thelpers$1.canvas.lineTo(ctx, curve1[i], curve1[i - 1], true);\r\n\t}\r\n}\r\n\r\nfunction doFill(ctx, points, mapper, view, color, loop) {\r\n\tvar count = points.length;\r\n\tvar span = view.spanGaps;\r\n\tvar curve0 = [];\r\n\tvar curve1 = [];\r\n\tvar len0 = 0;\r\n\tvar len1 = 0;\r\n\tvar i, ilen, index, p0, p1, d0, d1, loopOffset;\r\n\r\n\tctx.beginPath();\r\n\r\n\tfor (i = 0, ilen = count; i < ilen; ++i) {\r\n\t\tindex = i % count;\r\n\t\tp0 = points[index]._view;\r\n\t\tp1 = mapper(p0, index, view);\r\n\t\td0 = isDrawable(p0);\r\n\t\td1 = isDrawable(p1);\r\n\r\n\t\tif (loop && loopOffset === undefined && d0) {\r\n\t\t\tloopOffset = i + 1;\r\n\t\t\tilen = count + loopOffset;\r\n\t\t}\r\n\r\n\t\tif (d0 && d1) {\r\n\t\t\tlen0 = curve0.push(p0);\r\n\t\t\tlen1 = curve1.push(p1);\r\n\t\t} else if (len0 && len1) {\r\n\t\t\tif (!span) {\r\n\t\t\t\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\t\t\t\tlen0 = len1 = 0;\r\n\t\t\t\tcurve0 = [];\r\n\t\t\t\tcurve1 = [];\r\n\t\t\t} else {\r\n\t\t\t\tif (d0) {\r\n\t\t\t\t\tcurve0.push(p0);\r\n\t\t\t\t}\r\n\t\t\t\tif (d1) {\r\n\t\t\t\t\tcurve1.push(p1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tdrawArea(ctx, curve0, curve1, len0, len1);\r\n\r\n\tctx.closePath();\r\n\tctx.fillStyle = color;\r\n\tctx.fill();\r\n}\r\n\r\nvar plugin_filler = {\r\n\tid: 'filler',\r\n\r\n\tafterDatasetsUpdate: function(chart, options) {\r\n\t\tvar count = (chart.data.datasets || []).length;\r\n\t\tvar propagate = options.propagate;\r\n\t\tvar sources = [];\r\n\t\tvar meta, i, el, source;\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\tel = meta.dataset;\r\n\t\t\tsource = null;\r\n\r\n\t\t\tif (el && el._model && el instanceof elements.Line) {\r\n\t\t\t\tsource = {\r\n\t\t\t\t\tvisible: chart.isDatasetVisible(i),\r\n\t\t\t\t\tfill: decodeFill(el, i, count),\r\n\t\t\t\t\tchart: chart,\r\n\t\t\t\t\tel: el\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tmeta.$filler = source;\r\n\t\t\tsources.push(source);\r\n\t\t}\r\n\r\n\t\tfor (i = 0; i < count; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!source) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tsource.fill = resolveTarget(sources, i, propagate);\r\n\t\t\tsource.boundary = computeBoundary(source);\r\n\t\t\tsource.mapper = createMapper(source);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeDatasetsDraw: function(chart) {\r\n\t\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\t\tvar ctx = chart.ctx;\r\n\t\tvar meta, i, el, view, points, mapper, color;\r\n\r\n\t\tfor (i = metasets.length - 1; i >= 0; --i) {\r\n\t\t\tmeta = metasets[i].$filler;\r\n\r\n\t\t\tif (!meta || !meta.visible) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tel = meta.el;\r\n\t\t\tview = el._view;\r\n\t\t\tpoints = el._children || [];\r\n\t\t\tmapper = meta.mapper;\r\n\t\t\tcolor = view.backgroundColor || core_defaults.global.defaultColor;\r\n\r\n\t\t\tif (mapper && color && points.length) {\r\n\t\t\t\thelpers$1.canvas.clipArea(ctx, chart.chartArea);\r\n\t\t\t\tdoFill(ctx, points, mapper, view, color, el._loop);\r\n\t\t\t\thelpers$1.canvas.unclipArea(ctx);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar getRtlHelper$1 = helpers$1.rtl.getRtlAdapter;\r\nvar noop$1 = helpers$1.noop;\r\nvar valueOrDefault$e = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('global', {\r\n\tlegend: {\r\n\t\tdisplay: true,\r\n\t\tposition: 'top',\r\n\t\talign: 'center',\r\n\t\tfullWidth: true,\r\n\t\treverse: false,\r\n\t\tweight: 1000,\r\n\r\n\t\t// a callback that will handle\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.datasetIndex;\r\n\t\t\tvar ci = this.chart;\r\n\t\t\tvar meta = ci.getDatasetMeta(index);\r\n\r\n\t\t\t// See controller.isDatasetVisible comment\r\n\t\t\tmeta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;\r\n\r\n\t\t\t// We hid a dataset ... rerender the chart\r\n\t\t\tci.update();\r\n\t\t},\r\n\r\n\t\tonHover: null,\r\n\t\tonLeave: null,\r\n\r\n\t\tlabels: {\r\n\t\t\tboxWidth: 40,\r\n\t\t\tpadding: 10,\r\n\t\t\t// Generates labels shown in the legend\r\n\t\t\t// Valid properties to return:\r\n\t\t\t// text : text to display\r\n\t\t\t// fillStyle : fill of coloured box\r\n\t\t\t// strokeStyle: stroke of coloured box\r\n\t\t\t// hidden : if this legend item refers to a hidden item\r\n\t\t\t// lineCap : cap style for line\r\n\t\t\t// lineDash\r\n\t\t\t// lineDashOffset :\r\n\t\t\t// lineJoin :\r\n\t\t\t// lineWidth :\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar datasets = chart.data.datasets;\r\n\t\t\t\tvar options = chart.options.legend || {};\r\n\t\t\t\tvar usePointStyle = options.labels && options.labels.usePointStyle;\r\n\r\n\t\t\t\treturn chart._getSortedDatasetMetas().map(function(meta) {\r\n\t\t\t\t\tvar style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\ttext: datasets[meta.index].label,\r\n\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\thidden: !chart.isDatasetVisible(meta.index),\r\n\t\t\t\t\t\tlineCap: style.borderCapStyle,\r\n\t\t\t\t\t\tlineDash: style.borderDash,\r\n\t\t\t\t\t\tlineDashOffset: style.borderDashOffset,\r\n\t\t\t\t\t\tlineJoin: style.borderJoinStyle,\r\n\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\tpointStyle: style.pointStyle,\r\n\t\t\t\t\t\trotation: style.rotation,\r\n\r\n\t\t\t\t\t\t// Below is extra data used for toggling the datasets\r\n\t\t\t\t\t\tdatasetIndex: meta.index\r\n\t\t\t\t\t};\r\n\t\t\t\t}, this);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\r\n\t\tfor (i = 0, ilen = datasets.length; i < ilen; i++) {\r\n\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\tlistItemSpan.style.backgroundColor = datasets[i].backgroundColor;\r\n\t\t\tif (datasets[i].label) {\r\n\t\t\t\tlistItem.appendChild(document.createTextNode(datasets[i].label));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t}\r\n});\r\n\r\n/**\r\n * Helper function to get the box width based on the usePointStyle option\r\n * @param {object} labelopts - the label options on the legend\r\n * @param {number} fontSize - the label font size\r\n * @return {number} width of the color box area\r\n */\r\nfunction getBoxWidth(labelOpts, fontSize) {\r\n\treturn labelOpts.usePointStyle && labelOpts.boxWidth > fontSize ?\r\n\t\tfontSize :\r\n\t\tlabelOpts.boxWidth;\r\n}\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Legend = core_element.extend({\r\n\r\n\tinitialize: function(config) {\r\n\t\tvar me = this;\r\n\t\thelpers$1.extend(me, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tme.legendHitBoxes = [];\r\n\r\n\t\t/**\r\n \t\t * @private\r\n \t\t */\r\n\t\tme._hoveredItem = null;\r\n\r\n\t\t// Are we in doughnut mode which has a different data type\r\n\t\tme.doughnutMode = false;\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\t// Any function defined here is inherited by all legend types.\r\n\t// Any function can be extended by the legend type\r\n\r\n\tbeforeUpdate: noop$1,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\t},\r\n\tafterUpdate: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop$1,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop$1,\r\n\tbuildLabels: function() {\r\n\t\tvar me = this;\r\n\t\tvar labelOpts = me.options.labels || {};\r\n\t\tvar legendItems = helpers$1.callback(labelOpts.generateLabels, [me.chart], me) || [];\r\n\r\n\t\tif (labelOpts.filter) {\r\n\t\t\tlegendItems = legendItems.filter(function(item) {\r\n\t\t\t\treturn labelOpts.filter(item, me.chart.data);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (me.options.reverse) {\r\n\t\t\tlegendItems.reverse();\r\n\t\t}\r\n\r\n\t\tme.legendItems = legendItems;\r\n\t},\r\n\tafterBuildLabels: noop$1,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop$1,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar display = opts.display;\r\n\r\n\t\tvar ctx = me.ctx;\r\n\r\n\t\tvar labelFont = helpers$1.options._parseFont(labelOpts);\r\n\t\tvar fontSize = labelFont.size;\r\n\r\n\t\t// Reset hit boxes\r\n\t\tvar hitboxes = me.legendHitBoxes = [];\r\n\r\n\t\tvar minSize = me.minSize;\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\tminSize.width = me.maxWidth; // fill all the width\r\n\t\t\tminSize.height = display ? 10 : 0;\r\n\t\t} else {\r\n\t\t\tminSize.width = display ? 10 : 0;\r\n\t\t\tminSize.height = me.maxHeight; // fill all the height\r\n\t\t}\r\n\r\n\t\t// Increase sizes here\r\n\t\tif (!display) {\r\n\t\t\tme.width = minSize.width = me.height = minSize.height = 0;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tctx.font = labelFont.string;\r\n\r\n\t\tif (isHorizontal) {\r\n\t\t\t// Labels\r\n\r\n\t\t\t// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\r\n\t\t\tvar lineWidths = me.lineWidths = [0];\r\n\t\t\tvar totalHeight = 0;\r\n\r\n\t\t\tctx.textAlign = 'left';\r\n\t\t\tctx.textBaseline = 'middle';\r\n\r\n\t\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\tvar width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\tif (i === 0 || lineWidths[lineWidths.length - 1] + width + 2 * labelOpts.padding > minSize.width) {\r\n\t\t\t\t\ttotalHeight += fontSize + labelOpts.padding;\r\n\t\t\t\t\tlineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\twidth: width,\r\n\t\t\t\t\theight: fontSize\r\n\t\t\t\t};\r\n\r\n\t\t\t\tlineWidths[lineWidths.length - 1] += width + labelOpts.padding;\r\n\t\t\t});\r\n\r\n\t\t\tminSize.height += totalHeight;\r\n\r\n\t\t} else {\r\n\t\t\tvar vPadding = labelOpts.padding;\r\n\t\t\tvar columnWidths = me.columnWidths = [];\r\n\t\t\tvar columnHeights = me.columnHeights = [];\r\n\t\t\tvar totalWidth = labelOpts.padding;\r\n\t\t\tvar currentColWidth = 0;\r\n\t\t\tvar currentColHeight = 0;\r\n\r\n\t\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\t\t\tvar itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\r\n\r\n\t\t\t\t// If too tall, go to new column\r\n\t\t\t\tif (i > 0 && currentColHeight + fontSize + 2 * vPadding > minSize.height) {\r\n\t\t\t\t\ttotalWidth += currentColWidth + labelOpts.padding;\r\n\t\t\t\t\tcolumnWidths.push(currentColWidth); // previous column width\r\n\t\t\t\t\tcolumnHeights.push(currentColHeight);\r\n\t\t\t\t\tcurrentColWidth = 0;\r\n\t\t\t\t\tcurrentColHeight = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Get max width\r\n\t\t\t\tcurrentColWidth = Math.max(currentColWidth, itemWidth);\r\n\t\t\t\tcurrentColHeight += fontSize + vPadding;\r\n\r\n\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\r\n\t\t\t\thitboxes[i] = {\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\twidth: itemWidth,\r\n\t\t\t\t\theight: fontSize\r\n\t\t\t\t};\r\n\t\t\t});\r\n\r\n\t\t\ttotalWidth += currentColWidth;\r\n\t\t\tcolumnWidths.push(currentColWidth);\r\n\t\t\tcolumnHeights.push(currentColHeight);\r\n\t\t\tminSize.width += totalWidth;\r\n\t\t}\r\n\r\n\t\tme.width = minSize.width;\r\n\t\tme.height = minSize.height;\r\n\t},\r\n\tafterFit: noop$1,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the legend on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar labelOpts = opts.labels;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor;\r\n\t\tvar lineDefault = globalDefaults.elements.line;\r\n\t\tvar legendHeight = me.height;\r\n\t\tvar columnHeights = me.columnHeights;\r\n\t\tvar legendWidth = me.width;\r\n\t\tvar lineWidths = me.lineWidths;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar rtlHelper = getRtlHelper$1(opts.rtl, me.left, me.minSize.width);\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar fontColor = valueOrDefault$e(labelOpts.fontColor, globalDefaults.defaultFontColor);\r\n\t\tvar labelFont = helpers$1.options._parseFont(labelOpts);\r\n\t\tvar fontSize = labelFont.size;\r\n\t\tvar cursor;\r\n\r\n\t\t// Canvas setup\r\n\t\tctx.textAlign = rtlHelper.textAlign('left');\r\n\t\tctx.textBaseline = 'middle';\r\n\t\tctx.lineWidth = 0.5;\r\n\t\tctx.strokeStyle = fontColor; // for strikethrough effect\r\n\t\tctx.fillStyle = fontColor; // render in correct colour\r\n\t\tctx.font = labelFont.string;\r\n\r\n\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\r\n\t\tvar hitboxes = me.legendHitBoxes;\r\n\r\n\t\t// current position\r\n\t\tvar drawLegendBox = function(x, y, legendItem) {\r\n\t\t\tif (isNaN(boxWidth) || boxWidth <= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Set the ctx for the box\r\n\t\t\tctx.save();\r\n\r\n\t\t\tvar lineWidth = valueOrDefault$e(legendItem.lineWidth, lineDefault.borderWidth);\r\n\t\t\tctx.fillStyle = valueOrDefault$e(legendItem.fillStyle, defaultColor);\r\n\t\t\tctx.lineCap = valueOrDefault$e(legendItem.lineCap, lineDefault.borderCapStyle);\r\n\t\t\tctx.lineDashOffset = valueOrDefault$e(legendItem.lineDashOffset, lineDefault.borderDashOffset);\r\n\t\t\tctx.lineJoin = valueOrDefault$e(legendItem.lineJoin, lineDefault.borderJoinStyle);\r\n\t\t\tctx.lineWidth = lineWidth;\r\n\t\t\tctx.strokeStyle = valueOrDefault$e(legendItem.strokeStyle, defaultColor);\r\n\r\n\t\t\tif (ctx.setLineDash) {\r\n\t\t\t\t// IE 9 and 10 do not support line dash\r\n\t\t\t\tctx.setLineDash(valueOrDefault$e(legendItem.lineDash, lineDefault.borderDash));\r\n\t\t\t}\r\n\r\n\t\t\tif (labelOpts && labelOpts.usePointStyle) {\r\n\t\t\t\t// Recalculate x and y for drawPoint() because its expecting\r\n\t\t\t\t// x and y to be center of figure (instead of top left)\r\n\t\t\t\tvar radius = boxWidth * Math.SQRT2 / 2;\r\n\t\t\t\tvar centerX = rtlHelper.xPlus(x, boxWidth / 2);\r\n\t\t\t\tvar centerY = y + fontSize / 2;\r\n\r\n\t\t\t\t// Draw pointStyle as legend symbol\r\n\t\t\t\thelpers$1.canvas.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY, legendItem.rotation);\r\n\t\t\t} else {\r\n\t\t\t\t// Draw box as legend symbol\r\n\t\t\t\tctx.fillRect(rtlHelper.leftForLtr(x, boxWidth), y, boxWidth, fontSize);\r\n\t\t\t\tif (lineWidth !== 0) {\r\n\t\t\t\t\tctx.strokeRect(rtlHelper.leftForLtr(x, boxWidth), y, boxWidth, fontSize);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tctx.restore();\r\n\t\t};\r\n\r\n\t\tvar fillText = function(x, y, legendItem, textWidth) {\r\n\t\t\tvar halfFontSize = fontSize / 2;\r\n\t\t\tvar xLeft = rtlHelper.xPlus(x, boxWidth + halfFontSize);\r\n\t\t\tvar yMiddle = y + halfFontSize;\r\n\r\n\t\t\tctx.fillText(legendItem.text, xLeft, yMiddle);\r\n\r\n\t\t\tif (legendItem.hidden) {\r\n\t\t\t\t// Strikethrough the text if hidden\r\n\t\t\t\tctx.beginPath();\r\n\t\t\t\tctx.lineWidth = 2;\r\n\t\t\t\tctx.moveTo(xLeft, yMiddle);\r\n\t\t\t\tctx.lineTo(rtlHelper.xPlus(xLeft, textWidth), yMiddle);\r\n\t\t\t\tctx.stroke();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar alignmentOffset = function(dimension, blockSize) {\r\n\t\t\tswitch (opts.align) {\r\n\t\t\tcase 'start':\r\n\t\t\t\treturn labelOpts.padding;\r\n\t\t\tcase 'end':\r\n\t\t\t\treturn dimension - blockSize;\r\n\t\t\tdefault: // center\r\n\t\t\t\treturn (dimension - blockSize + labelOpts.padding) / 2;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Horizontal\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tif (isHorizontal) {\r\n\t\t\tcursor = {\r\n\t\t\t\tx: me.left + alignmentOffset(legendWidth, lineWidths[0]),\r\n\t\t\t\ty: me.top + labelOpts.padding,\r\n\t\t\t\tline: 0\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tcursor = {\r\n\t\t\t\tx: me.left + labelOpts.padding,\r\n\t\t\t\ty: me.top + alignmentOffset(legendHeight, columnHeights[0]),\r\n\t\t\t\tline: 0\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\thelpers$1.rtl.overrideTextDirection(me.ctx, opts.textDirection);\r\n\r\n\t\tvar itemHeight = fontSize + labelOpts.padding;\r\n\t\thelpers$1.each(me.legendItems, function(legendItem, i) {\r\n\t\t\tvar textWidth = ctx.measureText(legendItem.text).width;\r\n\t\t\tvar width = boxWidth + (fontSize / 2) + textWidth;\r\n\t\t\tvar x = cursor.x;\r\n\t\t\tvar y = cursor.y;\r\n\r\n\t\t\trtlHelper.setWidth(me.minSize.width);\r\n\r\n\t\t\t// Use (me.left + me.minSize.width) and (me.top + me.minSize.height)\r\n\t\t\t// instead of me.right and me.bottom because me.width and me.height\r\n\t\t\t// may have been changed since me.minSize was calculated\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tif (i > 0 && x + width + labelOpts.padding > me.left + me.minSize.width) {\r\n\t\t\t\t\ty = cursor.y += itemHeight;\r\n\t\t\t\t\tcursor.line++;\r\n\t\t\t\t\tx = cursor.x = me.left + alignmentOffset(legendWidth, lineWidths[cursor.line]);\r\n\t\t\t\t}\r\n\t\t\t} else if (i > 0 && y + itemHeight > me.top + me.minSize.height) {\r\n\t\t\t\tx = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;\r\n\t\t\t\tcursor.line++;\r\n\t\t\t\ty = cursor.y = me.top + alignmentOffset(legendHeight, columnHeights[cursor.line]);\r\n\t\t\t}\r\n\r\n\t\t\tvar realX = rtlHelper.x(x);\r\n\r\n\t\t\tdrawLegendBox(realX, y, legendItem);\r\n\r\n\t\t\thitboxes[i].left = rtlHelper.leftForLtr(realX, hitboxes[i].width);\r\n\t\t\thitboxes[i].top = y;\r\n\r\n\t\t\t// Fill the actual label\r\n\t\t\tfillText(realX, y, legendItem, textWidth);\r\n\r\n\t\t\tif (isHorizontal) {\r\n\t\t\t\tcursor.x += width + labelOpts.padding;\r\n\t\t\t} else {\r\n\t\t\t\tcursor.y += itemHeight;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\thelpers$1.rtl.restoreTextDirection(me.ctx, opts.textDirection);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getLegendItemAt: function(x, y) {\r\n\t\tvar me = this;\r\n\t\tvar i, hitBox, lh;\r\n\r\n\t\tif (x >= me.left && x <= me.right && y >= me.top && y <= me.bottom) {\r\n\t\t\t// See if we are touching one of the dataset boxes\r\n\t\t\tlh = me.legendHitBoxes;\r\n\t\t\tfor (i = 0; i < lh.length; ++i) {\r\n\t\t\t\thitBox = lh[i];\r\n\r\n\t\t\t\tif (x >= hitBox.left && x <= hitBox.left + hitBox.width && y >= hitBox.top && y <= hitBox.top + hitBox.height) {\r\n\t\t\t\t\t// Touching an element\r\n\t\t\t\t\treturn me.legendItems[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t},\r\n\r\n\t/**\r\n\t * Handle an event\r\n\t * @private\r\n\t * @param {IEvent} event - The event to handle\r\n\t */\r\n\thandleEvent: function(e) {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar type = e.type === 'mouseup' ? 'click' : e.type;\r\n\t\tvar hoveredItem;\r\n\r\n\t\tif (type === 'mousemove') {\r\n\t\t\tif (!opts.onHover && !opts.onLeave) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else if (type === 'click') {\r\n\t\t\tif (!opts.onClick) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Chart event already has relative position in it\r\n\t\thoveredItem = me._getLegendItemAt(e.x, e.y);\r\n\r\n\t\tif (type === 'click') {\r\n\t\t\tif (hoveredItem && opts.onClick) {\r\n\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\topts.onClick.call(me, e.native, hoveredItem);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (opts.onLeave && hoveredItem !== me._hoveredItem) {\r\n\t\t\t\tif (me._hoveredItem) {\r\n\t\t\t\t\topts.onLeave.call(me, e.native, me._hoveredItem);\r\n\t\t\t\t}\r\n\t\t\t\tme._hoveredItem = hoveredItem;\r\n\t\t\t}\r\n\r\n\t\t\tif (opts.onHover && hoveredItem) {\r\n\t\t\t\t// use e.native for backwards compatibility\r\n\t\t\t\topts.onHover.call(me, e.native, hoveredItem);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction createNewLegendAndAttach(chart, legendOpts) {\r\n\tvar legend = new Legend({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: legendOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tcore_layouts.configure(chart, legend, legendOpts);\r\n\tcore_layouts.addBox(chart, legend);\r\n\tchart.legend = legend;\r\n}\r\n\r\nvar plugin_legend = {\r\n\tid: 'legend',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the legend is registered as a plugin, making\r\n\t * Chart.Legend obsolete. To avoid a breaking change, we export the Legend as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Legend,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar legendOpts = chart.options.legend;\r\n\t\tvar legend = chart.legend;\r\n\r\n\t\tif (legendOpts) {\r\n\t\t\thelpers$1.mergeIf(legendOpts, core_defaults.global.legend);\r\n\r\n\t\t\tif (legend) {\r\n\t\t\t\tcore_layouts.configure(chart, legend, legendOpts);\r\n\t\t\t\tlegend.options = legendOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\r\n\t\t\t}\r\n\t\t} else if (legend) {\r\n\t\t\tcore_layouts.removeBox(chart, legend);\r\n\t\t\tdelete chart.legend;\r\n\t\t}\r\n\t},\r\n\r\n\tafterEvent: function(chart, e) {\r\n\t\tvar legend = chart.legend;\r\n\t\tif (legend) {\r\n\t\t\tlegend.handleEvent(e);\r\n\t\t}\r\n\t}\r\n};\n\nvar noop$2 = helpers$1.noop;\r\n\r\ncore_defaults._set('global', {\r\n\ttitle: {\r\n\t\tdisplay: false,\r\n\t\tfontStyle: 'bold',\r\n\t\tfullWidth: true,\r\n\t\tpadding: 10,\r\n\t\tposition: 'top',\r\n\t\ttext: '',\r\n\t\tweight: 2000         // by default greater than legend (1000) to be above\r\n\t}\r\n});\r\n\r\n/**\r\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\r\n */\r\nvar Title = core_element.extend({\r\n\tinitialize: function(config) {\r\n\t\tvar me = this;\r\n\t\thelpers$1.extend(me, config);\r\n\r\n\t\t// Contains hit boxes for each dataset (in dataset order)\r\n\t\tme.legendHitBoxes = [];\r\n\t},\r\n\r\n\t// These methods are ordered by lifecycle. Utilities then follow.\r\n\r\n\tbeforeUpdate: noop$2,\r\n\tupdate: function(maxWidth, maxHeight, margins) {\r\n\t\tvar me = this;\r\n\r\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\r\n\t\tme.beforeUpdate();\r\n\r\n\t\t// Absorb the master measurements\r\n\t\tme.maxWidth = maxWidth;\r\n\t\tme.maxHeight = maxHeight;\r\n\t\tme.margins = margins;\r\n\r\n\t\t// Dimensions\r\n\t\tme.beforeSetDimensions();\r\n\t\tme.setDimensions();\r\n\t\tme.afterSetDimensions();\r\n\t\t// Labels\r\n\t\tme.beforeBuildLabels();\r\n\t\tme.buildLabels();\r\n\t\tme.afterBuildLabels();\r\n\r\n\t\t// Fit\r\n\t\tme.beforeFit();\r\n\t\tme.fit();\r\n\t\tme.afterFit();\r\n\t\t//\r\n\t\tme.afterUpdate();\r\n\r\n\t\treturn me.minSize;\r\n\r\n\t},\r\n\tafterUpdate: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeSetDimensions: noop$2,\r\n\tsetDimensions: function() {\r\n\t\tvar me = this;\r\n\t\t// Set the unconstrained dimension before label rotation\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.width = me.maxWidth;\r\n\t\t\tme.left = 0;\r\n\t\t\tme.right = me.width;\r\n\t\t} else {\r\n\t\t\tme.height = me.maxHeight;\r\n\r\n\t\t\t// Reset position before calculating rotation\r\n\t\t\tme.top = 0;\r\n\t\t\tme.bottom = me.height;\r\n\t\t}\r\n\r\n\t\t// Reset padding\r\n\t\tme.paddingLeft = 0;\r\n\t\tme.paddingTop = 0;\r\n\t\tme.paddingRight = 0;\r\n\t\tme.paddingBottom = 0;\r\n\r\n\t\t// Reset minSize\r\n\t\tme.minSize = {\r\n\t\t\twidth: 0,\r\n\t\t\theight: 0\r\n\t\t};\r\n\t},\r\n\tafterSetDimensions: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeBuildLabels: noop$2,\r\n\tbuildLabels: noop$2,\r\n\tafterBuildLabels: noop$2,\r\n\r\n\t//\r\n\r\n\tbeforeFit: noop$2,\r\n\tfit: function() {\r\n\t\tvar me = this;\r\n\t\tvar opts = me.options;\r\n\t\tvar minSize = me.minSize = {};\r\n\t\tvar isHorizontal = me.isHorizontal();\r\n\t\tvar lineCount, textSize;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\tme.width = minSize.width = me.height = minSize.height = 0;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlineCount = helpers$1.isArray(opts.text) ? opts.text.length : 1;\r\n\t\ttextSize = lineCount * helpers$1.options._parseFont(opts).lineHeight + opts.padding * 2;\r\n\r\n\t\tme.width = minSize.width = isHorizontal ? me.maxWidth : textSize;\r\n\t\tme.height = minSize.height = isHorizontal ? textSize : me.maxHeight;\r\n\t},\r\n\tafterFit: noop$2,\r\n\r\n\t// Shared Methods\r\n\tisHorizontal: function() {\r\n\t\tvar pos = this.options.position;\r\n\t\treturn pos === 'top' || pos === 'bottom';\r\n\t},\r\n\r\n\t// Actually draw the title block on the canvas\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar ctx = me.ctx;\r\n\t\tvar opts = me.options;\r\n\r\n\t\tif (!opts.display) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar fontOpts = helpers$1.options._parseFont(opts);\r\n\t\tvar lineHeight = fontOpts.lineHeight;\r\n\t\tvar offset = lineHeight / 2 + opts.padding;\r\n\t\tvar rotation = 0;\r\n\t\tvar top = me.top;\r\n\t\tvar left = me.left;\r\n\t\tvar bottom = me.bottom;\r\n\t\tvar right = me.right;\r\n\t\tvar maxWidth, titleX, titleY;\r\n\r\n\t\tctx.fillStyle = helpers$1.valueOrDefault(opts.fontColor, core_defaults.global.defaultFontColor); // render in correct colour\r\n\t\tctx.font = fontOpts.string;\r\n\r\n\t\t// Horizontal\r\n\t\tif (me.isHorizontal()) {\r\n\t\t\ttitleX = left + ((right - left) / 2); // midpoint of the width\r\n\t\t\ttitleY = top + offset;\r\n\t\t\tmaxWidth = right - left;\r\n\t\t} else {\r\n\t\t\ttitleX = opts.position === 'left' ? left + offset : right - offset;\r\n\t\t\ttitleY = top + ((bottom - top) / 2);\r\n\t\t\tmaxWidth = bottom - top;\r\n\t\t\trotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.translate(titleX, titleY);\r\n\t\tctx.rotate(rotation);\r\n\t\tctx.textAlign = 'center';\r\n\t\tctx.textBaseline = 'middle';\r\n\r\n\t\tvar text = opts.text;\r\n\t\tif (helpers$1.isArray(text)) {\r\n\t\t\tvar y = 0;\r\n\t\t\tfor (var i = 0; i < text.length; ++i) {\r\n\t\t\t\tctx.fillText(text[i], 0, y, maxWidth);\r\n\t\t\t\ty += lineHeight;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tctx.fillText(text, 0, 0, maxWidth);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\r\n\r\nfunction createNewTitleBlockAndAttach(chart, titleOpts) {\r\n\tvar title = new Title({\r\n\t\tctx: chart.ctx,\r\n\t\toptions: titleOpts,\r\n\t\tchart: chart\r\n\t});\r\n\r\n\tcore_layouts.configure(chart, title, titleOpts);\r\n\tcore_layouts.addBox(chart, title);\r\n\tchart.titleBlock = title;\r\n}\r\n\r\nvar plugin_title = {\r\n\tid: 'title',\r\n\r\n\t/**\r\n\t * Backward compatibility: since 2.1.5, the title is registered as a plugin, making\r\n\t * Chart.Title obsolete. To avoid a breaking change, we export the Title as part of\r\n\t * the plugin, which one will be re-exposed in the chart.js file.\r\n\t * https://github.com/chartjs/Chart.js/pull/2640\r\n\t * @private\r\n\t */\r\n\t_element: Title,\r\n\r\n\tbeforeInit: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t}\r\n\t},\r\n\r\n\tbeforeUpdate: function(chart) {\r\n\t\tvar titleOpts = chart.options.title;\r\n\t\tvar titleBlock = chart.titleBlock;\r\n\r\n\t\tif (titleOpts) {\r\n\t\t\thelpers$1.mergeIf(titleOpts, core_defaults.global.title);\r\n\r\n\t\t\tif (titleBlock) {\r\n\t\t\t\tcore_layouts.configure(chart, titleBlock, titleOpts);\r\n\t\t\t\ttitleBlock.options = titleOpts;\r\n\t\t\t} else {\r\n\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\r\n\t\t\t}\r\n\t\t} else if (titleBlock) {\r\n\t\t\tcore_layouts.removeBox(chart, titleBlock);\r\n\t\t\tdelete chart.titleBlock;\r\n\t\t}\r\n\t}\r\n};\n\nvar plugins = {};\r\nvar filler = plugin_filler;\r\nvar legend = plugin_legend;\r\nvar title = plugin_title;\nplugins.filler = filler;\nplugins.legend = legend;\nplugins.title = title;\n\n/**\r\n * @namespace Chart\r\n */\r\n\r\n\r\ncore_controller.helpers = helpers$1;\r\n\r\n// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!\r\ncore_helpers();\r\n\r\ncore_controller._adapters = core_adapters;\r\ncore_controller.Animation = core_animation;\r\ncore_controller.animationService = core_animations;\r\ncore_controller.controllers = controllers;\r\ncore_controller.DatasetController = core_datasetController;\r\ncore_controller.defaults = core_defaults;\r\ncore_controller.Element = core_element;\r\ncore_controller.elements = elements;\r\ncore_controller.Interaction = core_interaction;\r\ncore_controller.layouts = core_layouts;\r\ncore_controller.platform = platform;\r\ncore_controller.plugins = core_plugins;\r\ncore_controller.Scale = core_scale;\r\ncore_controller.scaleService = core_scaleService;\r\ncore_controller.Ticks = core_ticks;\r\ncore_controller.Tooltip = core_tooltip;\r\n\r\n// Register built-in scales\r\n\r\ncore_controller.helpers.each(scales, function(scale, type) {\r\n\tcore_controller.scaleService.registerScaleType(type, scale, scale._defaults);\r\n});\r\n\r\n// Load to register built-in adapters (as side effects)\r\n\r\n\r\n// Loading built-in plugins\r\n\r\nfor (var k in plugins) {\r\n\tif (plugins.hasOwnProperty(k)) {\r\n\t\tcore_controller.plugins.register(plugins[k]);\r\n\t}\r\n}\r\n\r\ncore_controller.platform.initialize();\r\n\r\nvar src = core_controller;\r\nif (typeof window !== 'undefined') {\r\n\twindow.Chart = core_controller;\r\n}\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Chart\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Chart = core_controller;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Legend\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Legend = plugins.legend._element;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore\r\n * @namespace Chart.Title\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.Title = plugins.title._element;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.plugins instead\r\n * @namespace Chart.pluginService\r\n * @deprecated since version 2.1.5\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.pluginService = core_controller.plugins;\r\n\r\n/**\r\n * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\r\n * effect, instead simply create/register plugins via plain JavaScript objects.\r\n * @interface Chart.PluginBase\r\n * @deprecated since version 2.5.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.PluginBase = core_controller.Element.extend({});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas instead.\r\n * @namespace Chart.canvasHelpers\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.canvasHelpers = core_controller.helpers.canvas;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.layouts instead.\r\n * @namespace Chart.layoutService\r\n * @deprecated since version 2.7.3\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.layoutService = core_controller.layouts;\r\n\r\n/**\r\n * Provided for backward compatibility, not available anymore.\r\n * @namespace Chart.LinearScaleBase\r\n * @deprecated since version 2.8\r\n * @todo remove at version 3\r\n * @private\r\n */\r\ncore_controller.LinearScaleBase = scale_linearbase;\r\n\r\n/**\r\n * Provided for backward compatibility, instead we should create a new Chart\r\n * by setting the type in the config (`new Chart(id, {type: '{chart-type}'}`).\r\n * @deprecated since version 2.8.0\r\n * @todo remove at version 3\r\n */\r\ncore_controller.helpers.each(\r\n\t[\r\n\t\t'Bar',\r\n\t\t'Bubble',\r\n\t\t'Doughnut',\r\n\t\t'Line',\r\n\t\t'PolarArea',\r\n\t\t'Radar',\r\n\t\t'Scatter'\r\n\t],\r\n\tfunction(klass) {\r\n\t\tcore_controller[klass] = function(ctx, cfg) {\r\n\t\t\treturn new core_controller(ctx, core_controller.helpers.merge(cfg || {}, {\r\n\t\t\t\ttype: klass.charAt(0).toLowerCase() + klass.slice(1)\r\n\t\t\t}));\r\n\t\t};\r\n\t}\r\n);\n\nreturn src;\n\n})));\n","var toString = require('./toString');\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n  var id = ++idCounter;\n  return toString(prefix) + id;\n}\n\nmodule.exports = uniqueId;\n","var baseGetTag = require('./_baseGetTag'),\n    getPrototype = require('./_getPrototype'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\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 */\nfunction isPlainObject(value) {\n  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n    return false;\n  }\n  var proto = getPrototype(value);\n  if (proto === null) {\n    return true;\n  }\n  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n    funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","/**\n * The days of the week\n * {@docCategory DayOfWeek}\n */\nexport var DayOfWeek;\n/**\n * The months\n * {@docCategory MonthOfYear}\n */\n\n(function (DayOfWeek) {\n  DayOfWeek[DayOfWeek[\"Sunday\"] = 0] = \"Sunday\";\n  DayOfWeek[DayOfWeek[\"Monday\"] = 1] = \"Monday\";\n  DayOfWeek[DayOfWeek[\"Tuesday\"] = 2] = \"Tuesday\";\n  DayOfWeek[DayOfWeek[\"Wednesday\"] = 3] = \"Wednesday\";\n  DayOfWeek[DayOfWeek[\"Thursday\"] = 4] = \"Thursday\";\n  DayOfWeek[DayOfWeek[\"Friday\"] = 5] = \"Friday\";\n  DayOfWeek[DayOfWeek[\"Saturday\"] = 6] = \"Saturday\";\n})(DayOfWeek || (DayOfWeek = {}));\n\nexport var MonthOfYear;\n/**\n * First week of the year settings types\n * {@docCategory FirstWeekOfYear}\n */\n\n(function (MonthOfYear) {\n  MonthOfYear[MonthOfYear[\"January\"] = 0] = \"January\";\n  MonthOfYear[MonthOfYear[\"February\"] = 1] = \"February\";\n  MonthOfYear[MonthOfYear[\"March\"] = 2] = \"March\";\n  MonthOfYear[MonthOfYear[\"April\"] = 3] = \"April\";\n  MonthOfYear[MonthOfYear[\"May\"] = 4] = \"May\";\n  MonthOfYear[MonthOfYear[\"June\"] = 5] = \"June\";\n  MonthOfYear[MonthOfYear[\"July\"] = 6] = \"July\";\n  MonthOfYear[MonthOfYear[\"August\"] = 7] = \"August\";\n  MonthOfYear[MonthOfYear[\"September\"] = 8] = \"September\";\n  MonthOfYear[MonthOfYear[\"October\"] = 9] = \"October\";\n  MonthOfYear[MonthOfYear[\"November\"] = 10] = \"November\";\n  MonthOfYear[MonthOfYear[\"December\"] = 11] = \"December\";\n})(MonthOfYear || (MonthOfYear = {}));\n\nexport var FirstWeekOfYear;\n/**\n * The supported date range types\n * {@docCategory DateRangeType}\n */\n\n(function (FirstWeekOfYear) {\n  FirstWeekOfYear[FirstWeekOfYear[\"FirstDay\"] = 0] = \"FirstDay\";\n  FirstWeekOfYear[FirstWeekOfYear[\"FirstFullWeek\"] = 1] = \"FirstFullWeek\";\n  FirstWeekOfYear[FirstWeekOfYear[\"FirstFourDayWeek\"] = 2] = \"FirstFourDayWeek\";\n})(FirstWeekOfYear || (FirstWeekOfYear = {}));\n\nexport var DateRangeType;\n\n(function (DateRangeType) {\n  DateRangeType[DateRangeType[\"Day\"] = 0] = \"Day\";\n  DateRangeType[DateRangeType[\"Week\"] = 1] = \"Week\";\n  DateRangeType[DateRangeType[\"Month\"] = 2] = \"Month\";\n  DateRangeType[DateRangeType[\"WorkWeek\"] = 3] = \"WorkWeek\";\n})(DateRangeType || (DateRangeType = {}));\n\nexport var DAYS_IN_WEEK = 7;\n//# sourceMappingURL=dateValues.js.map\n","import _uniq from \"lodash/uniq\";\nimport _isArray from \"lodash/isArray\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isNil from \"lodash/isNil\";\nimport { mergeStyles } from '@fluentui/styles';\nimport cx from 'classnames';\nimport * as React from 'react';\nimport * as ReactIs from 'react-is';\n// It's only necessary to map props that don't use 'children' as value ('children' is the default)\nvar mappedProps = {\n  iframe: 'src',\n  img: 'src',\n  input: 'type'\n};\nexport function createShorthandFactory(_ref) {\n  var Component = _ref.Component,\n      mappedProp = _ref.mappedProp,\n      mappedArrayProp = _ref.mappedArrayProp,\n      allowsJSX = _ref.allowsJSX;\n\n  if (!ReactIs.isValidElementType(Component)) {\n    throw new Error('createShorthandFactory() Component must be a string or function.');\n  }\n\n  return function (value, options) {\n    return createShorthandInternal({\n      allowsJSX: allowsJSX,\n      Component: Component,\n      mappedProp: mappedProp,\n      mappedArrayProp: mappedArrayProp,\n      value: value,\n      options: options\n    });\n  };\n} // ============================================================\n// Factories\n// ============================================================\n\nexport function createShorthandInternal(_ref2) {\n  var Component = _ref2.Component,\n      mappedProp = _ref2.mappedProp,\n      mappedArrayProp = _ref2.mappedArrayProp,\n      value = _ref2.value,\n      _ref2$options = _ref2.options,\n      options = _ref2$options === void 0 ? {} : _ref2$options,\n      _ref2$allowsJSX = _ref2.allowsJSX,\n      allowsJSX = _ref2$allowsJSX === void 0 ? true : _ref2$allowsJSX;\n\n  if (!ReactIs.isValidElementType(Component)) {\n    throw new Error('createShorthand() Component must be a string or function.');\n  } // short circuit noop values\n\n\n  var valIsNoop = _isNil(value) || typeof value === 'boolean';\n  if (valIsNoop && !options.render) return null;\n  var valIsPrimitive = typeof value === 'string' || typeof value === 'number';\n\n  var valIsPropsObject = _isPlainObject(value);\n\n  var valIsArray = _isArray(value);\n\n  var valIsReactElement = /*#__PURE__*/React.isValidElement(value); // unhandled type warning\n\n  if (process.env.NODE_ENV !== 'production') {\n    var displayName = typeof Component === 'string' ? Component : Component.displayName;\n\n    if (!valIsPrimitive && !valIsPropsObject && !valIsArray && !valIsReactElement && !valIsNoop) {\n      /* eslint-disable-next-line no-console */\n      console.error([\"The shorthand prop for \\\"\" + displayName + \"\\\" component was passed a JSX element but this slot only supports string|number|object|array|ReactElements.\", ' Use null|undefined|boolean for none.', \" Received: \" + value].join(''));\n    }\n\n    if (!allowsJSX && valIsReactElement) {\n      /* eslint-disable-next-line no-console */\n      console.error([\"The shorthand prop for \\\"\" + displayName + \"\\\" component was passed a JSX element but this slot only supports string|number|object|array.\", ' Use null|undefined|boolean for none.', \" Received: \" + value].join(''));\n    }\n  } // ----------------------------------------\n  // Build up props\n  // ----------------------------------------\n\n\n  var defaultProps = options.defaultProps ? options.defaultProps() || {} : {}; // User's props\n\n  var usersProps = valIsReactElement && {} || valIsPropsObject && value || {}; // Override props\n\n  var overrideProps = typeof options.overrideProps === 'function' ? options.overrideProps(Object.assign({}, defaultProps, usersProps)) : options.overrideProps || {}; // Merge props\n\n  var props = Object.assign({}, defaultProps, usersProps, overrideProps);\n  var mappedHTMLProps = mappedProps[overrideProps.as || defaultProps.as]; // Map prop for primitive value\n\n  if (valIsPrimitive || valIsReactElement) {\n    props[mappedHTMLProps || mappedProp || 'children'] = value;\n  } // Map prop for array value\n\n\n  if (valIsArray) {\n    props[mappedHTMLProps || mappedArrayProp || 'children'] = value;\n  } // Merge className\n\n\n  if (defaultProps.className || overrideProps.className || usersProps.className) {\n    var mergedClassesNames = cx(defaultProps.className, overrideProps.className, usersProps.className);\n    props.className = _uniq(mergedClassesNames.split(' ')).join(' ');\n  } // Merge style\n\n\n  if (defaultProps.style || overrideProps.style || usersProps.style) {\n    props.style = Object.assign({}, defaultProps.style, usersProps.style, overrideProps.style);\n  } // Merge styles\n\n\n  if (defaultProps.styles || overrideProps.styles || usersProps.styles) {\n    props.styles = mergeStyles(defaultProps.styles, usersProps.styles, overrideProps.styles);\n  } // ----------------------------------------\n  // Get key\n  // ----------------------------------------\n\n\n  var _options$generateKey = options.generateKey,\n      generateKey = _options$generateKey === void 0 ? true : _options$generateKey; // Use key or generate key\n\n  if (generateKey && _isNil(props.key)) {\n    if (valIsPrimitive) {\n      // use string/number shorthand values as the key\n      props.key = value;\n    }\n\n    if (valIsReactElement) {\n      // use the key from React Element\n      var elementKey = value.key; // <div /> - key is not passed as will be `null`\n      // <div key={null} /> - key is passed as `null` and will be stringified\n\n      var isNullKey = elementKey === null;\n\n      if (!isNullKey) {\n        props.key = elementKey;\n      }\n    }\n  } // Remove the kind prop from the props object\n\n\n  delete props.kind; // ----------------------------------------\n  // Create Element\n  // ----------------------------------------\n\n  var render = options.render;\n\n  if (render) {\n    return render(Component, props);\n  }\n\n  if (typeof props.children === 'function') {\n    return props.children(Component, Object.assign({}, props, {\n      children: undefined\n    }));\n  }\n\n  if (!allowsJSX && valIsReactElement) {\n    return null;\n  } // Create ReactElements from built up props\n\n\n  if (valIsPrimitive || valIsPropsObject || valIsArray || valIsReactElement) {\n    return /*#__PURE__*/React.createElement(Component, props);\n  }\n\n  return null;\n}\nexport function createShorthand(Component, value, options) {\n  var _Component$fluentComp;\n\n  var _ref3 = Component.shorthandConfig || ((_Component$fluentComp = Component.fluentComposeConfig) == null ? void 0 : _Component$fluentComp.shorthandConfig) || {},\n      _ref3$mappedProp = _ref3.mappedProp,\n      mappedProp = _ref3$mappedProp === void 0 ? 'children' : _ref3$mappedProp,\n      _ref3$allowsJSX = _ref3.allowsJSX,\n      allowsJSX = _ref3$allowsJSX === void 0 ? true : _ref3$allowsJSX,\n      mappedArrayProp = _ref3.mappedArrayProp;\n\n  return createShorthandInternal({\n    Component: Component,\n    mappedProp: mappedProp,\n    allowsJSX: allowsJSX,\n    mappedArrayProp: mappedArrayProp,\n    value: value,\n    options: options || {}\n  });\n}\n//# sourceMappingURL=factories.js.map\n","import React from \"react\";\nimport { Provider as FluentUIThemeProvider, mergeThemes, } from \"@fluentui/react-northstar\";\nimport { teamsNextVariableAssignments, themes } from \"../../lib/withTheme\";\nimport { TeamsTheme } from \"../../themes\";\nvar getLocalTheme = function (themeKey) {\n    var buttonRootVariables = function (_a) {\n        var colorScheme = _a.colorScheme, theme = _a.theme;\n        var color = colorScheme.default.foreground1;\n        switch (theme) {\n            case TeamsTheme.Dark:\n                color = colorScheme.default.foreground1;\n                break;\n            case TeamsTheme.HighContrast:\n                color = colorScheme.grey.foregroundHover;\n                break;\n        }\n        return {\n            color: color,\n        };\n    };\n    var menuContentStyles = function (_a) {\n        var theme = _a.theme;\n        var _b = theme.siteVariables, themeKey = _b.theme, colorScheme = _b.colorScheme;\n        return {\n            borderWidth: themeKey === TeamsTheme.HighContrast ? \"1px\" : 0,\n        };\n    };\n    return {\n        componentVariables: {\n            Button: buttonRootVariables,\n            Input: function (_a) {\n                var colors = _a.colors, colorScheme = _a.colorScheme, theme = _a.theme;\n                return ({\n                    backgroundColor: theme === TeamsTheme.Dark\n                        ? colors.grey[750]\n                        : colorScheme.black.background,\n                });\n            },\n            ToolbarItem: buttonRootVariables,\n            TreeItem: function (_a) {\n                var colorScheme = _a.colorScheme, theme = _a.theme;\n                return ({\n                    color: theme === TeamsTheme.HighContrast\n                        ? colorScheme.grey.backgroundFocus\n                        : colorScheme.grey.background2,\n                });\n            },\n            TreeTitle: function (_a) {\n                var colorScheme = _a.colorScheme;\n                return ({\n                    color: colorScheme.grey.foreground,\n                });\n            },\n            SvgIcon: function (_a) {\n                var colorScheme = _a.colorScheme;\n                return ({\n                    fill: colorScheme.default.foreground1,\n                });\n            },\n        },\n        componentStyles: {\n            ButtonContent: {\n                root: function (_a) {\n                    var variables = _a.variables;\n                    return ({\n                        fontWeight: 400,\n                    });\n                },\n            },\n            Input: {\n                input: {\n                    width: \"100%\",\n                },\n            },\n            PopupContent: {\n                content: function (cvo) {\n                    return Object.assign(menuContentStyles(cvo), { padding: 0 });\n                },\n            },\n            ToolbarMenu: { root: menuContentStyles },\n            TreeItem: {\n                root: {\n                    paddingLeft: 0,\n                    position: \"relative\",\n                    \"&::before\": {\n                        content: '\"\"',\n                        position: \"absolute\",\n                        top: 0,\n                        right: \".25rem\",\n                        bottom: 0,\n                        left: \".25rem\",\n                        background: \"transparent\",\n                        borderRadius: \"2px\",\n                    },\n                    \"&:hover::before\": {\n                        background: \"currentColor\",\n                    },\n                },\n            },\n        },\n        staticStyles: [\n            \".extended-toolbar__filters-menu .ui-tree__title__selection-indicator {\\n        flex: 0 0 auto;\\n        -webkit-flex: 0 0 auto;\\n      }\",\n            \".extended-toolbar .ui-toolbar__menu {\\n        top: .25rem !important;\\n      }\",\n            \".extended-toolbar .extended-toolbar__filters-invoker:focus::before,\\n      .extended-toolbar .extended-toolbar__filters-invoker:focus::after,\\n      .extended-toolbar .extended-toolbar__find-invoker:focus::before,\\n      .extended-toolbar .extended-toolbar__find-invoker:focus::after,\\n      .extended-toolbar .extended-toolbar__find-cancel:focus::before,\\n      .extended-toolbar .extended-toolbar__find-cancel:focus::after,\\n      .extended-toolbar .ui-toolbar__item:focus::before,\\n      .extended-toolbar .ui-toolbar__item:focus::after {\\n        top: calc(.5rem - 1px) !important;\\n        bottom: calc(.5rem - 1px) !important;\\n      }\\n      \",\n        ],\n    };\n};\nexport var ToolbarTheme = function (_a) {\n    var _b;\n    var globalTheme = _a.globalTheme, children = _a.children;\n    var mainTheme = ((_b = globalTheme.siteVariables) === null || _b === void 0 ? void 0 : _b.theme) ? globalTheme\n        : themes.teamsTheme;\n    var theme = mergeThemes(mainTheme, teamsNextVariableAssignments, getLocalTheme(globalTheme.siteVariables.theme));\n    return (React.createElement(FluentUIThemeProvider, { theme: theme, styles: {\n            position: \"sticky\",\n            display: \"grid\",\n            top: 0,\n            marginBottom: \"1.25rem\",\n            boxShadow: globalTheme.siteVariables.colorScheme.elevations[8],\n            zIndex: 999,\n        } }, children));\n};\n//# sourceMappingURL=ToolbarTheme.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar _a;\nimport React from \"react\";\nimport { Provider as FluentUIThemeProvider, mergeThemes, teamsTheme, teamsDarkTheme, teamsHighContrastTheme, } from \"@fluentui/react-northstar\";\nimport { defaultV2ThemeOverrides, darkV2ThemeOverrides, highContrastThemeOverrides, TeamsTheme, } from \"../themes\";\nimport { default as builtInTranslations, } from \"../translations\";\nexport var IThemeTeamsClient;\n(function (IThemeTeamsClient) {\n    IThemeTeamsClient[\"HighContrast\"] = \"contrast\";\n    IThemeTeamsClient[\"Dark\"] = \"dark\";\n    IThemeTeamsClient[\"Default\"] = \"default\";\n})(IThemeTeamsClient || (IThemeTeamsClient = {}));\nexport var teamsNextVariableAssignments = {\n    componentVariables: {\n        TableRow: function (_a) {\n            var colorScheme = _a.colorScheme;\n            return ({\n                color: colorScheme.default.foreground1,\n            });\n        },\n    },\n    componentStyles: {\n        Box: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    color: variables.color,\n                    backgroundColor: variables.backgroundColor,\n                    borderColor: variables.borderColor,\n                    borderWidth: variables.borderWidth,\n                    boxShadow: variables.elevation,\n                });\n            },\n        },\n        ButtonContent: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    fontWeight: variables.fontWeight,\n                });\n            },\n        },\n        Card: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    boxShadow: variables.elevation,\n                    \"&:hover\": { boxShadow: variables.hoverElevation },\n                    \"&:focus\": { boxShadow: variables.elevation },\n                });\n            },\n        },\n        Flex: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    color: variables.color,\n                    backgroundColor: variables.backgroundColor,\n                    boxShadow: variables.elevation,\n                });\n            },\n        },\n        ListItem: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return (__assign({ color: variables.color, backgroundColor: variables.backgroundColor, fontWeight: variables.fontWeight }, (variables.hoverBackgroundColor && {\n                    \"&:hover\": {\n                        backgroundColor: variables.hoverBackgroundColor,\n                    },\n                })));\n            },\n        },\n        ToolbarItem: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    color: variables.color,\n                    fontWeight: variables.fontWeight,\n                });\n            },\n        },\n        PopupContent: {\n            content: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    boxShadow: variables.elevation,\n                    borderWidth: variables.borderWidth,\n                });\n            },\n        },\n        PopupButton: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    color: variables.color,\n                });\n            },\n        },\n        TableRow: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return {\n                    height: variables.compactRow\n                        ? variables.compactRowHeight\n                        : variables.defaultRowHeight,\n                    minHeight: variables.compactRow\n                        ? variables.compactRowMinHeight\n                        : variables.defaultRowMinHeight,\n                    alignItems: variables.cellVerticalAlignment,\n                };\n            },\n        },\n        TableCell: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    paddingTop: variables.compactRow\n                        ? variables.compactRowVerticalPadding\n                        : variables.defaultRowVerticalPadding,\n                    paddingBottom: variables.compactRow\n                        ? variables.compactRowVerticalPadding\n                        : variables.defaultRowVerticalPadding,\n                });\n            },\n        },\n        TreeItem: {\n            root: function (_a) {\n                var variables = _a.variables;\n                return ({\n                    color: variables.color,\n                });\n            },\n        },\n    },\n};\nexport var themes = (_a = {},\n    _a[TeamsTheme.Default] = mergeThemes(teamsTheme, teamsNextVariableAssignments, defaultV2ThemeOverrides),\n    _a[TeamsTheme.Dark] = mergeThemes(teamsDarkTheme, teamsNextVariableAssignments, darkV2ThemeOverrides),\n    _a[TeamsTheme.HighContrast] = mergeThemes(teamsHighContrastTheme, teamsNextVariableAssignments, highContrastThemeOverrides),\n    _a);\n/**\n * @public\n */\nexport var HVCThemeProvider = function (_a) {\n    // [v-wishow] todo: translations will (presumably) eventually need to be loaded asynchronously\n    var _b, _c, _d, _e;\n    var children = _a.children, lang = _a.lang, themeName = _a.themeName, translations = _a.translations;\n    switch (themeName) {\n        case IThemeTeamsClient.Dark:\n            themeName = TeamsTheme.Dark;\n            break;\n        case IThemeTeamsClient.Default:\n            themeName = TeamsTheme.Default;\n            break;\n        case IThemeTeamsClient.HighContrast:\n            themeName = TeamsTheme.HighContrast;\n            break;\n    }\n    var theme = themes[themeName];\n    var rtl = lang === \"fa\";\n    if (theme.siteVariables) {\n        theme.siteVariables.lang = lang;\n        theme.siteVariables.rtl = rtl;\n        theme.siteVariables.t =\n            (translations && translations[lang]) || builtInTranslations[lang];\n    }\n    var customScrollbarStyles = \n    // From `react-perfect-scrollbar`:\n    \"/*\\n       * Container style\\n       */\\n      .ps {\\n        overflow: hidden !important;\\n        overflow-anchor: none;\\n        -ms-overflow-style: none;\\n        touch-action: auto;\\n        -ms-touch-action: auto;\\n      }\\n      \\n      /*\\n       * Scrollbar rail styles\\n       */\\n      .ps__rail-x {\\n        display: none;\\n        opacity: 1;\\n        transition: background-color .2s linear, opacity .2s linear;\\n        -webkit-transition: background-color .2s linear, opacity .2s linear;\\n        height: 6px;\\n        /* there must be 'bottom' or 'top' for ps__rail-x */\\n        bottom: 2px;\\n        /* please don't change 'position' */\\n        position: absolute;\\n      }\\n      \\n      .ps__rail-y {\\n        display: none;\\n        opacity: 1;\\n        transition: background-color .2s linear, opacity .2s linear;\\n        -webkit-transition: background-color .2s linear, opacity .2s linear;\\n        width: 6px;\\n        /* there must be 'right' or 'left' for ps__rail-y */\\n        \" + (rtl ? \"left\" : \"right\") + \": 2px;\\n        /* please don't change 'position' */\\n        position: absolute;\\n      }\\n      \\n      .ps--active-x > .ps__rail-x,\\n      .ps--active-y > .ps__rail-y {\\n        display: block;\\n        background-color: transparent;\\n      }\\n      \\n      .ps:hover > .ps__rail-x,\\n      .ps:hover > .ps__rail-y,\\n      .ps--focus > .ps__rail-x,\\n      .ps--focus > .ps__rail-y,\\n      .ps--scrolling-x > .ps__rail-x,\\n      .ps--scrolling-y > .ps__rail-y {\\n        opacity: 1;\\n      }\\n      \\n      .ps .ps__rail-x:hover,\\n      .ps .ps__rail-y:hover,\\n      .ps .ps__rail-x:focus,\\n      .ps .ps__rail-y:focus,\\n      .ps .ps__rail-x.ps--clicking,\\n      .ps .ps__rail-y.ps--clicking {\\n        opacity: 1;\\n      }\\n      \\n      /*\\n       * Scrollbar thumb styles\\n       */\\n      .ps__thumb-x {\\n        opacity: \" + (themeName === TeamsTheme.HighContrast ? \"1\" : \"0.2\") + \";\\n        background-color: \" + theme.siteVariables.colorScheme.default.foreground + \";\\n        border-radius: 9999px;\\n        transition: background-color .2s linear, height .2s ease-in-out;\\n        -webkit-transition: background-color .2s linear, height .2s ease-in-out;\\n        height: 6px;\\n        /* there must be 'bottom' for ps__thumb-x */\\n        bottom: 2px;\\n        /* please don't change 'position' */\\n        position: absolute;\\n      }\\n      \\n      .ps__thumb-y {\\n        opacity: \" + (themeName === TeamsTheme.HighContrast ? \"1\" : \"0.2\") + \";\\n        background-color: \" + theme.siteVariables.colorScheme.default.foreground + \";\\n        border-radius: 9999px;\\n        transition: background-color .2s linear, width .2s ease-in-out;\\n        -webkit-transition: background-color .2s linear, width .2s ease-in-out;\\n        width: 6px;\\n        /* there must be 'right' for ps__thumb-y */\\n        right: 2px;\\n        /* please don't change 'position' */\\n        position: absolute;\\n      }\\n      \\n      .ps__rail-x:hover > .ps__thumb-x,\\n      .ps__rail-x:focus > .ps__thumb-x,\\n      .ps__rail-x.ps--clicking .ps__thumb-x {\\n        background-color: \" + theme.siteVariables.colorScheme.default.foreground + \";\\n        height: 6px;\\n      }\\n      \\n      .ps__rail-y:hover > .ps__thumb-y,\\n      .ps__rail-y:focus > .ps__thumb-y,\\n      .ps__rail-y.ps--clicking .ps__thumb-y {\\n        background-color: \" + theme.siteVariables.colorScheme.default.foreground + \";\\n        width: 6px;\\n      }\\n      \\n      /* MS supports */\\n      @supports (-ms-overflow-style: none) {\\n        .ps {\\n          overflow: auto !important;\\n        }\\n      }\\n      \\n      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n        .ps {\\n          overflow: auto !important;\\n        }\\n      }\\n      .scrollbar-container {\\n        position: relative;\\n        height: 100%;\\n      }\";\n    return (React.createElement(FluentUIThemeProvider, { theme: theme, rtl: rtl, style: {\n            backgroundColor: theme.siteVariables &&\n                theme.siteVariables.colorScheme.default.background2,\n        } },\n        React.createElement(\"style\", null, \"\\n          html, body, #root, #root > .ui-provider { min-height: 100% }\\n          ::-webkit-scrollbar { width: .75rem } \\n          ::-webkit-scrollbar-track {\\n            background-color: \" + ((_b = theme.siteVariables) === null || _b === void 0 ? void 0 : _b.colorScheme.default.background2) + \";\\n          }\\n          ::-webkit-scrollbar-thumb {\\n            background-color: \" + ((_c = theme.siteVariables) === null || _c === void 0 ? void 0 : _c.colorScheme.onyx.border2) + \";\\n            border-radius: .75rem;\\n            border: 3px solid transparent;\\n            background-clip: content-box;\\n          }\\n          ::-webkit-scrollbar-thumb:hover {\\n            background-color: \" + ((_d = theme.siteVariables) === null || _d === void 0 ? void 0 : _d.colorScheme.default.foreground2) + \";\\n          }\\n          canvas {\\n            border-radius: 3px;\\n            transition: box-shadow .05s .1s ease-out;\\n          }\\n          canvas:focus {\\n            outline: none;\\n            box-shadow: inset 0 0 0 2px \" + ((_e = theme.siteVariables) === null || _e === void 0 ? void 0 : _e.colorScheme.default.foregroundActive) + \";\\n          }\\n        \" + customScrollbarStyles),\n        children));\n};\n//# sourceMappingURL=withTheme.js.map","var baseIndexOf = require('./_baseIndexOf'),\n    isArrayLike = require('./isArrayLike'),\n    isString = require('./isString'),\n    toInteger = require('./toInteger'),\n    values = require('./values');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n  collection = isArrayLike(collection) ? collection : values(collection);\n  fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n  var length = collection.length;\n  if (fromIndex < 0) {\n    fromIndex = nativeMax(length + fromIndex, 0);\n  }\n  return isString(collection)\n    ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n    : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n}\n\nmodule.exports = includes;\n","/**\n * Returns a createElement() type based on the props of the Component.\n * Useful for calculating what type a component should render as.\n *\n * @param props - A ReactElement props object\n * @returns A ReactElement type\n */\nexport function getElementType(props) {\n  // ----------------------------------------\n  // use defaultProp or 'div'\n  return props.as || 'div';\n}\n//# sourceMappingURL=getElementType.js.map\n","import { noopRenderer } from '@fluentui/react-northstar-styles-renderer';\nimport { emptyTheme } from '@fluentui/styles';\nimport * as React from 'react';\nexport var defaultPerformanceFlags = {\n  enableSanitizeCssPlugin: process.env.NODE_ENV !== 'production',\n  enableStylesCaching: true,\n  enableVariablesCaching: true,\n  enableBooleanVariablesCaching: false\n};\nexport var defaultContextValue = {\n  // A default value for `rtl` is undefined to let compute `Provider` a proper one\n  rtl: undefined,\n  disableAnimations: false,\n  performance: defaultPerformanceFlags,\n  renderer: noopRenderer,\n  theme: emptyTheme,\n  telemetry: undefined,\n  target: undefined\n};\nvar FluentContext = /*#__PURE__*/React.createContext(defaultContextValue);\nexport function useFluentContext() {\n  return React.useContext(FluentContext);\n}\nexport var Unstable_FluentContextProvider = FluentContext.Provider;\n//# sourceMappingURL=context.js.map\n","import * as React from 'react';\n\n// Provides a minimal functionality to render components without styles and without runtime errors.\nvar NoopProvider = function NoopProvider(props) {\n  return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);\n};\n\nexport var noopRenderer = {\n  registerUsage: function registerUsage() {},\n  unregisterUsage: function unregisterUsage() {},\n  renderFont: function renderFont() {},\n  renderGlobal: function renderGlobal() {},\n  renderRule: function renderRule() {\n    return '';\n  },\n  Provider: NoopProvider\n};\n//# sourceMappingURL=noopRenderer.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = arrayReduce;\n\nfunction arrayReduce(arr, reducer, initialValue) {\n  for (var i = 0, len = arr.length; i < len; ++i) {\n    initialValue = reducer(initialValue, arr[i], i, len, arr);\n  }\n\n  return initialValue;\n}","var arrayMap = require('./_arrayMap'),\n    baseClone = require('./_baseClone'),\n    baseUnset = require('./_baseUnset'),\n    castPath = require('./_castPath'),\n    copyObject = require('./_copyObject'),\n    customOmitClone = require('./_customOmitClone'),\n    flatRest = require('./_flatRest'),\n    getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_FLAT_FLAG = 2,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n  var result = {};\n  if (object == null) {\n    return result;\n  }\n  var isDeep = false;\n  paths = arrayMap(paths, function(path) {\n    path = castPath(path, object);\n    isDeep || (isDeep = path.length > 1);\n    return path;\n  });\n  copyObject(object, getAllKeysIn(object), result);\n  if (isDeep) {\n    result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n  }\n  var length = paths.length;\n  while (length--) {\n    baseUnset(result, paths[length]);\n  }\n  return result;\n});\n\nmodule.exports = omit;\n","/**\n * @internal\n */\nexport var Surface;\n(function (Surface) {\n    Surface[\"base\"] = \"base\";\n    Surface[\"raised\"] = \"raised\";\n})(Surface || (Surface = {}));\n//# sourceMappingURL=types.js.map","export default function _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n  return self;\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  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n  return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","var rafSchd = function rafSchd(fn) {\n  var lastArgs = [];\n  var frameId = null;\n\n  var wrapperFn = function wrapperFn() {\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\n    if (frameId) {\n      return;\n    }\n\n    frameId = requestAnimationFrame(function () {\n      frameId = null;\n      fn.apply(void 0, lastArgs);\n    });\n  };\n\n  wrapperFn.cancel = function () {\n    if (!frameId) {\n      return;\n    }\n\n    cancelAnimationFrame(frameId);\n    frameId = null;\n  };\n\n  return wrapperFn;\n};\n\nexport default rafSchd;\n","import * as React from 'react';\nexport var getTelemetry = function getTelemetry(displayName, telemetry, isFirstRenderRef) {\n  var start = -1;\n  var end = -1;\n\n  var setStart = function setStart() {\n    if (telemetry != null && telemetry.enabled) {\n      start = performance.now();\n\n      if (!telemetry.performance[displayName]) {\n        telemetry.performance[displayName] = {\n          instances: 0,\n          renders: 0,\n          msTotal: 0,\n          msMin: Number.MAX_SAFE_INTEGER,\n          msMax: 0,\n          msResolveVariablesTotal: 0,\n          msResolveStylesTotal: 0,\n          msRenderStylesTotal: 0,\n          stylesRootCacheHits: 0,\n          stylesSlotsCacheHits: 0\n        };\n      }\n    }\n  };\n\n  var setEnd = function setEnd() {\n    if (telemetry != null && telemetry.enabled && start !== -1) {\n      end = performance.now();\n      var duration = end - start;\n      telemetry.performance[displayName].instances += Number(isFirstRenderRef.current);\n      telemetry.performance[displayName].renders++;\n      telemetry.performance[displayName].msTotal += duration;\n      telemetry.performance[displayName].msMin = Math.min(duration, telemetry.performance[displayName].msMin);\n      telemetry.performance[displayName].msMax = Math.max(duration, telemetry.performance[displayName].msMax);\n      isFirstRenderRef.current = false;\n    }\n  };\n\n  return {\n    setStart: setStart,\n    setEnd: setEnd\n  };\n};\nexport var useTelemetry = function useTelemetry(displayName, telemetry) {\n  var isFirstRenderRef = React.useRef(true);\n  return getTelemetry(displayName, telemetry, isFirstRenderRef);\n};\n//# sourceMappingURL=useTelemetry.js.map\n","import * as React from 'react';\nimport { useFluentContext } from '../context';\nimport { getStyles } from '../styles/getStyles';\nexport var useStyles = function useStyles(displayName, options) {\n  var _composeOptions$mapPr;\n\n  var context = useFluentContext();\n  var _options$className = options.className,\n      className = _options$className === void 0 ? process.env.NODE_ENV === 'production' ? '' : 'no-classname-🙉' : _options$className,\n      composeOptions = options.composeOptions,\n      _options$mapPropsToSt = options.mapPropsToStyles,\n      mapPropsToStyles = _options$mapPropsToSt === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToSt,\n      _options$mapPropsToIn = options.mapPropsToInlineStyles,\n      mapPropsToInlineStyles = _options$mapPropsToIn === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToIn,\n      _options$unstable_pro = options.unstable_props,\n      unstable_props = _options$unstable_pro === void 0 ? {} : _options$unstable_pro,\n      _options$rtl = options.rtl,\n      rtl = _options$rtl === void 0 ? false : _options$rtl;\n  var componentStylesProps = mapPropsToStyles(); // `composeProps` should include all props including stylesProps as they can contain state\n\n  var composeProps = Object.assign({}, unstable_props, componentStylesProps);\n  var composeStylesProps = composeOptions == null ? void 0 : (_composeOptions$mapPr = composeOptions.mapPropsToStylesPropsChain) == null ? void 0 : _composeOptions$mapPr.reduce(function (acc, fn) {\n    return Object.assign({}, acc, fn(composeProps));\n  }, {}); // Stores debug information for component.\n\n  var debug = React.useRef({\n    fluentUIDebug: null\n  });\n\n  var _getStyles = getStyles({\n    // Input values\n    allDisplayNames: (composeOptions == null ? void 0 : composeOptions.displayNames) || [displayName],\n    className: (composeOptions == null ? void 0 : composeOptions.className) || className,\n    primaryDisplayName: (composeOptions == null ? void 0 : composeOptions.displayName) || displayName,\n    componentProps: Object.assign({}, componentStylesProps, composeStylesProps),\n    inlineStylesProps: mapPropsToInlineStyles(),\n    // Context values\n    disableAnimations: context.disableAnimations,\n    renderer: context.renderer,\n    rtl: rtl,\n    saveDebug: function saveDebug(fluentUIDebug) {\n      return debug.current = {\n        fluentUIDebug: fluentUIDebug\n      };\n    },\n    theme: context.theme,\n    performance: context.performance,\n    telemetry: context.telemetry\n  }),\n      classes = _getStyles.classes,\n      resolvedStyles = _getStyles.styles;\n\n  return {\n    classes: classes,\n    styles: resolvedStyles\n  };\n};\n//# sourceMappingURL=useStyles.js.map\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\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;\n","/* eslint-disable no-undef */\nvar hasDocument = typeof document === 'object' && document !== null;\nvar hasWindow = typeof window === 'object' && window !== null && window.self === window;\n/* eslint-enable no-undef */\n\nexport var isBrowser = function isBrowser() {\n  return hasDocument && hasWindow;\n};\n//# sourceMappingURL=isBrowser.js.map\n","import { _isSSR } from './setSSR';\n/**\n * Helper to get the document object. Note that in popup window cases, document\n * might be the wrong document, which is why we look at ownerDocument for the\n * truth. Also note that the SSR flag is used to test ssr scenarios even if\n * document is defined (from JSDOM for example.)\n *\n * @public\n */\nexport function getDocument(rootElement) {\n    if (_isSSR || typeof document === 'undefined') {\n        return undefined;\n    }\n    else {\n        var el = rootElement;\n        return el && el.ownerDocument ? el.ownerDocument : document;\n    }\n}\n//# sourceMappingURL=getDocument.js.map","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport { compose, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, createShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Loader } from '../Loader/Loader';\nimport { ButtonGroup } from './ButtonGroup';\nimport { ButtonContent } from './ButtonContent';\nexport var buttonClassName = 'ui-button';\n/**\n * A Button enables users to take an action, such as submitting a form, opening a dialog, etc.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var Button = /*#__PURE__*/function () {\n  var Button = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        active = props.active,\n        as = props.as,\n        children = props.children,\n        content = props.content,\n        icon = props.icon,\n        loader = props.loader,\n        disabled = props.disabled,\n        disabledFocusable = props.disabledFocusable,\n        iconPosition = props.iconPosition,\n        loading = props.loading,\n        text = props.text,\n        primary = props.primary,\n        inverted = props.inverted,\n        size = props.size,\n        iconOnly = props.iconOnly,\n        fluid = props.fluid,\n        circular = props.circular,\n        className = props.className,\n        styles = props.styles,\n        tinted = props.tinted,\n        variables = props.variables,\n        design = props.design;\n    var hasChildren = childrenExist(children);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          as: as,\n          active: active,\n          disabled: disabled,\n          disabledFocusable: disabledFocusable\n        };\n      },\n      actionHandlers: {\n        performClick: function performClick(event) {\n          event.preventDefault();\n          handleClick(event);\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          text: text,\n          primary: primary,\n          disabled: disabled,\n          tinted: tinted,\n          disabledFocusable: disabledFocusable,\n          circular: circular,\n          size: size,\n          loading: loading,\n          inverted: inverted,\n          iconOnly: iconOnly,\n          iconPosition: iconPosition,\n          fluid: fluid,\n          hasContent: !!content\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl,\n      composeOptions: composeOptions,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var ElementType = getElementType(props);\n\n    var renderIcon = function renderIcon() {\n      return createShorthand(composeOptions.slots.icon, icon, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('icon', Object.assign({\n            styles: resolvedStyles.icon\n          }, slotProps.icon));\n        }\n      });\n    };\n\n    var renderLoader = function renderLoader() {\n      return createShorthand(composeOptions.slots.loader, loader || {}, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('loader', Object.assign({\n            styles: resolvedStyles.loader\n          }, slotProps.loader));\n        }\n      });\n    };\n\n    var renderContent = function renderContent() {\n      return createShorthand(composeOptions.slots.content, content, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('content', slotProps.content);\n        }\n      });\n    };\n\n    var handleClick = function handleClick(e) {\n      if (disabled || disabledFocusable) {\n        e.preventDefault();\n        return;\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var handleFocus = function handleFocus(e) {\n      _invoke(props, 'onFocus', e, props);\n    };\n\n    var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), getA11yProps('root', Object.assign({\n      onClick: handleClick,\n      className: classes.root,\n      onFocus: handleFocus,\n      ref: ref\n    }, unhandledProps))), hasChildren ? children : /*#__PURE__*/React.createElement(React.Fragment, null, loading && renderLoader(), iconPosition !== 'after' && renderIcon(), renderContent(), iconPosition === 'after' && renderIcon()));\n    setEnd();\n    return result;\n  }, {\n    className: buttonClassName,\n    displayName: 'Button',\n    slots: {\n      content: ButtonContent,\n      icon: Box,\n      loader: Loader\n    },\n    slotProps: function slotProps(props) {\n      return {\n        content: {\n          size: props.size\n        },\n        loader: {\n          role: undefined\n        }\n      };\n    },\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'circular', 'className', 'content', 'design', 'disabled', 'tinted', 'disabledFocusable', 'fluid', 'icon', 'iconOnly', 'iconPosition', 'inverted', 'loader', 'loading', 'onClick', 'onFocus', 'primary', 'text', 'secondary', 'size', 'styles', 'variables']\n  });\n  Button.defaultProps = {\n    as: 'button',\n    accessibility: buttonBehavior,\n    size: 'medium'\n  };\n  Button.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: 'shorthand'\n  }), {\n    circular: PropTypes.bool,\n    disabled: PropTypes.bool,\n    disabledFocusable: PropTypes.bool,\n    fluid: PropTypes.bool,\n    icon: customPropTypes.shorthandAllowingChildren,\n    iconOnly: PropTypes.bool,\n    iconPosition: PropTypes.oneOf(['before', 'after']),\n    inverted: PropTypes.bool,\n    loader: customPropTypes.itemShorthandWithoutJSX,\n    loading: PropTypes.bool,\n    onClick: PropTypes.func,\n    onFocus: PropTypes.func,\n    tinted: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n    primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n    text: PropTypes.bool,\n    secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n    size: PropTypes.oneOf(['medium', 'small'])\n  });\n  Button.Group = ButtonGroup;\n  Button.Content = ButtonContent;\n  Button.create = createShorthandFactory({\n    Component: Button,\n    mappedProp: 'content'\n  });\n  return Button;\n}();\n//# sourceMappingURL=Button.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useUnhandledProps, useFluentContext, useAccessibility, useStyles, useTelemetry } from '@fluentui/react-bindings';\nexport var textClassName = 'ui-text';\n/**\n * A Text consistently styles and formats occurrences of text.\n */\n\nexport var Text = /*#__PURE__*/function () {\n  var Text = function Text(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Text.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        align = props.align,\n        atMention = props.atMention,\n        children = props.children,\n        className = props.className,\n        color = props.color,\n        content = props.content,\n        design = props.design,\n        disabled = props.disabled,\n        error = props.error,\n        important = props.important,\n        size = props.size,\n        styles = props.styles,\n        success = props.success,\n        timestamp = props.timestamp,\n        truncated = props.truncated,\n        temporary = props.temporary,\n        variables = props.variables,\n        weight = props.weight;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: Text.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Text.displayName, {\n      className: textClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          atMention: atMention,\n          color: color,\n          important: important,\n          timestamp: timestamp,\n          truncated: truncated,\n          disabled: disabled,\n          error: error,\n          success: success,\n          temporary: temporary,\n          align: align,\n          weight: weight,\n          size: size\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var unhandledProps = useUnhandledProps(Text.handledProps, props);\n    var ElementType = getElementType(props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }), unhandledProps)), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  };\n\n  Text.displayName = 'Text';\n  Text.defaultProps = {\n    as: 'span'\n  };\n  Text.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    color: true\n  }), {\n    atMention: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['me'])]),\n    disabled: PropTypes.bool,\n    error: PropTypes.bool,\n    important: PropTypes.bool,\n    size: customPropTypes.size,\n    weight: PropTypes.oneOf(['light', 'semilight', 'regular', 'semibold', 'bold']),\n    success: PropTypes.bool,\n    temporary: PropTypes.bool,\n    align: customPropTypes.align,\n    timestamp: PropTypes.bool,\n    truncated: PropTypes.bool\n  });\n  Text.handledProps = Object.keys(Text.propTypes);\n  Text.create = createShorthandFactory({\n    Component: Text,\n    mappedProp: 'content'\n  });\n  return Text;\n}();\n//# sourceMappingURL=Text.js.map\n","import { getUnhandledProps } from '../utils/getUnhandledProps';\n/**\n * Returns an object consisting of props beyond the scope of the Component.\n * Useful for getting and spreading unknown props from the user.\n *\n * @param handledProps - An array with names of props\n * @param props - A ReactElement props object\n * @returns A shallow copy of the prop object\n */\n\nexport function useUnhandledProps(handledProps, props) {\n  if (process.env.NODE_ENV === 'test') {\n    return getUnhandledProps(handledProps, Object.assign({}, props, {\n      'data-uses-unhanded-props': true\n    }));\n  }\n\n  return getUnhandledProps(handledProps, props);\n}\n//# sourceMappingURL=useUnhandledProps.js.map\n","'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}\n","var basePick = require('./_basePick'),\n    flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n  return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = objectReduce;\n\nfunction objectReduce(obj, reducer, initialValue) {\n  for (var key in obj) {\n    initialValue = reducer(initialValue, obj[key], key, obj);\n  }\n\n  return initialValue;\n}","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n  // No operation performed.\n}\n\nmodule.exports = noop;\n","import _invoke from \"lodash/invoke\";\nimport { treeTitleBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStyles, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, shouldPreventDefaultOnKeyDown } from '../../utils';\nimport { TreeContext } from './context';\nexport var treeTitleClassName = 'ui-tree__title';\nexport var treeTitleSlotClassNames = {\n  indicator: treeTitleClassName + \"__selection-indicator\"\n};\n/**\n * A TreeTitle renders a title of TreeItem.\n */\n\nexport var TreeTitle = /*#__PURE__*/function () {\n  var TreeTitle = function TreeTitle(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(TreeTitle.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n\n    var _React$useContext = React.useContext(TreeContext),\n        focusItemById = _React$useContext.focusItemById,\n        toggleItemActive = _React$useContext.toggleItemActive,\n        toggleItemSelect = _React$useContext.toggleItemSelect;\n\n    var accessibility = props.accessibility,\n        id = props.id,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        design = props.design,\n        hasSubtree = props.hasSubtree,\n        level = props.level,\n        index = props.index,\n        styles = props.styles,\n        treeSize = props.treeSize,\n        variables = props.variables,\n        selectionIndicator = props.selectionIndicator,\n        disabled = props.disabled,\n        selected = props.selected,\n        selectable = props.selectable,\n        expanded = props.expanded,\n        indeterminate = props.indeterminate;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: TreeTitle.displayName,\n      actionHandlers: {\n        performClick: function performClick(e) {\n          if (shouldPreventDefaultOnKeyDown(e)) {\n            e.preventDefault();\n          }\n\n          e.stopPropagation();\n          handleClick(e);\n        },\n        focusParent: function focusParent(e) {\n          // allow bubbling up to parent treeItem\n          focusItemById(props.parent);\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          hasSubtree: hasSubtree,\n          level: level,\n          index: index,\n          treeSize: treeSize,\n          selected: selected,\n          selectable: selectable\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(TreeTitle.displayName, {\n      className: treeTitleClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          selected: selected,\n          disabled: disabled,\n          selectable: selectable,\n          indeterminate: indeterminate,\n          level: level,\n          showIndicator: selectable && (hasSubtree && expanded || selected || indeterminate)\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(TreeTitle.handledProps, props);\n\n    var handleClick = function handleClick(e) {\n      if (hasSubtree) {\n        toggleItemActive(e, id);\n      } else {\n        toggleItemSelect(e, id);\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var selectionIndicatorOverrideProps = function selectionIndicatorOverrideProps(predefinedProps) {\n      return {\n        onClick: function onClick(e) {\n          e.stopPropagation(); // otherwise onClick on title will also be executed\n\n          if (selectable) {\n            toggleItemSelect(e, id);\n          }\n\n          _invoke(predefinedProps, 'onClick', e);\n        }\n      };\n    };\n\n    var selectIndicator = Box.create(selectionIndicator, {\n      defaultProps: function defaultProps() {\n        return Object.assign({\n          as: 'span',\n          selected: selected\n        }, getA11Props('indicator', {\n          className: treeTitleSlotClassNames.indicator,\n          styles: resolvedStyles.selectionIndicator\n        }));\n      },\n      overrideProps: selectionIndicatorOverrideProps\n    });\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick,\n      selected: selected\n    }, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }), unhandledProps)), childrenExist(children) ? children : content, selectIndicator);\n    setEnd();\n    return element;\n  };\n\n  TreeTitle.displayName = 'TreeTitle';\n  TreeTitle.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    id: PropTypes.string,\n    hasSubtree: PropTypes.bool,\n    index: PropTypes.number,\n    level: PropTypes.number,\n    onClick: PropTypes.func,\n    expanded: PropTypes.bool,\n    selected: PropTypes.bool,\n    selectable: PropTypes.bool,\n    treeSize: PropTypes.number,\n    selectionIndicator: customPropTypes.shorthandAllowingChildren,\n    indeterminate: PropTypes.bool,\n    parent: PropTypes.string\n  });\n  TreeTitle.defaultProps = {\n    as: 'a',\n    selectionIndicator: {},\n    accessibility: treeTitleBehavior\n  };\n  TreeTitle.handledProps = Object.keys(TreeTitle.propTypes);\n  TreeTitle.create = createShorthandFactory({\n    Component: TreeTitle,\n    mappedProp: 'content'\n  });\n  return TreeTitle;\n}();\n//# sourceMappingURL=TreeTitle.js.map\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n  return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = clone;\n","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n  return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n  INIT: \"@@redux/INIT\" + randomString(),\n  REPLACE: \"@@redux/REPLACE\" + randomString(),\n  PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n    return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n  }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n  if (typeof obj !== 'object' || obj === null) return false;\n  var proto = obj;\n\n  while (Object.getPrototypeOf(proto) !== null) {\n    proto = Object.getPrototypeOf(proto);\n  }\n\n  return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n  var _ref2;\n\n  if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n    throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n  }\n\n  if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n    enhancer = preloadedState;\n    preloadedState = undefined;\n  }\n\n  if (typeof enhancer !== 'undefined') {\n    if (typeof enhancer !== 'function') {\n      throw new Error('Expected the enhancer to be a function.');\n    }\n\n    return enhancer(createStore)(reducer, preloadedState);\n  }\n\n  if (typeof reducer !== 'function') {\n    throw new Error('Expected the reducer to be a function.');\n  }\n\n  var currentReducer = reducer;\n  var currentState = preloadedState;\n  var currentListeners = [];\n  var nextListeners = currentListeners;\n  var isDispatching = false;\n  /**\n   * This makes a shallow copy of currentListeners so we can use\n   * nextListeners as a temporary list while dispatching.\n   *\n   * This prevents any bugs around consumers calling\n   * subscribe/unsubscribe in the middle of a dispatch.\n   */\n\n  function ensureCanMutateNextListeners() {\n    if (nextListeners === currentListeners) {\n      nextListeners = currentListeners.slice();\n    }\n  }\n  /**\n   * Reads the state tree managed by the store.\n   *\n   * @returns {any} The current state tree of your application.\n   */\n\n\n  function getState() {\n    if (isDispatching) {\n      throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n    }\n\n    return currentState;\n  }\n  /**\n   * Adds a change listener. It will be called any time an action is dispatched,\n   * and some part of the state tree may potentially have changed. You may then\n   * call `getState()` to read the current state tree inside the callback.\n   *\n   * You may call `dispatch()` from a change listener, with the following\n   * caveats:\n   *\n   * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n   * If you subscribe or unsubscribe while the listeners are being invoked, this\n   * will not have any effect on the `dispatch()` that is currently in progress.\n   * However, the next `dispatch()` call, whether nested or not, will use a more\n   * recent snapshot of the subscription list.\n   *\n   * 2. The listener should not expect to see all state changes, as the state\n   * might have been updated multiple times during a nested `dispatch()` before\n   * the listener is called. It is, however, guaranteed that all subscribers\n   * registered before the `dispatch()` started will be called with the latest\n   * state by the time it exits.\n   *\n   * @param {Function} listener A callback to be invoked on every dispatch.\n   * @returns {Function} A function to remove this change listener.\n   */\n\n\n  function subscribe(listener) {\n    if (typeof listener !== 'function') {\n      throw new Error('Expected the listener to be a function.');\n    }\n\n    if (isDispatching) {\n      throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n    }\n\n    var isSubscribed = true;\n    ensureCanMutateNextListeners();\n    nextListeners.push(listener);\n    return function unsubscribe() {\n      if (!isSubscribed) {\n        return;\n      }\n\n      if (isDispatching) {\n        throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n      }\n\n      isSubscribed = false;\n      ensureCanMutateNextListeners();\n      var index = nextListeners.indexOf(listener);\n      nextListeners.splice(index, 1);\n    };\n  }\n  /**\n   * Dispatches an action. It is the only way to trigger a state change.\n   *\n   * The `reducer` function, used to create the store, will be called with the\n   * current state tree and the given `action`. Its return value will\n   * be considered the **next** state of the tree, and the change listeners\n   * will be notified.\n   *\n   * The base implementation only supports plain object actions. If you want to\n   * dispatch a Promise, an Observable, a thunk, or something else, you need to\n   * wrap your store creating function into the corresponding middleware. For\n   * example, see the documentation for the `redux-thunk` package. Even the\n   * middleware will eventually dispatch plain object actions using this method.\n   *\n   * @param {Object} action A plain object representing “what changed”. It is\n   * a good idea to keep actions serializable so you can record and replay user\n   * sessions, or use the time travelling `redux-devtools`. An action must have\n   * a `type` property which may not be `undefined`. It is a good idea to use\n   * string constants for action types.\n   *\n   * @returns {Object} For convenience, the same action object you dispatched.\n   *\n   * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n   * return something else (for example, a Promise you can await).\n   */\n\n\n  function dispatch(action) {\n    if (!isPlainObject(action)) {\n      throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n    }\n\n    if (typeof action.type === 'undefined') {\n      throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n    }\n\n    if (isDispatching) {\n      throw new Error('Reducers may not dispatch actions.');\n    }\n\n    try {\n      isDispatching = true;\n      currentState = currentReducer(currentState, action);\n    } finally {\n      isDispatching = false;\n    }\n\n    var listeners = currentListeners = nextListeners;\n\n    for (var i = 0; i < listeners.length; i++) {\n      var listener = listeners[i];\n      listener();\n    }\n\n    return action;\n  }\n  /**\n   * Replaces the reducer currently used by the store to calculate the state.\n   *\n   * You might need this if your app implements code splitting and you want to\n   * load some of the reducers dynamically. You might also need this if you\n   * implement a hot reloading mechanism for Redux.\n   *\n   * @param {Function} nextReducer The reducer for the store to use instead.\n   * @returns {void}\n   */\n\n\n  function replaceReducer(nextReducer) {\n    if (typeof nextReducer !== 'function') {\n      throw new Error('Expected the nextReducer to be a function.');\n    }\n\n    currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n    // Any reducers that existed in both the new and old rootReducer\n    // will receive the previous state. This effectively populates\n    // the new state tree with any relevant data from the old one.\n\n    dispatch({\n      type: ActionTypes.REPLACE\n    });\n  }\n  /**\n   * Interoperability point for observable/reactive libraries.\n   * @returns {observable} A minimal observable of state changes.\n   * For more information, see the observable proposal:\n   * https://github.com/tc39/proposal-observable\n   */\n\n\n  function observable() {\n    var _ref;\n\n    var outerSubscribe = subscribe;\n    return _ref = {\n      /**\n       * The minimal observable subscription method.\n       * @param {Object} observer Any object that can be used as an observer.\n       * The observer object should have a `next` method.\n       * @returns {subscription} An object with an `unsubscribe` method that can\n       * be used to unsubscribe the observable from the store, and prevent further\n       * emission of values from the observable.\n       */\n      subscribe: function subscribe(observer) {\n        if (typeof observer !== 'object' || observer === null) {\n          throw new TypeError('Expected the observer to be an object.');\n        }\n\n        function observeState() {\n          if (observer.next) {\n            observer.next(getState());\n          }\n        }\n\n        observeState();\n        var unsubscribe = outerSubscribe(observeState);\n        return {\n          unsubscribe: unsubscribe\n        };\n      }\n    }, _ref[$$observable] = function () {\n      return this;\n    }, _ref;\n  } // When a store is created, an \"INIT\" action is dispatched so that every\n  // reducer returns their initial state. This effectively populates\n  // the initial state tree.\n\n\n  dispatch({\n    type: ActionTypes.INIT\n  });\n  return _ref2 = {\n    dispatch: dispatch,\n    subscribe: subscribe,\n    getState: getState,\n    replaceReducer: replaceReducer\n  }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n  /* eslint-disable no-console */\n  if (typeof console !== 'undefined' && typeof console.error === 'function') {\n    console.error(message);\n  }\n  /* eslint-enable no-console */\n\n\n  try {\n    // This error was thrown as a convenience so that if you enable\n    // \"break on all exceptions\" in your console,\n    // it would pause the execution at this line.\n    throw new Error(message);\n  } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n  var actionType = action && action.type;\n  var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n  return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n  var reducerKeys = Object.keys(reducers);\n  var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n  if (reducerKeys.length === 0) {\n    return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n  }\n\n  if (!isPlainObject(inputState)) {\n    return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n  }\n\n  var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n    return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n  });\n  unexpectedKeys.forEach(function (key) {\n    unexpectedKeyCache[key] = true;\n  });\n  if (action && action.type === ActionTypes.REPLACE) return;\n\n  if (unexpectedKeys.length > 0) {\n    return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n  }\n}\n\nfunction assertReducerShape(reducers) {\n  Object.keys(reducers).forEach(function (key) {\n    var reducer = reducers[key];\n    var initialState = reducer(undefined, {\n      type: ActionTypes.INIT\n    });\n\n    if (typeof initialState === 'undefined') {\n      throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n    }\n\n    if (typeof reducer(undefined, {\n      type: ActionTypes.PROBE_UNKNOWN_ACTION()\n    }) === 'undefined') {\n      throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n    }\n  });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n  var reducerKeys = Object.keys(reducers);\n  var finalReducers = {};\n\n  for (var i = 0; i < reducerKeys.length; i++) {\n    var key = reducerKeys[i];\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (typeof reducers[key] === 'undefined') {\n        warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n      }\n    }\n\n    if (typeof reducers[key] === 'function') {\n      finalReducers[key] = reducers[key];\n    }\n  }\n\n  var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n  // keys multiple times.\n\n  var unexpectedKeyCache;\n\n  if (process.env.NODE_ENV !== 'production') {\n    unexpectedKeyCache = {};\n  }\n\n  var shapeAssertionError;\n\n  try {\n    assertReducerShape(finalReducers);\n  } catch (e) {\n    shapeAssertionError = e;\n  }\n\n  return function combination(state, action) {\n    if (state === void 0) {\n      state = {};\n    }\n\n    if (shapeAssertionError) {\n      throw shapeAssertionError;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n      var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n      if (warningMessage) {\n        warning(warningMessage);\n      }\n    }\n\n    var hasChanged = false;\n    var nextState = {};\n\n    for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n      var _key = finalReducerKeys[_i];\n      var reducer = finalReducers[_key];\n      var previousStateForKey = state[_key];\n      var nextStateForKey = reducer(previousStateForKey, action);\n\n      if (typeof nextStateForKey === 'undefined') {\n        var errorMessage = getUndefinedStateErrorMessage(_key, action);\n        throw new Error(errorMessage);\n      }\n\n      nextState[_key] = nextStateForKey;\n      hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n    }\n\n    return hasChanged ? nextState : state;\n  };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n  return function () {\n    return dispatch(actionCreator.apply(this, arguments));\n  };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n  if (typeof actionCreators === 'function') {\n    return bindActionCreator(actionCreators, dispatch);\n  }\n\n  if (typeof actionCreators !== 'object' || actionCreators === null) {\n    throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n  }\n\n  var boundActionCreators = {};\n\n  for (var key in actionCreators) {\n    var actionCreator = actionCreators[key];\n\n    if (typeof actionCreator === 'function') {\n      boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n    }\n  }\n\n  return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n  }\n\n  if (enumerableOnly) keys = keys.filter(function (sym) {\n    return Object.getOwnPropertyDescriptor(object, sym).enumerable;\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(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\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n  for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n    funcs[_key] = arguments[_key];\n  }\n\n  if (funcs.length === 0) {\n    return function (arg) {\n      return arg;\n    };\n  }\n\n  if (funcs.length === 1) {\n    return funcs[0];\n  }\n\n  return funcs.reduce(function (a, b) {\n    return function () {\n      return a(b.apply(void 0, arguments));\n    };\n  });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n  for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n    middlewares[_key] = arguments[_key];\n  }\n\n  return function (createStore) {\n    return function () {\n      var store = createStore.apply(void 0, arguments);\n\n      var _dispatch = function dispatch() {\n        throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n      };\n\n      var middlewareAPI = {\n        getState: store.getState,\n        dispatch: function dispatch() {\n          return _dispatch.apply(void 0, arguments);\n        }\n      };\n      var chain = middlewares.map(function (middleware) {\n        return middleware(middlewareAPI);\n      });\n      _dispatch = compose.apply(void 0, chain)(store.dispatch);\n      return _objectSpread2({}, store, {\n        dispatch: _dispatch\n      });\n    };\n  };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n  warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","/**\n * Tests if children are nil in React and Preact.\n *\n * @param children - The children prop of a component.\n */\nexport var childrenExist = function childrenExist(children) {\n  if (children === null || children === undefined) return false;\n  if (typeof children === 'number') return !isNaN(children);\n  if (Array.isArray(children)) return children.length > 0;\n  return !!children;\n};\n//# sourceMappingURL=childrenExist.js.map\n","var _rtlKeyMap;\n\nimport { keyboardKey } from '@fluentui/accessibility';\nimport { shouldHandleOnKeys } from './shouldHandleOnKeys';\nvar rtlKeyMap = (_rtlKeyMap = {}, _rtlKeyMap[keyboardKey.ArrowRight] = keyboardKey.ArrowLeft, _rtlKeyMap[keyboardKey.ArrowLeft] = keyboardKey.ArrowRight, _rtlKeyMap);\n/**\n * Assigns onKeyDown handler to the slot element, based on Component's actions\n * and keys mappings defined in Accessibility behavior\n * @param {AccessibilityActionHandlers} componentActionHandlers Actions handlers defined in a component.\n * @param {KeyActions} behaviorActions Mappings of actions and keys defined in Accessibility behavior.\n * @param {boolean} isRtlEnabled Indicates if Left and Right arrow keys should be swapped in RTL mode.\n */\n\nexport var getKeyDownHandlers = function getKeyDownHandlers(componentActionHandlers, behaviorActions, isRtlEnabled) {\n  var slotKeyHandlers = {};\n\n  if (!componentActionHandlers || !behaviorActions) {\n    return slotKeyHandlers;\n  }\n\n  var componentHandlerNames = Object.keys(componentActionHandlers);\n  Object.keys(behaviorActions).forEach(function (slotName) {\n    var behaviorSlotActions = behaviorActions[slotName];\n    var handledActions = Object.keys(behaviorSlotActions).filter(function (actionName) {\n      var slotAction = behaviorSlotActions[actionName];\n      var actionHasKeyCombinations = Array.isArray(slotAction.keyCombinations) && slotAction.keyCombinations.length > 0;\n      var actionHandledByComponent = componentHandlerNames.indexOf(actionName) !== -1;\n      return actionHasKeyCombinations && actionHandledByComponent;\n    });\n\n    if (handledActions.length > 0) {\n      slotKeyHandlers[slotName] = {\n        onKeyDown: function onKeyDown(event) {\n          handledActions.forEach(function (actionName) {\n            var keyCombinations = behaviorSlotActions[actionName].keyCombinations;\n\n            if (keyCombinations) {\n              if (isRtlEnabled) {\n                keyCombinations = keyCombinations.map(function (keyCombination) {\n                  var keyToRtlKey = rtlKeyMap[keyCombination.keyCode];\n\n                  if (keyToRtlKey) {\n                    keyCombination.keyCode = keyToRtlKey;\n                  }\n\n                  return keyCombination;\n                });\n              }\n\n              if (shouldHandleOnKeys(event, keyCombinations)) {\n                componentActionHandlers[actionName](event);\n              }\n            }\n          });\n        }\n      };\n    }\n  });\n  return slotKeyHandlers;\n};\n//# sourceMappingURL=getKeyDownHandlers.js.map\n","import { getCode } from '@fluentui/accessibility';\n\nvar isKeyModifiersMatch = function isKeyModifiersMatch(modifierValue, combinationValue) {\n  if (combinationValue === undefined) {\n    return true;\n  }\n\n  return modifierValue === combinationValue;\n};\n\nexport var shouldHandleOnKeys = function shouldHandleOnKeys(event, keysCombinations) {\n  return keysCombinations.some(function (keysCombination) {\n    return keysCombination.keyCode === getCode(event) && isKeyModifiersMatch(event.altKey, keysCombination.altKey) && isKeyModifiersMatch(event.shiftKey, keysCombination.shiftKey) && isKeyModifiersMatch(event.metaKey, keysCombination.metaKey) && isKeyModifiersMatch(event.ctrlKey, keysCombination.ctrlKey);\n  });\n};\n//# sourceMappingURL=shouldHandleOnKeys.js.map\n","import { getKeyDownHandlers } from './getKeyDownHandlers';\nvar emptyBehavior = {\n  attributes: {},\n  keyHandlers: {}\n};\nexport var getAccessibility = function getAccessibility(displayName, behavior, behaviorProps, isRtlEnabled, actionHandlers) {\n  if (behavior === null || behavior === undefined) {\n    return emptyBehavior;\n  }\n\n  var definition = behavior(behaviorProps);\n  var keyHandlers = actionHandlers && definition.keyActions ? getKeyDownHandlers(actionHandlers, definition.keyActions, isRtlEnabled) : {};\n\n  if (definition.focusZone) {\n    definition.focusZone.props = Object.assign({\n      // maintain behavior of focus zone in v7 behaviors\n      preventFocusRestoration: true\n    }, definition.focusZone.props);\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    // For the non-production builds we enable the runtime accessibility attributes validator.\n    // We're adding the data-aa-class attribute which is being consumed by the validator, the\n    // schema is located in @fluentui/ability-attributes package.\n    if (definition.attributes) {\n      Object.keys(definition.attributes).forEach(function (slotName) {\n        var validatorName = definition.attributes[slotName]['data-aa-class'] || \"\" + displayName + (slotName === 'root' ? '' : \"__\" + slotName);\n\n        if (!definition.attributes[slotName]) {\n          definition.attributes[slotName] = {};\n        }\n\n        definition.attributes[slotName]['data-aa-class'] = validatorName;\n      });\n    }\n  }\n\n  return Object.assign({}, emptyBehavior, definition, {\n    keyHandlers: keyHandlers\n  });\n};\n//# sourceMappingURL=getAccessibility.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _keys from \"lodash/keys\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport { FocusZoneDirection, FocusZoneTabbableElements, IS_ENTER_DISABLED_ATTRIBUTE, IS_FOCUSABLE_ATTRIBUTE, getCode, keyboardKey, SpacebarKey } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport cx from 'classnames';\nimport * as ReactDOM from 'react-dom';\nimport * as PropTypes from 'prop-types';\nimport { elementContains, findScrollableParent, getDocument as _getDocument, getParent, getWindow, raiseClick, shouldWrapFocus as _shouldWrapFocus } from '@uifabric/utilities';\nimport { getElementType } from '../utils/getElementType';\nimport { getUnhandledProps } from '../utils/getUnhandledProps';\nimport { getNextElement, getPreviousElement, isElementFocusZone, isElementFocusSubZone, isElementTabbable, getElementIndexPath, getFocusableByIndexPath, FOCUSZONE_ID_ATTRIBUTE } from './focusUtilities';\nvar TABINDEX = 'tabindex';\nvar NO_VERTICAL_WRAP = 'data-no-vertical-wrap';\nvar NO_HORIZONTAL_WRAP = 'data-no-horizontal-wrap';\nvar LARGE_DISTANCE_FROM_CENTER = 999999999;\nvar LARGE_NEGATIVE_DISTANCE_FROM_CENTER = -999999999;\nvar _allInstances = {};\nvar outerZones = {\n  _windowToOuterZoneMap: new Map(),\n  register: function register(window, FZ) {\n    var _this$_windowToOuterZ2;\n\n    if (this._windowToOuterZoneMap.get(window)) {\n      var _this$_windowToOuterZ;\n\n      (_this$_windowToOuterZ = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ.add(FZ);\n    } else {\n      this._windowToOuterZoneMap.set(window, new Set([FZ]));\n    }\n\n    return (_this$_windowToOuterZ2 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ2.size;\n  },\n  unregister: function unregister(window, FZ) {\n    var _this$_windowToOuterZ3, _this$_windowToOuterZ4;\n\n    (_this$_windowToOuterZ3 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ3.delete(FZ);\n\n    if (((_this$_windowToOuterZ4 = this._windowToOuterZoneMap.get(window)) == null ? void 0 : _this$_windowToOuterZ4.size) === 0) {\n      this._windowToOuterZoneMap.delete(window);\n    }\n  },\n  getOutZone: function getOutZone(window) {\n    return this._windowToOuterZoneMap.get(window);\n  }\n};\nvar ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\nvar ALLOW_VIRTUAL_ELEMENTS = false;\n/**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n */\n\nfunction _onKeyDownCapture(ev) {\n  if (getCode(ev) === keyboardKey.Tab) {\n    var _outerZones$getOutZon;\n\n    (_outerZones$getOutZon = outerZones.getOutZone(getWindow(ev.target))) == null ? void 0 : _outerZones$getOutZon.forEach(function (zone) {\n      return zone.updateTabIndexes();\n    });\n  }\n}\n\nexport var FocusZone = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(FocusZone, _React$Component);\n\n  /** The most recently focused child element. */\n\n  /**\n   * The index path to the last focused child element.\n   */\n\n  /**\n   * Flag to define when we've intentionally parked focus on the root element to temporarily\n   * hold focus until items appear within the zone.\n   */\n\n  /** The child element with tabindex=0. */\n\n  /** Used to allow us to move to next focusable element even when we're focusing on a input element when pressing tab */\n  function FocusZone(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    _this._root = {\n      current: null\n    };\n    _this._id = void 0;\n    _this._activeElement = void 0;\n    _this._lastIndexPath = void 0;\n    _this._isParked = false;\n    _this._parkedTabIndex = void 0;\n    _this._defaultFocusElement = void 0;\n    _this._focusAlignment = void 0;\n    _this._isInnerZone = void 0;\n    _this._processingTabKey = void 0;\n    _this.windowElement = void 0;\n\n    _this.setRef = function (elem) {\n      // findDOMNode needed to get correct DOM ref with react-hot-loader, see https://github.com/gaearon/react-hot-loader/issues/964\n      _this._root.current = ReactDOM.findDOMNode(elem);\n    };\n\n    _this._onBlur = function () {\n      _this.setParkedFocus(false);\n    };\n\n    _this._onFocus = function (ev) {\n      var _this$props = _this.props,\n          onActiveElementChanged = _this$props.onActiveElementChanged,\n          stopFocusPropagation = _this$props.stopFocusPropagation,\n          shouldFocusInnerElementWhenReceivedFocus = _this$props.shouldFocusInnerElementWhenReceivedFocus,\n          defaultTabbableElement = _this$props.defaultTabbableElement;\n      var newActiveElement;\n\n      var isImmediateDescendant = _this.isImmediateDescendantOfZone(ev.target);\n\n      if (isImmediateDescendant) {\n        newActiveElement = ev.target;\n      } else {\n        var parentElement = ev.target;\n\n        while (parentElement && parentElement !== _this._root.current) {\n          if (isElementTabbable(parentElement) && _this.isImmediateDescendantOfZone(parentElement)) {\n            newActiveElement = parentElement;\n            break;\n          }\n\n          parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n        }\n      } // If an inner focusable element should be focused when FocusZone container receives focus\n\n\n      if (shouldFocusInnerElementWhenReceivedFocus && ev.target === _this._root.current) {\n        var maybeElementToFocus = defaultTabbableElement && typeof defaultTabbableElement === 'function' && defaultTabbableElement(_this._root.current); // try to focus defaultTabbable element\n\n        if (maybeElementToFocus && isElementTabbable(maybeElementToFocus)) {\n          newActiveElement = maybeElementToFocus;\n          maybeElementToFocus.focus();\n        } else {\n          // force focus on first focusable element\n          _this.focus(true);\n\n          if (_this._activeElement) {\n            // set to null as new active element was handled in method above\n            newActiveElement = null;\n          }\n        }\n      }\n\n      if (newActiveElement && newActiveElement !== _this._activeElement) {\n        _this._activeElement = newActiveElement;\n\n        if (isImmediateDescendant) {\n          _this.setFocusAlignment(_this._activeElement);\n\n          _this.updateTabIndexes();\n        }\n      }\n\n      if (onActiveElementChanged) {\n        onActiveElementChanged(_this._activeElement, ev);\n      }\n\n      if (stopFocusPropagation) {\n        ev.stopPropagation();\n      }\n\n      _invoke(_this.props, 'onFocus', ev);\n    };\n\n    _this._onMouseDown = function (ev) {\n      var disabled = _this.props.disabled;\n\n      if (disabled) {\n        return;\n      }\n\n      var target = ev.target;\n      var path = [];\n\n      while (target && target !== _this._root.current) {\n        path.push(target);\n        target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n      }\n\n      while (path.length) {\n        target = path.pop();\n\n        if (target && isElementTabbable(target)) {\n          _this.setActiveElement(target, true);\n        }\n\n        if (isElementFocusZone(target)) {\n          // Stop here since the focus zone will take care of its own children.\n          break;\n        }\n      }\n    };\n\n    _this._onKeyDown = function (ev) {\n      var _this$props2 = _this.props,\n          direction = _this$props2.direction,\n          disabled = _this$props2.disabled,\n          shouldEnterInnerZone = _this$props2.shouldEnterInnerZone,\n          pagingSupportDisabled = _this$props2.pagingSupportDisabled;\n\n      if (disabled) {\n        return undefined;\n      }\n\n      var doc = _getDocument(_this._root.current);\n\n      if (_this.props.onKeyDown) {\n        _this.props.onKeyDown(ev);\n      } // @ts-ignore\n\n\n      if (doc.activeElement === _this._root.current && _this._isInnerZone) {\n        // If this element has focus, it is being controlled by a parent.\n        // Ignore the keystroke.\n        return undefined;\n      } // If the default has been prevented, do not process keyboard events.\n\n\n      if (ev.isDefaultPrevented()) {\n        return undefined;\n      }\n\n      if (shouldEnterInnerZone && shouldEnterInnerZone(ev) && _this.isImmediateDescendantOfZone(ev.target)) {\n        // Try to focus\n        var innerZone = _this.getFirstInnerZone();\n\n        if (innerZone) {\n          if (!innerZone.focus(true)) {\n            return undefined;\n          }\n        } else if (isElementFocusSubZone(ev.target)) {\n          if (!_this.focusElement(getNextElement(ev.target, ev.target.firstChild, true))) {\n            return undefined;\n          }\n        } else {\n          return undefined;\n        }\n      } else if (ev.altKey) {\n        return undefined;\n      } else {\n        switch (getCode(ev)) {\n          case SpacebarKey:\n            // @ts-ignore\n            if (_this.tryInvokeClickForFocusable(ev.target)) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowLeft:\n            if (direction !== FocusZoneDirection.vertical) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusLeft()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowRight:\n            if (direction !== FocusZoneDirection.vertical) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusRight()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowUp:\n            if (direction !== FocusZoneDirection.horizontal) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusUp()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.ArrowDown:\n            if (direction !== FocusZoneDirection.horizontal) {\n              _this.preventDefaultWhenHandled(ev);\n\n              if (_this.moveFocusDown()) {\n                break;\n              }\n            }\n\n            return undefined;\n\n          case keyboardKey.PageDown:\n            if (!pagingSupportDisabled && _this.moveFocusPaging(true)) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.PageUp:\n            if (!pagingSupportDisabled && _this.moveFocusPaging(false)) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.Tab:\n            if (_this.props.handleTabKey === FocusZoneTabbableElements.all || _this.props.handleTabKey === FocusZoneTabbableElements.inputOnly && _this.isElementInput(ev.target)) {\n              var focusChanged = false;\n              _this._processingTabKey = true;\n\n              if (direction === FocusZoneDirection.vertical || !_this.shouldWrapFocus(_this._activeElement, NO_HORIZONTAL_WRAP)) {\n                focusChanged = ev.shiftKey ? _this.moveFocusUp() : _this.moveFocusDown();\n              } else {\n                var tabWithDirection = _this.props.isRtl ? !ev.shiftKey : ev.shiftKey;\n                focusChanged = tabWithDirection ? _this.moveFocusLeft() : _this.moveFocusRight();\n              }\n\n              _this._processingTabKey = false;\n\n              if (focusChanged) {\n                break;\n              }\n            } else if (_this.props.shouldResetActiveElementWhenTabFromZone) {\n              _this._activeElement = null;\n            }\n\n            return undefined;\n\n          case keyboardKey.Home:\n            if (_this.isContentEditableElement(ev.target) || _this.isElementInput(ev.target) && !_this.shouldInputLoseFocus(ev.target, false)) {\n              return false;\n            }\n\n            var firstChild = _this._root.current && _this._root.current.firstChild;\n\n            if (_this._root.current && firstChild && _this.focusElement(getNextElement(_this._root.current, firstChild, true))) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.End:\n            if (_this.isContentEditableElement(ev.target) || _this.isElementInput(ev.target) && !_this.shouldInputLoseFocus(ev.target, false)) {\n              return false;\n            }\n\n            var lastChild = _this._root.current && _this._root.current.lastChild;\n\n            if (_this._root.current && _this.focusElement(getPreviousElement(_this._root.current, lastChild, true, true, true))) {\n              break;\n            }\n\n            return undefined;\n\n          case keyboardKey.Enter:\n            // @ts-ignore\n            if (_this.tryInvokeClickForFocusable(ev.target)) {\n              break;\n            }\n\n            return undefined;\n\n          default:\n            return undefined;\n        }\n      }\n\n      ev.preventDefault();\n      ev.stopPropagation();\n      return undefined;\n    };\n\n    _this.getHorizontalDistanceFromCenter = function (isForward, activeRect, targetRect) {\n      var leftAlignment = _this._focusAlignment.left; // ClientRect values can be floats that differ by very small fractions of a decimal.\n      // If the difference between top and bottom are within a pixel then we should treat\n      // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n      // but without Math.Floor they will be handled incorrectly.\n\n      var targetRectTop = Math.floor(targetRect.top);\n      var activeRectBottom = Math.floor(activeRect.bottom);\n      var targetRectBottom = Math.floor(targetRect.bottom);\n      var activeRectTop = Math.floor(activeRect.top);\n      var isValidCandidateOnpagingDown = isForward && targetRectTop > activeRectBottom;\n      var isValidCandidateOnpagingUp = !isForward && targetRectBottom < activeRectTop;\n\n      if (isValidCandidateOnpagingDown || isValidCandidateOnpagingUp) {\n        if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n          return 0;\n        }\n\n        return Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n      }\n\n      if (!_this.shouldWrapFocus(_this._activeElement, NO_VERTICAL_WRAP)) {\n        return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n      }\n\n      return LARGE_DISTANCE_FROM_CENTER;\n    };\n\n    _this._id = _uniqueId('FocusZone');\n    _this._focusAlignment = {\n      left: 0,\n      top: 0\n    };\n    _this._processingTabKey = false;\n    return _this;\n  }\n\n  var _proto = FocusZone.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    _allInstances[this._id] = this;\n    this.setRef(this); // called here to support functional components, we only need HTMLElement ref anyway\n\n    if (!this._root.current) {\n      return;\n    } // @ts-ignore\n\n\n    this.windowElement = getWindow(this._root.current);\n    var parentElement = getParent(this._root.current, ALLOW_VIRTUAL_ELEMENTS);\n\n    var doc = _getDocument(this._root.current); // @ts-ignore\n\n\n    while (parentElement && parentElement !== doc.body && parentElement.nodeType === 1) {\n      if (isElementFocusZone(parentElement)) {\n        this._isInnerZone = true;\n        break;\n      }\n\n      parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n    }\n\n    if (!this._isInnerZone && this.windowElement) {\n      var _outerZones$getOutZon2;\n\n      outerZones.register(this.windowElement, this);\n\n      if (((_outerZones$getOutZon2 = outerZones.getOutZone(this.windowElement)) == null ? void 0 : _outerZones$getOutZon2.size) === 1) {\n        this.windowElement.addEventListener('keydown', _onKeyDownCapture, true);\n      }\n    }\n\n    this._root.current.addEventListener('blur', this._onBlur, true); // Assign initial tab indexes so that we can set initial focus as appropriate.\n\n\n    this.updateTabIndexes();\n\n    if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {\n      this._activeElement = this.getDocument().querySelector(this.props.defaultTabbableElement);\n    }\n\n    if (this.props.shouldFocusOnMount) {\n      this.focus();\n    }\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate() {\n    if (!this._root.current) {\n      return;\n    }\n\n    var doc = _getDocument(this._root.current);\n\n    if (doc && this._lastIndexPath && (doc.activeElement === doc.body || doc.activeElement === null || !this.props.preventFocusRestoration && doc.activeElement === this._root.current)) {\n      // The element has been removed after the render, attempt to restore focus.\n      var elementToFocus = getFocusableByIndexPath(this._root.current, this._lastIndexPath);\n\n      if (elementToFocus) {\n        this.setActiveElement(elementToFocus, true);\n        elementToFocus.focus();\n        this.setParkedFocus(false);\n      } else {\n        // We had a focus path to restore, but now that path is unresolvable. Park focus\n        // on the container until we can try again.\n        this.setParkedFocus(true);\n      }\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    delete _allInstances[this._id];\n    outerZones.unregister(this.windowElement, this);\n\n    if (!this._isInnerZone) {\n      if (this.windowElement && !outerZones.getOutZone(this.windowElement)) {\n        this.windowElement.removeEventListener('keydown', _onKeyDownCapture, true);\n      }\n    }\n\n    if (this._root.current) {\n      this._root.current.removeEventListener('blur', this._onBlur, true);\n    }\n\n    this._activeElement = null;\n    this._defaultFocusElement = null;\n  };\n\n  _proto.render = function render() {\n    var className = this.props.className;\n    var ElementType = getElementType(this.props);\n    var unhandledProps = getUnhandledProps(_keys(FocusZone.propTypes), this.props); // Note, right before rendering/reconciling proceeds, we need to record if focus\n    // was in the zone before the update. This helper will track this and, if focus\n    // was actually in the zone, what the index path to the element is at this time.\n    // Then, later in componentDidUpdate, we can evaluate if we need to restore it in\n    // the case the element was removed.\n\n    this.evaluateFocusBeforeRender();\n    return /*#__PURE__*/React.createElement(ElementType, _extends({}, unhandledProps, {\n      className: cx(FocusZone.className, className),\n      \"data-focuszone-id\": this._id,\n      onKeyDown: this._onKeyDown,\n      onFocus: this._onFocus,\n      onMouseDownCapture: this._onMouseDown\n    }), this.props.children);\n  }\n  /**\n   * Sets focus to the first tabbable item in the zone.\n   * @param forceIntoFirstElement - If true, focus will be forced into the first element, even if focus is already in the focus zone.\n   * @returns True if focus could be set to an active element, false if no operation was taken.\n   */\n  ;\n\n  _proto.focus = function focus(forceIntoFirstElement) {\n    if (forceIntoFirstElement === void 0) {\n      forceIntoFirstElement = false;\n    }\n\n    if (this._root.current) {\n      if (!forceIntoFirstElement && this._root.current.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' && this._isInnerZone) {\n        var ownerZoneElement = this.getOwnerZone(this._root.current);\n\n        if (ownerZoneElement !== this._root.current) {\n          var ownerZone = _allInstances[ownerZoneElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n\n          return !!ownerZone && ownerZone.focusElement(this._root.current);\n        }\n\n        return false;\n      }\n\n      if (!forceIntoFirstElement && this._activeElement && elementContains(this._root.current, this._activeElement, ALLOW_VIRTUAL_ELEMENTS) && isElementTabbable(this._activeElement)) {\n        this._activeElement.focus();\n\n        return true;\n      }\n\n      var firstChild = this._root.current.firstChild;\n      return this.focusElement(getNextElement(this._root.current, firstChild, true));\n    }\n\n    return false;\n  }\n  /**\n   * Sets focus to the last tabbable item in the zone.\n   * @returns True if focus could be set to an active element, false if no operation was taken.\n   */\n  ;\n\n  _proto.focusLast = function focusLast() {\n    if (this._root.current) {\n      var lastChild = this._root.current && this._root.current.lastChild;\n      return this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true));\n    }\n\n    return false;\n  }\n  /**\n   * Sets focus to a specific child element within the zone. This can be used in conjunction with\n   * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n   * location and then focus.)\n   * @param element - The child element within the zone to focus.\n   * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n   * @returns True if focus could be set to an active element, false if no operation was taken.\n   */\n  ;\n\n  _proto.focusElement = function focusElement(element, forceAlignment) {\n    var shouldReceiveFocus = this.props.shouldReceiveFocus;\n\n    if (shouldReceiveFocus && !shouldReceiveFocus(element)) {\n      return false;\n    }\n\n    if (element) {\n      this.setActiveElement(element, forceAlignment);\n\n      if (this._activeElement) {\n        this._activeElement.focus();\n      }\n\n      return true;\n    }\n\n    return false;\n  };\n\n  // Record if focus was in the zone, what the index path to the element is at this time.\n  _proto.evaluateFocusBeforeRender = function evaluateFocusBeforeRender() {\n    if (!this._root.current) {\n      return;\n    }\n\n    var doc = _getDocument(this._root.current);\n\n    if (!doc) {\n      return;\n    }\n\n    var focusedElement = doc.activeElement; // Only update the index path if we are not parked on the root.\n\n    if (focusedElement !== this._root.current) {\n      var shouldRestoreFocus = elementContains(this._root.current, focusedElement, ALLOW_VIRTUAL_ELEMENTS);\n      this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(this._root.current, doc.activeElement) : undefined;\n    }\n  }\n  /**\n   * When focus is in the zone at render time but then all focusable elements are removed,\n   * we \"park\" focus temporarily on the root. Once we update with focusable children, we restore\n   * focus to the closest path from previous. If the user tabs away from the parked container,\n   * we restore focusability to the pre-parked state.\n   */\n  ;\n\n  _proto.setParkedFocus = function setParkedFocus(isParked) {\n    if (this._root.current && this._isParked !== isParked) {\n      this._isParked = isParked;\n\n      if (isParked) {\n        if (!this.props.allowFocusRoot) {\n          this._parkedTabIndex = this._root.current.getAttribute('tabindex');\n\n          this._root.current.setAttribute('tabindex', '-1');\n        }\n\n        this._root.current.focus();\n      } else if (!this.props.allowFocusRoot) {\n        if (this._parkedTabIndex) {\n          this._root.current.setAttribute('tabindex', this._parkedTabIndex);\n\n          this._parkedTabIndex = undefined;\n        } else {\n          this._root.current.removeAttribute('tabindex');\n        }\n      }\n    }\n  };\n\n  _proto.setActiveElement = function setActiveElement(element, forceAlignment) {\n    var previousActiveElement = this._activeElement;\n    this._activeElement = element;\n\n    if (previousActiveElement) {\n      if (isElementFocusZone(previousActiveElement)) {\n        this.updateTabIndexes(previousActiveElement);\n      }\n\n      previousActiveElement.tabIndex = -1;\n    }\n\n    if (this._activeElement) {\n      if (!this._focusAlignment || forceAlignment) {\n        this.setFocusAlignment(element, true, true);\n      }\n\n      this._activeElement.tabIndex = 0;\n    }\n  };\n\n  _proto.preventDefaultWhenHandled = function preventDefaultWhenHandled(ev) {\n    this.props.preventDefaultWhenHandled && ev.preventDefault();\n  }\n  /**\n   * Handle the keystrokes.\n   */\n  ;\n\n  /**\n   * Walk up the dom try to find a focusable element.\n   */\n  _proto.tryInvokeClickForFocusable = function tryInvokeClickForFocusable(targetElement) {\n    var target = targetElement;\n\n    if (target === this._root.current || !this.props.shouldRaiseClicks) {\n      return false;\n    }\n\n    do {\n      if (target.tagName === 'BUTTON' || target.tagName === 'A' || target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') {\n        return false;\n      }\n\n      if (this.isImmediateDescendantOfZone(target) && target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' && target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true') {\n        raiseClick(target);\n        return true;\n      }\n\n      target = getParent(target, ALLOW_VIRTUAL_ELEMENTS);\n    } while (target !== this._root.current);\n\n    return false;\n  }\n  /**\n   * Traverse to find first child zone.\n   */\n  ;\n\n  _proto.getFirstInnerZone = function getFirstInnerZone(forRootElement) {\n    var rootElement = forRootElement || this._activeElement || this._root.current;\n\n    if (!rootElement) {\n      return null;\n    }\n\n    if (isElementFocusZone(rootElement)) {\n      return _allInstances[rootElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n    }\n\n    var child = rootElement.firstElementChild;\n\n    while (child) {\n      if (isElementFocusZone(child)) {\n        return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE)];\n      }\n\n      var match = this.getFirstInnerZone(child);\n\n      if (match) {\n        return match;\n      }\n\n      child = child.nextElementSibling;\n    }\n\n    return null;\n  };\n\n  _proto.moveFocus = function moveFocus(isForward, getDistanceFromCenter, // @ts-ignore\n  ev, useDefaultWrap) {\n    if (useDefaultWrap === void 0) {\n      useDefaultWrap = true;\n    }\n\n    var element = this._activeElement;\n    var candidateDistance = -1;\n    var candidateElement = undefined;\n    var changedFocus = false;\n    var isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\n\n    if (!element || !this._root.current) {\n      return false;\n    }\n\n    if (this.isElementInput(element)) {\n      if (!this.shouldInputLoseFocus(element, isForward)) {\n        return false;\n      }\n    }\n\n    var activeRect = isBidirectional ? element.getBoundingClientRect() : null;\n\n    do {\n      element = isForward ? getNextElement(this._root.current, element) : getPreviousElement(this._root.current, element);\n\n      if (isBidirectional) {\n        if (element) {\n          var _targetRect = element.getBoundingClientRect();\n\n          var elementDistance = getDistanceFromCenter(activeRect, _targetRect);\n\n          if (elementDistance === -1 && candidateDistance === -1) {\n            candidateElement = element;\n            break;\n          }\n\n          if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          }\n\n          if (candidateDistance >= 0 && elementDistance < 0) {\n            break;\n          }\n        }\n      } else {\n        candidateElement = element;\n        break;\n      }\n    } while (element); // Focus the closest candidate\n\n\n    if (candidateElement && candidateElement !== this._activeElement) {\n      changedFocus = true;\n      this.focusElement(candidateElement);\n    } else if (this.props.isCircularNavigation && useDefaultWrap) {\n      if (isForward) {\n        return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n      }\n\n      return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n    }\n\n    return changedFocus;\n  };\n\n  _proto.moveFocusDown = function moveFocusDown() {\n    var _this2 = this;\n\n    var targetTop = -1;\n    var leftAlignment = this._focusAlignment.left;\n\n    if (this.moveFocus(true, function (activeRect, targetRect) {\n      var distance = -1; // ClientRect values can be floats that differ by very small fractions of a decimal.\n      // If the difference between top and bottom are within a pixel then we should treat\n      // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n      // but without Math.Floor they will be handled incorrectly.\n\n      var targetRectTop = Math.floor(targetRect.top);\n      var activeRectBottom = Math.floor(activeRect.bottom);\n\n      if (targetRectTop < activeRectBottom) {\n        if (!_this2.shouldWrapFocus(_this2._activeElement, NO_VERTICAL_WRAP)) {\n          return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n        }\n\n        return LARGE_DISTANCE_FROM_CENTER;\n      }\n\n      if (targetTop === -1 && targetRectTop >= activeRectBottom || targetRectTop === targetTop) {\n        targetTop = targetRectTop;\n\n        if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n          distance = 0;\n        } else {\n          distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n        }\n      }\n\n      return distance;\n    })) {\n      this.setFocusAlignment(this._activeElement, true, true);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusUp = function moveFocusUp() {\n    var _this3 = this;\n\n    var targetTop = -1;\n    var leftAlignment = this._focusAlignment.left;\n\n    if (this.moveFocus(false, function (activeRect, targetRect) {\n      var distance = -1; // ClientRect values can be floats that differ by very small fractions of a decimal.\n      // If the difference between top and bottom are within a pixel then we should treat\n      // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n      // but without Math.Floor they will be handled incorrectly.\n\n      var targetRectBottom = Math.floor(targetRect.bottom);\n      var targetRectTop = Math.floor(targetRect.top);\n      var activeRectTop = Math.floor(activeRect.top);\n\n      if (targetRectBottom > activeRectTop) {\n        if (!_this3.shouldWrapFocus(_this3._activeElement, NO_VERTICAL_WRAP)) {\n          return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n        }\n\n        return LARGE_DISTANCE_FROM_CENTER;\n      }\n\n      if (targetTop === -1 && targetRectBottom <= activeRectTop || targetRectTop === targetTop) {\n        targetTop = targetRectTop;\n\n        if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n          distance = 0;\n        } else {\n          distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n        }\n      }\n\n      return distance;\n    })) {\n      this.setFocusAlignment(this._activeElement, true, true);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusLeft = function moveFocusLeft() {\n    var _this4 = this;\n\n    var shouldWrap = this.shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n    if (this.moveFocus( // @ts-ignore\n    this.props.isRtl, function (activeRect, targetRect) {\n      var distance = -1;\n      var topBottomComparison;\n\n      if (_this4.props.isRtl) {\n        // When in RTL, this comparison should be the same as the one in moveFocusRight for LTR.\n        // Going left at a leftmost rectangle will go down a line instead of up a line like in LTR.\n        // This is important, because we want to be comparing the top of the target rect\n        // with the bottom of the active rect.\n        topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n      } else {\n        topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n      }\n\n      if (topBottomComparison && targetRect.right <= activeRect.right && _this4.props.direction !== FocusZoneDirection.vertical) {\n        distance = activeRect.right - targetRect.right;\n      } else if (!shouldWrap) {\n        distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n      }\n\n      return distance;\n    }, undefined\n    /* ev */\n    , shouldWrap)) {\n      this.setFocusAlignment(this._activeElement, true, false);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusRight = function moveFocusRight() {\n    var _this5 = this;\n\n    var shouldWrap = this.shouldWrapFocus(this._activeElement, NO_HORIZONTAL_WRAP);\n\n    if (this.moveFocus(!this.props.isRtl, function (activeRect, targetRect) {\n      var distance = -1;\n      var topBottomComparison;\n\n      if (_this5.props.isRtl) {\n        // When in RTL, this comparison should be the same as the one in moveFocusLeft for LTR.\n        // Going right at a rightmost rectangle will go up a line instead of down a line like in LTR.\n        // This is important, because we want to be comparing the bottom of the target rect\n        // with the top of the active rect.\n        topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n      } else {\n        topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n      }\n\n      if (topBottomComparison && targetRect.left >= activeRect.left && _this5.props.direction !== FocusZoneDirection.vertical) {\n        distance = targetRect.left - activeRect.left;\n      } else if (!shouldWrap) {\n        distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n      }\n\n      return distance;\n    }, undefined\n    /* ev */\n    , shouldWrap)) {\n      this.setFocusAlignment(this._activeElement, true, false);\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.moveFocusPaging = function moveFocusPaging(isForward, useDefaultWrap) {\n    if (useDefaultWrap === void 0) {\n      useDefaultWrap = true;\n    }\n\n    var element = this._activeElement;\n\n    if (!element || !this._root.current) {\n      return false;\n    }\n\n    if (this.isElementInput(element)) {\n      if (!this.shouldInputLoseFocus(element, isForward)) {\n        return false;\n      }\n    }\n\n    var scrollableParent = findScrollableParent(element);\n\n    if (!scrollableParent) {\n      return false;\n    }\n\n    var candidateDistance = -1;\n    var candidateElement = undefined;\n    var targetTop = -1;\n    var targetBottom = -1;\n    var pagesize = scrollableParent.clientHeight;\n    var activeRect = element.getBoundingClientRect();\n\n    do {\n      element = isForward ? getNextElement(this._root.current, element) : getPreviousElement(this._root.current, element);\n\n      if (element) {\n        var _targetRect2 = element.getBoundingClientRect();\n\n        var targetRectTop = Math.floor(_targetRect2.top);\n        var activeRectBottom = Math.floor(activeRect.bottom);\n        var targetRectBottom = Math.floor(_targetRect2.bottom);\n        var activeRectTop = Math.floor(activeRect.top);\n        var elementDistance = this.getHorizontalDistanceFromCenter(isForward, activeRect, _targetRect2);\n        var isElementPassedPageSizeOnPagingDown = isForward && targetRectTop > activeRectBottom + pagesize;\n        var isElementPassedPageSizeOnPagingUp = !isForward && targetRectBottom < activeRectTop - pagesize;\n\n        if (isElementPassedPageSizeOnPagingDown || isElementPassedPageSizeOnPagingUp) {\n          break;\n        }\n\n        if (elementDistance > -1) {\n          // for paging down\n          if (isForward && targetRectTop > targetTop) {\n            targetTop = targetRectTop;\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          } else if (!isForward && targetRectBottom < targetBottom) {\n            // for paging up\n            targetBottom = targetRectBottom;\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          } else if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n            candidateDistance = elementDistance;\n            candidateElement = element;\n          }\n        }\n      }\n    } while (element);\n\n    var changedFocus = false; // Focus the closest candidate\n\n    if (candidateElement && candidateElement !== this._activeElement) {\n      changedFocus = true;\n      this.focusElement(candidateElement);\n      this.setFocusAlignment(candidateElement, false, true);\n    } else if (this.props.isCircularNavigation && useDefaultWrap) {\n      if (isForward) {\n        return this.focusElement(getNextElement(this._root.current, this._root.current.firstElementChild, true));\n      }\n\n      return this.focusElement(getPreviousElement(this._root.current, this._root.current.lastElementChild, true, true, true));\n    }\n\n    return changedFocus;\n  };\n\n  _proto.setFocusAlignment = function setFocusAlignment(element, isHorizontal, isVertical) {\n    if (this.props.direction === FocusZoneDirection.bidirectional && (!this._focusAlignment || isHorizontal || isVertical)) {\n      var rect = element.getBoundingClientRect();\n      var left = rect.left + rect.width / 2;\n      var top = rect.top + rect.height / 2;\n\n      if (!this._focusAlignment) {\n        this._focusAlignment = {\n          left: left,\n          top: top\n        };\n      }\n\n      if (isHorizontal) {\n        this._focusAlignment.left = left;\n      }\n\n      if (isVertical) {\n        this._focusAlignment.top = top;\n      }\n    }\n  };\n\n  _proto.isImmediateDescendantOfZone = function isImmediateDescendantOfZone(element) {\n    return this.getOwnerZone(element) === this._root.current;\n  };\n\n  _proto.getOwnerZone = function getOwnerZone(element) {\n    var doc = _getDocument(this._root.current);\n\n    var parentElement = getParent(element, ALLOW_VIRTUAL_ELEMENTS); // @ts-ignore\n\n    while (parentElement && parentElement !== this._root.current && parentElement !== doc.body) {\n      if (isElementFocusZone(parentElement)) {\n        return parentElement;\n      }\n\n      parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n    }\n\n    return this._root.current;\n  };\n\n  _proto.updateTabIndexes = function updateTabIndexes(onElement) {\n    var element = onElement;\n\n    if (!this._activeElement && this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'function') {\n      this._activeElement = this.props.defaultTabbableElement(this._root.current);\n    }\n\n    if (!element && this._root.current) {\n      this._defaultFocusElement = null;\n      element = this._root.current;\n\n      if (this._activeElement && !elementContains(element, this._activeElement, ALLOW_VIRTUAL_ELEMENTS)) {\n        this._activeElement = null;\n      }\n    } // If active element changes state to disabled, set it to null.\n    // Otherwise, we lose keyboard accessibility to other elements in focus zone.\n\n\n    if (this._activeElement && !isElementTabbable(this._activeElement)) {\n      this._activeElement = null;\n    }\n\n    var childNodes = element && element.children;\n\n    for (var childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\n      var child = childNodes[childIndex];\n\n      if (!isElementFocusZone(child)) {\n        // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\n        if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\n          child.setAttribute(TABINDEX, '-1');\n        }\n\n        if (isElementTabbable(child)) {\n          if (this.props.disabled) {\n            child.setAttribute(TABINDEX, '-1');\n          } else if (!this._isInnerZone && (!this._activeElement && !this._defaultFocusElement || this._activeElement === child)) {\n            this._defaultFocusElement = child;\n\n            if (child.getAttribute(TABINDEX) !== '0') {\n              child.setAttribute(TABINDEX, '0');\n            }\n          } else if (child.getAttribute(TABINDEX) !== '-1') {\n            child.setAttribute(TABINDEX, '-1');\n          }\n        } else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\n          // Disgusting IE hack. Sad face.\n          child.setAttribute('focusable', 'false');\n        }\n      } else if (child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n        if (!this._isInnerZone && (!this._activeElement && !this._defaultFocusElement || this._activeElement === child)) {\n          this._defaultFocusElement = child;\n\n          if (child.getAttribute(TABINDEX) !== '0') {\n            child.setAttribute(TABINDEX, '0');\n          }\n        } else if (child.getAttribute(TABINDEX) !== '-1') {\n          child.setAttribute(TABINDEX, '-1');\n        }\n      }\n\n      this.updateTabIndexes(child);\n    }\n  };\n\n  _proto.isContentEditableElement = function isContentEditableElement(element) {\n    return element && element.getAttribute('contenteditable') === 'true';\n  };\n\n  _proto.isElementInput = function isElementInput(element) {\n    if (element && element.tagName && (element.tagName.toLowerCase() === 'input' || element.tagName.toLowerCase() === 'textarea')) {\n      return true;\n    }\n\n    return false;\n  };\n\n  _proto.shouldInputLoseFocus = function shouldInputLoseFocus(element, isForward) {\n    // If a tab was used, we want to focus on the next element.\n    if (!this._processingTabKey && element && element.type && ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1) {\n      var selectionStart = element.selectionStart;\n      var selectionEnd = element.selectionEnd;\n      var isRangeSelected = selectionStart !== selectionEnd;\n      var inputValue = element.value;\n      var isReadonly = element.readOnly; // We shouldn't lose focus in the following cases:\n      // 1. There is range selected.\n      // 2. When selection start is larger than 0 and it is backward and not readOnly.\n      // 3. when selection start is not the end of length and it is forward and not readOnly.\n      // 4. We press any of the arrow keys when our handleTabKey isn't none or undefined (only losing focus if we hit tab)\n      // and if shouldInputLoseFocusOnArrowKey is defined, if scenario prefers to not loose the focus which is determined by calling the\n      // callback shouldInputLoseFocusOnArrowKey\n\n      if (isRangeSelected || selectionStart > 0 && !isForward && !isReadonly || selectionStart !== inputValue.length && isForward && !isReadonly || !!this.props.handleTabKey && !(this.props.shouldInputLoseFocusOnArrowKey && this.props.shouldInputLoseFocusOnArrowKey(element))) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  _proto.shouldWrapFocus = function shouldWrapFocus(element, noWrapDataAttribute) {\n    return !!this.props.checkForNoWrap ? _shouldWrapFocus(element, noWrapDataAttribute) : true;\n  };\n\n  _proto.getDocument = function getDocument() {\n    return _getDocument(this._root.current);\n  };\n\n  return FocusZone;\n}(React.Component);\nFocusZone.propTypes = {\n  className: PropTypes.string,\n  direction: PropTypes.number,\n  defaultTabbableElement: PropTypes.func,\n  shouldFocusOnMount: PropTypes.bool,\n  shouldResetActiveElementWhenTabFromZone: PropTypes.bool,\n  shouldRaiseClicks: PropTypes.bool,\n  shouldFocusInnerElementWhenReceivedFocus: PropTypes.bool,\n  disabled: PropTypes.bool,\n  as: PropTypes.elementType,\n  isCircularNavigation: PropTypes.bool,\n  shouldEnterInnerZone: PropTypes.func,\n  onActiveElementChanged: PropTypes.func,\n  shouldReceiveFocus: PropTypes.func,\n  handleTabKey: PropTypes.number,\n  shouldInputLoseFocusOnArrowKey: PropTypes.func,\n  stopFocusPropagation: PropTypes.bool,\n  onFocus: PropTypes.func,\n  preventDefaultWhenHandled: PropTypes.bool,\n  isRtl: PropTypes.bool,\n  preventFocusRestoration: PropTypes.bool,\n  pagingSupportDisabled: PropTypes.bool\n};\nFocusZone.defaultProps = {\n  isCircularNavigation: false,\n  direction: FocusZoneDirection.bidirectional,\n  as: 'div',\n  preventDefaultWhenHandled: true,\n  shouldRaiseClicks: false\n};\nFocusZone.displayName = 'FocusZone';\nFocusZone.className = 'ms-FocusZone';\nFocusZone.outerZones = outerZones;\n//# sourceMappingURL=FocusZone.js.map\n","import * as React from 'react';\nimport { getAccessibility } from '../accessibility/getAccessibility';\nimport { FocusZone } from '../FocusZone/FocusZone';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\nexport var useAccessibility = function useAccessibility(behavior, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      actionHandlers = _options.actionHandlers,\n      _options$debugName = _options.debugName,\n      debugName = _options$debugName === void 0 ? 'Undefined' : _options$debugName,\n      _options$mapPropsToBe = _options.mapPropsToBehavior,\n      mapPropsToBehavior = _options$mapPropsToBe === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToBe,\n      _options$rtl = _options.rtl,\n      rtl = _options$rtl === void 0 ? false : _options$rtl;\n  var definition = getAccessibility(debugName, behavior, mapPropsToBehavior(), rtl, actionHandlers);\n  var latestDefinition = React.useRef();\n  var slotHandlers = React.useRef({});\n  var slotProps = React.useRef({});\n  useIsomorphicLayoutEffect(function () {\n    latestDefinition.current = definition;\n  });\n\n  var getA11yProps = function getA11yProps(slotName, userProps) {\n    var hasKeyDownHandlers = Boolean(definition.keyHandlers[slotName] || userProps.onKeyDown);\n    var childBehavior = definition.childBehaviors ? definition.childBehaviors[slotName] : undefined;\n    slotProps.current[slotName] = userProps; // We want to avoid adding event handlers until it's really needed\n\n    if (hasKeyDownHandlers) {\n      if (!slotHandlers.current[slotName]) {\n        slotHandlers.current[slotName] = function (e) {\n          var _latestDefinition$cur, _latestDefinition$cur2;\n\n          var accessibilityHandler = (_latestDefinition$cur = latestDefinition.current) == null ? void 0 : (_latestDefinition$cur2 = _latestDefinition$cur.keyHandlers[slotName]) == null ? void 0 : _latestDefinition$cur2.onKeyDown;\n          var userHandler = slotProps.current[slotName].onKeyDown;\n          if (accessibilityHandler) accessibilityHandler(e);\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          if (userHandler) userHandler.apply(void 0, [e].concat(args));\n        };\n      }\n    } else {\n      delete slotHandlers.current[slotName];\n    }\n\n    var finalProps = Object.assign({}, childBehavior && {\n      accessibility: childBehavior\n    }, definition.attributes[slotName], userProps, {\n      onKeyDown: slotHandlers.current[slotName]\n    });\n    return finalProps;\n  }; // Provides an experimental handling for FocusZone definition in behaviors\n\n\n  getA11yProps.unstable_wrapWithFocusZone = function (element) {\n    if (definition.focusZone) {\n      var child = element;\n\n      if (process.env.NODE_ENV !== 'production') {\n        child = React.Children.only(element);\n      }\n\n      return /*#__PURE__*/React.createElement(FocusZone, Object.assign({}, definition.focusZone.props, child.props, {\n        as: child.type,\n        isRtl: rtl\n      }));\n    }\n\n    return element;\n  };\n\n  getA11yProps.unstable_behaviorDefinition = function () {\n    return definition;\n  };\n\n  return getA11yProps;\n};\n//# sourceMappingURL=useAccessibility.js.map\n","import * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var skeletonShapeClassName = 'ui-skeleton__shape';\n/**\n * A SkeletonShape represents a shape (Image/Button/etc...) that will be loaded\n */\n\nexport var SkeletonShape = /*#__PURE__*/function () {\n  var SkeletonShape = compose(Box, {\n    className: skeletonShapeClassName,\n    displayName: 'SkeletonShape',\n    overrideStyles: true,\n    shorthandConfig: {},\n    handledProps: ['round', 'width', 'height'],\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var width = _ref.width,\n          height = _ref.height,\n          round = _ref.round;\n      return {\n        width: width,\n        height: height,\n        round: round\n      };\n    }\n  });\n  SkeletonShape.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    width: PropTypes.string,\n    height: PropTypes.string,\n    round: PropTypes.bool\n  });\n  SkeletonShape.defaultProps = {\n    as: 'span',\n    width: '100px',\n    height: '100px',\n    round: false\n  };\n  return SkeletonShape;\n}();\n//# sourceMappingURL=SkeletonShape.js.map\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _scrollbar = require('./scrollbar');\n\nvar _scrollbar2 = _interopRequireDefault(_scrollbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _scrollbar2.default;\nmodule.exports = exports['default'];","import { keyboardKey } from '../../keyboard-key';\n/**\n * @specification\n * Adds attribute 'aria-disabled=true' based on the property 'disabled' to 'input' slot.\n * Adds attribute 'aria-required=true' based on the property 'required' to 'input' slot.\n * Adds attribute 'aria-invalid=true' based on the property 'error' to 'input' slot.\n * Triggers 'clear' action with 'Escape' on 'input'.\n */\n\nexport var inputBehavior = function inputBehavior(props) {\n  return {\n    attributes: {\n      input: Object.assign({\n        'aria-disabled': props.disabled\n      }, props.required && {\n        'aria-required': true\n      }, props.error && {\n        'aria-invalid': true\n      })\n    },\n    keyActions: {\n      input: {\n        clear: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=inputBehavior.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nimport * as PropTypes from 'prop-types';\nexport var inputLabelClassName = 'ui-input__label';\n/**\n * An InputLabel provides a slot for label in the Input.\n */\n\nexport var InputLabel = /*#__PURE__*/function () {\n  var InputLabel = compose(Box, {\n    className: inputLabelClassName,\n    displayName: 'InputLabel',\n    overrideStyles: true,\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var labelPosition = _ref.labelPosition,\n          required = _ref.required,\n          hasValue = _ref.hasValue;\n      return {\n        labelPosition: labelPosition,\n        required: required,\n        hasValue: hasValue\n      };\n    },\n    handledProps: ['required', 'labelPosition', 'hasValue'],\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  InputLabel.defaultProps = {\n    as: 'label'\n  };\n  InputLabel.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    labelPosition: PropTypes.oneOf(['inside', 'inline']),\n    required: PropTypes.bool,\n    hasValue: PropTypes.bool\n  });\n  return InputLabel;\n}();\n//# sourceMappingURL=InputLabel.js.map\n","import _get from \"lodash/get\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { inputBehavior } from '@fluentui/accessibility';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { partitionHTMLProps, commonPropTypes, createShorthandFactory, createShorthand, getOrGenerateIdFromShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useAutoControlled, getElementType, useUnhandledProps, useTelemetry, useFluentContext, useStyles, useAccessibility, compose } from '@fluentui/react-bindings';\nimport { ExclamationCircleIcon, CheckmarkCircleIcon, CloseIcon } from '@fluentui/react-icons-northstar';\nimport { InputLabel } from './InputLabel';\nimport { FormFieldBaseContext } from '../Form/utils/formFieldBaseContext';\nexport var inputClassName = 'ui-input';\nexport var inputSlotClassNames = {\n  input: inputClassName + \"__input\",\n  icon: inputClassName + \"__icon\"\n};\n/**\n * An Input is a field used to elicit an input from a user.\n *\n * @accessibility\n * For good screen reader experience set `aria-label` or `aria-labelledby` attribute for input.\n */\n\nexport var Input = /*#__PURE__*/function () {\n  var Input = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        input = props.input,\n        type = props.type,\n        wrapper = props.wrapper,\n        disabled = props.disabled,\n        fluid = props.fluid,\n        inverted = props.inverted,\n        inline = props.inline,\n        clearable = props.clearable,\n        icon = props.icon,\n        iconPosition = props.iconPosition,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        required = props.required,\n        successIndicator = props.successIndicator,\n        error = props.error,\n        errorIndicator = props.errorIndicator,\n        showSuccessIndicator = props.showSuccessIndicator,\n        label = props.label,\n        labelPosition = props.labelPosition;\n    var inputRef = React.useRef();\n\n    var _React$useContext = React.useContext(FormFieldBaseContext),\n        labelId = _React$useContext.labelId;\n\n    var inputId = React.useRef();\n    inputId.current = props.id || getOrGenerateIdFromShorthand('ui-input-', '', inputId.current);\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n\n    var _partitionHTMLProps = partitionHTMLProps(unhandledProps),\n        htmlInputProps = _partitionHTMLProps[0],\n        restProps = _partitionHTMLProps[1];\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultValue,\n      value: props.value,\n      initialValue: ''\n    }),\n        value = _useAutoControlled[0],\n        setValue = _useAutoControlled[1];\n\n    var hasValue = !!value && (value == null ? void 0 : value.length) !== 0;\n    var isShowSuccessIndicatorUndefined = typeof showSuccessIndicator === 'undefined';\n    var requiredAndSuccessful = isShowSuccessIndicatorUndefined ? (required && hasValue || showSuccessIndicator) && !error : showSuccessIndicator;\n    var hasIcon = !!icon || showSuccessIndicator || required && isShowSuccessIndicatorUndefined || !_isNil(error);\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: inputClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          fluid: fluid,\n          inverted: inverted,\n          inline: inline,\n          disabled: disabled,\n          clearable: clearable,\n          hasIcon: hasIcon,\n          requiredAndSuccessful: requiredAndSuccessful,\n          iconPosition: iconPosition,\n          hasValue: hasValue,\n          labelPosition: labelPosition,\n          error: error\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl,\n      composeOptions: composeOptions,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: composeOptions.displayName,\n      actionHandlers: {\n        clear: function clear(e) {\n          if (clearable && value !== '') {\n            e.stopPropagation();\n            e.nativeEvent && e.nativeEvent.stopPropagation();\n            handleOnClear(e);\n          }\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          disabled: disabled,\n          required: required,\n          error: error\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var handleIconOverrides = function handleIconOverrides(predefinedProps) {\n      return {\n        onClick: function onClick(e) {\n          if (!disabled) {\n            handleOnClear(e);\n            inputRef.current.focus();\n          }\n\n          _invoke(predefinedProps, 'onClick', e, props);\n        }\n      };\n    };\n\n    var handleChange = function handleChange(e) {\n      if (disabled) {\n        return;\n      }\n\n      var newValue = _get(e, 'target.value');\n\n      _invoke(props, 'onChange', e, Object.assign({}, props, {\n        value: newValue\n      }));\n\n      setValue(newValue);\n    };\n\n    var handleOnClear = function handleOnClear(e) {\n      if (clearable) {\n        _invoke(props, 'onChange', e, Object.assign({}, props, {\n          value: ''\n        }));\n\n        setValue('');\n      }\n    };\n\n    var computeIcon = function computeIcon() {\n      if (clearable && (value == null ? void 0 : value.length) !== 0) {\n        return /*#__PURE__*/React.createElement(CloseIcon, {\n          outline: true\n        });\n      }\n\n      if (requiredAndSuccessful) {\n        return successIndicator;\n      }\n\n      if (error) {\n        return errorIndicator;\n      }\n\n      return icon || null;\n    };\n\n    var labelElement = createShorthand(composeOptions.slots.label, label, {\n      defaultProps: function defaultProps() {\n        return {\n          labelPosition: labelPosition,\n          label: label,\n          required: required,\n          htmlFor: inputId.current,\n          hasValue: hasValue,\n          id: labelId\n        };\n      }\n    });\n    var inputElement = Box.create({}, {\n      defaultProps: function defaultProps() {\n        return {\n          children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n            innerRef: function innerRef(inputElement) {\n              handleRef(inputRef, inputElement);\n              handleRef(props.inputRef, inputElement);\n              handleRef(ref, inputElement);\n            }\n          }, createShorthand(composeOptions.slots.control, input || type, {\n            defaultProps: function defaultProps() {\n              return getA11yProps('input', Object.assign({}, htmlInputProps, {\n                as: 'input',\n                disabled: disabled,\n                type: type,\n                required: required,\n                value: value || '',\n                id: inputId.current,\n                className: inputSlotClassNames.input,\n                styles: resolvedStyles.input,\n                onChange: handleChange\n              }));\n            }\n          })), createShorthand(composeOptions.slots.icon, computeIcon(), {\n            defaultProps: function defaultProps() {\n              return getA11yProps('icon', {\n                className: inputSlotClassNames.icon,\n                styles: resolvedStyles.icon\n              });\n            },\n            overrideProps: handleIconOverrides\n          })),\n          styles: resolvedStyles.inputContainer\n        };\n      }\n    });\n    var element = Box.create(wrapper, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('root', Object.assign({\n          className: classes.root,\n          children: /*#__PURE__*/React.createElement(React.Fragment, null, labelElement, inputElement),\n          styles: resolvedStyles.root\n        }, restProps));\n      },\n      overrideProps: {\n        as: wrapper && wrapper.as || ElementType\n      }\n    });\n    setEnd();\n    return element;\n  }, {\n    className: inputClassName,\n    displayName: 'Input',\n    slots: {\n      control: Box,\n      icon: Box,\n      label: InputLabel\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'design', 'styles', 'variables', 'clearable', 'defaultValue', 'disabled', 'fluid', 'icon', 'iconPosition', 'input', 'inputRef', 'inline', 'inverted', 'onChange', 'type', 'value', 'wrapper', 'required', 'successIndicator', 'error', 'errorIndicator', 'showSuccessIndicator', 'label', 'labelPosition']\n  });\n  Input.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    clearable: PropTypes.bool,\n    defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n    disabled: PropTypes.bool,\n    fluid: PropTypes.bool,\n    label: customPropTypes.itemShorthand,\n    labelPosition: PropTypes.oneOf(['inside', 'inline']),\n    icon: customPropTypes.shorthandAllowingChildren,\n    iconPosition: PropTypes.oneOf(['start', 'end']),\n    input: customPropTypes.itemShorthand,\n    inputRef: customPropTypes.ref,\n    inline: PropTypes.bool,\n    inverted: PropTypes.bool,\n    onChange: PropTypes.func,\n    type: PropTypes.string,\n    value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    wrapper: customPropTypes.wrapperShorthand,\n    required: PropTypes.bool,\n    successIndicator: customPropTypes.shorthandAllowingChildren,\n    error: PropTypes.bool,\n    errorIndicator: customPropTypes.shorthandAllowingChildren,\n    showSuccessIndicator: PropTypes.bool\n  });\n  Input.defaultProps = {\n    accessibility: inputBehavior,\n    type: 'text',\n    wrapper: {},\n    iconPosition: 'end',\n    errorIndicator: /*#__PURE__*/React.createElement(ExclamationCircleIcon, null),\n    successIndicator: /*#__PURE__*/React.createElement(CheckmarkCircleIcon, {\n      outline: true\n    })\n  };\n  Input.Label = InputLabel;\n  Input.create = createShorthandFactory({\n    Component: Input\n  });\n  return Input;\n}();\n//# sourceMappingURL=Input.js.map\n","var arraySome = require('./_arraySome'),\n    baseIteratee = require('./_baseIteratee'),\n    baseSome = require('./_baseSome'),\n    isArray = require('./isArray'),\n    isIterateeCall = require('./_isIterateeCall');\n\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 */\nfunction some(collection, predicate, guard) {\n  var func = isArray(collection) ? arraySome : baseSome;\n  if (guard && isIterateeCall(collection, predicate, guard)) {\n    predicate = undefined;\n  }\n  return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;\n","import React from \"react\";\nimport * as FluentUIIcons from \"@fluentui/react-icons-northstar\";\nvar Icons = FluentUIIcons;\nexport default (function (_a) {\n    var icon = _a.icon;\n    var componentName = icon + \"Icon\";\n    if (Icons.hasOwnProperty(componentName)) {\n        var IconComponent = Icons[componentName];\n        return React.createElement(IconComponent, { outline: true });\n    }\n    else {\n        if (process.env.NODE_ENV === \"development\")\n            console.warn(\"No such icon available:\", icon);\n        return null;\n    }\n});\n//# sourceMappingURL=Icon.js.map","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\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    return r;\n};\nimport groupBy from \"lodash/groupBy\";\nexport var defaultMinWidth = 240;\nexport var accessoryWidth = 40;\nexport var staticSpacing = 40;\nvar defaultHidePriority = Infinity;\nexport var columnMinWidth = function (columnKey, columns) {\n    switch (columnKey) {\n        case \"overflow\":\n        case \"selection\":\n            return accessoryWidth;\n        default:\n            return columns[columnKey].minWidth || defaultMinWidth;\n    }\n};\nexport default function getBreakpoints(columns, hasActions, selectable) {\n    var preparedColumns = Object.keys(columns)\n        // flatten columns and add key as value and defaults\n        .map(function (columnKey) { return (__assign({ key: columnKey, hidePriority: defaultHidePriority }, columns[columnKey])); })\n        // sort by priority\n        .sort(function (columnA, columnB) { return columnA.hidePriority - columnB.hidePriority; });\n    // group columns between those that can be hidden and those that can’t\n    var preparedColumnsByHideable = __assign({ true: [], false: [] }, groupBy(preparedColumns, function (column) { return !!column.hideable; }));\n    // define the set of columns that must be included in all breakpoints\n    var baseSet = new Set(preparedColumnsByHideable[\"false\"]\n        .map(function (column) { return column.key; })\n        .concat(__spreadArrays((selectable ? [\"selection\"] : []), (hasActions || preparedColumnsByHideable[\"true\"].length > 0\n        ? [\"overflow\"]\n        : []))));\n    // accumulate breakpoints by each hide-able columns' minimum width\n    return preparedColumnsByHideable[\"true\"].reduce(function (acc, column, i, arr) {\n        var minWidth = columnMinWidth(column.key, columns);\n        var cursor = acc.cursor + minWidth;\n        return {\n            cursor: cursor,\n            breakpoints: acc.breakpoints.set(cursor, new Set(Array.from(acc.breakpoints.get(acc.cursor) || baseSet).concat(__spreadArrays([\n                column.key\n            ], (i + 1 < arr.length ? [\"overflow\"] : []))))),\n        };\n    }, {\n        // cursor begins at the min width for all columns that can’t be hidden\n        cursor: preparedColumnsByHideable[\"false\"].reduce(function (acc, column) { return acc + (column.minWidth || defaultMinWidth); }, 0) +\n            (hasActions || preparedColumnsByHideable[\"true\"].length > 0\n                ? accessoryWidth\n                : 0) +\n            (selectable ? accessoryWidth : 0) +\n            staticSpacing,\n        breakpoints: new Map()\n            // add an `Infinity` breakpoint which contains all column keys;\n            // this is also what is returned if no columns are allowed to be hidden\n            .set(Infinity, new Set(Object.keys(columns).concat(__spreadArrays((selectable ? [\"selection\"] : []), (hasActions ? [\"overflow\"] : [])))))\n            // add a breakpoint for the baseSet\n            .set(Array.from(baseSet).reduce(function (acc, columnKey) { return acc + columnMinWidth(columnKey, columns); }, 0), baseSet),\n    }\n    // return only the breakpoints from the accumulator\n    ).breakpoints;\n}\n//# sourceMappingURL=tableBreakpoints.js.map","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\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 */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","// Utils\nexport * from './utils/createSvgIcon';\nexport * from './utils/types';\nexport * from './utils/iconClassNames'; // Icon components\n\nexport { AcceptIcon } from './components/AcceptIcon';\nexport { AddIcon } from './components/AddIcon';\nexport { ApprovalsAppbarIcon } from './components/ApprovalsAppbarIcon';\nexport { AppsIcon } from './components/AppsIcon';\nexport { ArchiveIcon } from './components/ArchiveIcon';\nexport { ArrowDownIcon } from './components/ArrowDownIcon';\nexport { ArrowLeftIcon } from './components/ArrowLeftIcon';\nexport { ArrowRightIcon } from './components/ArrowRightIcon';\nexport { ArrowSortIcon } from './components/ArrowSortIcon';\nexport { ArrowUpIcon } from './components/ArrowUpIcon';\nexport { AudienceIcon } from './components/AudienceIcon';\nexport { AudioLoadingIcon } from './components/AudioLoadingIcon';\nexport { AudioOffIcon } from './components/AudioOffIcon';\nexport { AttendeeIcon } from './components/AttendeeIcon';\nexport { BanIcon } from './components/BanIcon';\nexport { BellIcon } from './components/BellIcon';\nexport { BellSlashIcon } from './components/BellSlashIcon';\nexport { BellSnoozeIcon } from './components/BellSnoozeIcon';\nexport { BluetoothIcon } from './components/BluetoothIcon';\nexport { BoldIcon } from './components/BoldIcon';\nexport { BookmarkIcon } from './components/BookmarkIcon';\nexport { BreakoutRoomIcon } from './components/BreakoutRoomIcon';\nexport { BroadcastIcon } from './components/BroadcastIcon';\nexport { BroadcastViewFullscreenIcon } from './components/BroadcastViewFullscreenIcon';\nexport { BroadcastViewLeftIcon } from './components/BroadcastViewLeftIcon';\nexport { BulletsIcon } from './components/BulletsIcon';\nexport { CalendarIcon } from './components/CalendarIcon';\nexport { CalendarAgendaIcon } from './components/CalendarAgendaIcon';\nexport { CallBlockedIcon } from './components/CallBlockedIcon';\nexport { CallControlCloseTrayIcon } from './components/CallControlCloseTrayIcon';\nexport { CallControlReleaseIcon } from './components/CallControlReleaseIcon';\nexport { CallControlRequestIcon } from './components/CallControlRequestIcon';\nexport { CallControlPresentNewIcon } from './components/CallControlPresentNewIcon';\nexport { CallControlShareIcon } from './components/CallControlShareIcon';\nexport { CallControlStopPresentingNewIcon } from './components/CallControlStopPresentingNewIcon';\nexport { CallDialpadIcon } from './components/CallDialpadIcon';\nexport { CallEndIcon } from './components/CallEndIcon';\nexport { CallIcon } from './components/CallIcon';\nexport { CallPstnIcon } from './components/CallPstnIcon';\nexport { CallRecordingIcon } from './components/CallRecordingIcon';\nexport { CallVideoIcon } from './components/CallVideoIcon';\nexport { CallVideoOffIcon } from './components/CallVideoOffIcon';\nexport { CameraIcon } from './components/CameraIcon';\nexport { CanvasAddPageIcon } from './components/CanvasAddPageIcon';\nexport { CallMissedLineIcon } from './components/CallMissedLineIcon';\nexport { CallParkingIcon } from './components/CallParkingIcon';\nexport { CastingIcon } from './components/CastingIcon';\nexport { ChannelShareIcon } from './components/ChannelShareIcon';\nexport { ChatIcon } from './components/ChatIcon';\nexport { ChatOffIcon } from './components/ChatOffIcon';\nexport { CheckmarkCircleIcon } from './components/CheckmarkCircleIcon';\nexport { ChevronDownIcon } from './components/ChevronDownIcon';\nexport { ChevronDownMediumIcon } from './components/ChevronDownMediumIcon';\nexport { ChevronEndIcon } from './components/ChevronEndIcon';\nexport { ChevronEndMediumIcon } from './components/ChevronEndMediumIcon';\nexport { ChevronStartIcon } from './components/ChevronStartIcon';\nexport { CircleIcon } from './components/CircleIcon';\nexport { ClipboardCopiedToIcon } from './components/ClipboardCopiedToIcon';\nexport { ClosedCaptionsIcon } from './components/ClosedCaptionsIcon';\nexport { CloseIcon } from './components/CloseIcon';\nexport { CodeSnippetIcon } from './components/CodeSnippetIcon';\nexport { CollapseIcon } from './components/CollapseIcon';\nexport { CompanionIcon } from './components/CompanionIcon';\nexport { ComposeIcon } from './components/ComposeIcon';\nexport { ComputerAudioIcon } from './components/ComputerAudioIcon';\nexport { ComputerAudioOffIcon } from './components/ComputerAudioOffIcon';\nexport { ConferenceRoomDeviceIcon } from './components/ConferenceRoomDeviceIcon';\nexport { ContactCardIcon } from './components/ContactCardIcon';\nexport { ContactGroupCallIcon } from './components/ContactGroupCallIcon';\nexport { ContactGroupIcon } from './components/ContactGroupIcon';\nexport { ContentIcon } from './components/ContentIcon';\nexport { CustomerHubIcon } from './components/CustomerHubIcon';\nexport { DoorArrowLeftIcon } from './components/DoorArrowLeftIcon';\nexport { DownloadIcon } from './components/DownloadIcon';\nexport { EditIcon } from './components/EditIcon';\nexport { EmailIcon } from './components/EmailIcon';\nexport { EmailWithDotIcon } from './components/EmailWithDotIcon';\nexport { EmojiIcon } from './components/EmojiIcon';\nexport { EmojiSadIcon } from './components/EmojiSadIcon';\nexport { EmojiSurprisedIcon } from './components/EmojiSurprisedIcon';\nexport { ErrorIcon } from './components/ErrorIcon';\nexport { ExcelColorIcon } from './components/ExcelColorIcon';\nexport { ExcelIcon } from './components/ExcelIcon';\nexport { ExclamationCircleIcon } from './components/ExclamationCircleIcon';\nexport { ExclamationTriangleIcon } from './components/ExclamationTriangleIcon';\nexport { ExpandIcon } from './components/ExpandIcon';\nexport { EyeIcon } from './components/EyeIcon';\nexport { EyeFriendlierIcon } from './components/EyeFriendlierIcon';\nexport { EyeSlashIcon } from './components/EyeSlashIcon';\nexport { FilesAftereffectsIcon } from './components/FilesAftereffectsIcon';\nexport { FilesCodeIcon } from './components/FilesCodeIcon';\nexport { FilesEmptyIcon } from './components/FilesEmptyIcon';\nexport { FilesErrorIcon } from './components/FilesErrorIcon';\nexport { FilesFlashIcon } from './components/FilesFlashIcon';\nexport { FilesGenericColoredIcon } from './components/FilesGenericColoredIcon';\nexport { FilesGifIcon } from './components/FilesGifIcon';\nexport { FilesHtmlColoredIcon } from './components/FilesHtmlColoredIcon';\nexport { FilesIllustratorIcon } from './components/FilesIllustratorIcon';\nexport { FilesImageIcon } from './components/FilesImageIcon';\nexport { FilesIndesignIcon } from './components/FilesIndesignIcon';\nexport { FilesPdfColoredIcon } from './components/FilesPdfColoredIcon';\nexport { FilesPdfIcon } from './components/FilesPdfIcon';\nexport { FilesPhotoshopIcon } from './components/FilesPhotoshopIcon';\nexport { FilesPictureColoredIcon } from './components/FilesPictureColoredIcon';\nexport { FilesSketchIcon } from './components/FilesSketchIcon';\nexport { FilesSoundIcon } from './components/FilesSoundIcon';\nexport { FilesTextColoredIcon } from './components/FilesTextColoredIcon';\nexport { FilesTxtIcon } from './components/FilesTxtIcon';\nexport { FilesUploadIcon } from './components/FilesUploadIcon';\nexport { FilesVideoIcon } from './components/FilesVideoIcon';\nexport { FilesZipIcon } from './components/FilesZipIcon';\nexport { FilterIcon } from './components/FilterIcon';\nexport { FlagIcon } from './components/FlagIcon';\nexport { FluidIcon } from './components/FluidIcon';\nexport { FluidFileIcon } from './components/FluidFileIcon';\nexport { FontColorIcon } from './components/FontColorIcon';\nexport { FontSizeIcon } from './components/FontSizeIcon';\nexport { FormatIcon } from './components/FormatIcon';\nexport { GalleryIcon } from './components/GalleryIcon';\nexport { GalleryNewIcon } from './components/GalleryNewIcon';\nexport { GalleryNewLargeIcon } from './components/GalleryNewLargeIcon';\nexport { GeofenceArrivesIcon } from './components/GeofenceArrivesIcon';\nexport { GeofenceLeavesIcon } from './components/GeofenceLeavesIcon';\nexport { GeofenceArrivesOrLeavesIcon } from './components/GeofenceArrivesOrLeavesIcon';\nexport { GiphyIcon } from './components/GiphyIcon';\nexport { GlassesIcon } from './components/GlassesIcon';\nexport { GridIcon } from './components/GridIcon';\nexport { GroupVideoCallGridIcon } from './components/GroupVideoCallGridIcon';\nexport { HandIcon } from './components/HandIcon';\nexport { HeadsetIcon } from './components/HeadsetIcon';\nexport { HighlightIcon } from './components/HighlightIcon';\nexport { HorizontalRuleIcon } from './components/HorizontalRuleIcon';\nexport { ImageAltTextIcon } from './components/ImageAltTextIcon';\nexport { ImageLibraryIcon } from './components/ImageLibraryIcon';\nexport { ImageUnavailableIcon } from './components/ImageUnavailableIcon';\nexport { IndentIcon } from './components/IndentIcon';\nexport { InfoIcon } from './components/InfoIcon';\nexport { ItalicIcon } from './components/ItalicIcon';\nexport { LeaveIcon } from './components/LeaveIcon';\nexport { LightningIcon } from './components/LightningIcon';\nexport { LikeIcon } from './components/LikeIcon';\nexport { LinkIcon } from './components/LinkIcon';\nexport { LiveIcon } from './components/LiveIcon';\nexport { LiveOffIcon } from './components/LiveOffIcon';\nexport { LocationIcon } from './components/LocationIcon';\nexport { LockIcon } from './components/LockIcon';\nexport { MarkAsUnreadIcon } from './components/MarkAsUnreadIcon';\nexport { MeetingNewIcon } from './components/MeetingNewIcon';\nexport { MeetingTimeIcon } from './components/MeetingTimeIcon';\nexport { MegaphoneIcon } from './components/MegaphoneIcon';\nexport { MentionIcon } from './components/MentionIcon';\nexport { MenuIcon } from './components/MenuIcon';\nexport { MergeCallsIcon } from './components/MergeCallsIcon';\nexport { MessageSeenIcon } from './components/MessageSeenIcon';\nexport { MicIcon } from './components/MicIcon';\nexport { MicOffIcon } from './components/MicOffIcon';\nexport { MicrophoneDisabledIcon } from './components/MicrophoneDisabledIcon';\nexport { MicrosoftStreamIcon } from './components/MicrosoftStreamIcon';\nexport { MoreIcon } from './components/MoreIcon';\nexport { NoPresenterIcon } from './components/NoPresenterIcon';\nexport { NotesIcon } from './components/NotesIcon';\nexport { NotificationsMutedIcon } from './components/NotificationsMutedIcon';\nexport { NumberListIcon } from './components/NumberListIcon';\nexport { OcrOffIcon } from './components/OcrOffIcon';\nexport { OcrOnIcon } from './components/OcrOnIcon';\nexport { OneNoteColorIcon } from './components/OneNoteColorIcon';\nexport { OneNoteIcon } from './components/OneNoteIcon';\nexport { OneNoteMonoIcon } from './components/OneNoteMonoIcon';\nexport { OneDriveIcon } from './components/OneDriveIcon';\nexport { OptionsIcon } from './components/OptionsIcon';\nexport { OutdentIcon } from './components/OutdentIcon';\nexport { OpenOutsideIcon } from './components/OpenOutsideIcon';\nexport { PanoramaIcon } from './components/PanoramaIcon';\nexport { PanoramaOffIcon } from './components/PanoramaOffIcon';\nexport { PaperclipIcon } from './components/PaperclipIcon';\nexport { ParticipantAddIcon } from './components/ParticipantAddIcon';\nexport { ParticipantRemoveIcon } from './components/ParticipantRemoveIcon';\nexport { PauseIcon } from './components/PauseIcon';\nexport { PauseThickIcon } from './components/PauseThickIcon';\nexport { PhoneArrowIcon } from './components/PhoneArrowIcon';\nexport { PhoneClockIcon } from './components/PhoneClockIcon';\nexport { PlayIcon } from './components/PlayIcon';\nexport { PlugsIcon } from './components/PlugsIcon';\nexport { PollIcon } from './components/PollIcon';\nexport { PopupIcon } from './components/PopupIcon';\nexport { PowerPointColorIcon } from './components/PowerPointColorIcon';\nexport { PowerPointIcon } from './components/PowerPointIcon';\nexport { PresenceAvailableIcon } from './components/PresenceAvailableIcon';\nexport { PresenceStrokeIcon } from './components/PresenceStrokeIcon';\nexport { PresenterIcon } from './components/PresenterIcon';\nexport { QnaIcon } from './components/QnaIcon';\nexport { QuestionCircleIcon } from './components/QuestionCircleIcon';\nexport { QuoteIcon } from './components/QuoteIcon';\nexport { RadioButtonIcon } from './components/RadioButtonIcon';\nexport { ReadAloudIcon } from './components/ReadAloudIcon';\nexport { RaiseHandColoredIcon } from './components/RaiseHandColoredIcon';\nexport { RaiseHandDisabledIcon } from './components/RaiseHandDisabledIcon';\nexport { RaiseHandIcon } from './components/RaiseHandIcon';\nexport { ReactionsIcon } from './components/ReactionsIcon';\nexport { RedbangIcon } from './components/RedbangIcon';\nexport { RedoIcon } from './components/RedoIcon';\nexport { RemoveFormatIcon } from './components/RemoveFormatIcon';\nexport { ReplyIcon } from './components/ReplyIcon';\nexport { RetryIcon } from './components/RetryIcon';\nexport { RobotIcon } from './components/RobotIcon';\nexport { SaveIcon } from './components/SaveIcon';\nexport { ScreencastIcon } from './components/ScreencastIcon';\nexport { ScreenshareIcon } from './components/ScreenshareIcon';\nexport { SearchIcon } from './components/SearchIcon';\nexport { SendIcon } from './components/SendIcon';\nexport { SettingsIcon } from './components/SettingsIcon';\nexport { SettingsAudioIcon } from './components/SettingsAudioIcon';\nexport { ShareAltIcon } from './components/ShareAltIcon';\nexport { ShareGenericIcon } from './components/ShareGenericIcon';\nexport { ShareLocationIcon } from './components/ShareLocationIcon';\nexport { ShareToIcon } from './components/ShareToIcon';\nexport { ShieldKeyholeIcon } from './components/ShieldKeyholeIcon';\nexport { Shift24hIcon } from './components/Shift24hIcon';\nexport { ShiftActivityIcon } from './components/ShiftActivityIcon';\nexport { SkypeLogoIcon } from './components/SkypeLogoIcon';\nexport { SpeakerMuteIcon } from './components/SpeakerMuteIcon';\nexport { SpeakerPersonIcon } from './components/SpeakerPersonIcon';\nexport { SpotlightIcon } from './components/SpotlightIcon';\nexport { SpotlightStopIcon } from './components/SpotlightStopIcon';\nexport { StarIcon } from './components/StarIcon';\nexport { StickerIcon } from './components/StickerIcon';\nexport { StrikeIcon } from './components/StrikeIcon';\nexport { SurveyIcon } from './components/SurveyIcon';\nexport { SwitchCameraIcon } from './components/SwitchCameraIcon';\nexport { SyncIcon } from './components/SyncIcon';\nexport { TableAddIcon } from './components/TableAddIcon';\nexport { TableDeleteIcon } from './components/TableDeleteIcon';\nexport { TableIcon } from './components/TableIcon';\nexport { TabsIcon } from './components/TabsIcon';\nexport { TagIcon } from './components/TagIcon';\nexport { TeamCreateIcon } from './components/TeamCreateIcon';\nexport { TeamsIcon } from './components/TeamsIcon';\nexport { TeamsMonochromeIcon } from './components/TeamsMonochromeIcon';\nexport { TenantWorkIcon } from './components/TenantWorkIcon';\nexport { TenantPersonalIcon } from './components/TenantPersonalIcon';\nexport { ThumbtackIcon } from './components/ThumbtackIcon';\nexport { ThumbtackSlashIcon } from './components/ThumbtackSlashIcon';\nexport { TiltPanZoomIcon } from './components/TiltPanZoomIcon';\nexport { ToDoListIcon } from './components/ToDoListIcon';\nexport { TranscriptIcon } from './components/TranscriptIcon';\nexport { TranslationIcon } from './components/TranslationIcon';\nexport { TrashCanIcon } from './components/TrashCanIcon';\nexport { TriangleEndIcon } from './components/TriangleEndIcon';\nexport { TriangleDownIcon } from './components/TriangleDownIcon';\nexport { TriangleUpIcon } from './components/TriangleUpIcon';\nexport { TvIcon } from './components/TvIcon';\nexport { UnderlineIcon } from './components/UnderlineIcon';\nexport { UndoIcon } from './components/UndoIcon';\nexport { UrgentIcon } from './components/UrgentIcon';\nexport { UserBlurIcon } from './components/UserBlurIcon';\nexport { UserFriendsIcon } from './components/UserFriendsIcon';\nexport { UserPhoneIcon } from './components/UserPhoneIcon';\nexport { VideoCameraEmphasisIcon } from './components/VideoCameraEmphasisIcon';\nexport { VideoLoadingIcon } from './components/VideoLoadingIcon';\nexport { VideomailIcon } from './components/VideomailIcon';\nexport { VideoProhibitedIcon } from './components/VideoProhibitedIcon';\nexport { VisioColorIcon } from './components/VisioColorIcon';\nexport { VisioIcon } from './components/VisioIcon';\nexport { VolumeIcon } from './components/VolumeIcon';\nexport { VolumeDownIcon } from './components/VolumeDownIcon';\nexport { VolumeUpIcon } from './components/VolumeUpIcon';\nexport { WandIcon } from './components/WandIcon';\nexport { WhiteboardIcon } from './components/WhiteboardIcon';\nexport { WindowMaximizeIcon } from './components/WindowMaximizeIcon';\nexport { WindowMinimizeIcon } from './components/WindowMinimizeIcon';\nexport { WindowRestoreIcon } from './components/WindowRestoreIcon';\nexport { WordColorIcon } from './components/WordColorIcon';\nexport { WordIcon } from './components/WordIcon';\nexport { WorkOrSchoolIcon } from './components/WorkOrSchoolIcon';\nexport { YammerIcon } from './components/YammerIcon';\nexport { ZoomInIcon } from './components/ZoomInIcon';\nexport { ZoomOutIcon } from './components/ZoomOutIcon';\nexport { ZoomToFitIcon } from './components/ZoomToFitIcon';\n//# sourceMappingURL=index.js.map\n","var baseGetTag = require('./_baseGetTag'),\n    isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\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 */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\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  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","import { imageBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nexport var imageClassName = 'ui-image';\n/**\n * An Image is a graphic representation of something.\n *\n * @accessibility\n * If image should be visible to screen readers, textual representation needs to be provided in 'alt' property.\n *\n * Other considerations:\n *  - when alt property is empty, then Narrator in scan mode navigates to image and narrates it as empty paragraph.\n *  - when image has role='presentation' then screen readers navigate to the element in scan/virtual mode. To avoid this, the attribute \"aria-hidden='true'\" is applied by the default image behavior.\n *  - when alt property is used in combination with aria-label, arialabbeledby or title, additional screen readers verification is needed as each screen reader handles this combination differently.\n */\n\nexport var Image = /*#__PURE__*/function () {\n  var Image = function Image(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Image.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        alt = props.alt,\n        ariaLabel = props['aria-label'],\n        avatar = props.avatar,\n        circular = props.circular,\n        className = props.className,\n        design = props.design,\n        fluid = props.fluid,\n        styles = props.styles,\n        variables = props.variables;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: Image.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          alt: alt,\n          'aria-label': ariaLabel\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Image.displayName, {\n      className: imageClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          avatar: avatar,\n          circular: circular,\n          fluid: fluid\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Image.handledProps, props);\n    var result = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)));\n    setEnd();\n    return result;\n  };\n\n  Image.displayName = 'Image';\n  Image.defaultProps = {\n    as: 'img',\n    accessibility: imageBehavior\n  };\n  Image.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: false\n  }), {\n    avatar: PropTypes.bool,\n    circular: PropTypes.bool,\n    fluid: PropTypes.bool\n  });\n  Image.handledProps = Object.keys(Image.propTypes);\n  Image.create = createShorthandFactory({\n    Component: Image,\n    mappedProp: 'src',\n    allowsJSX: false\n  });\n  return Image;\n}();\n//# sourceMappingURL=Image.js.map\n","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\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 */\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  wait = toNumber(wait) || 0;\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\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;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\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\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // 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    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\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\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\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    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","import React, { useLayoutEffect, useEffect, useRef, useState, useContext } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { createStore as createStore$1, applyMiddleware, compose, bindActionCreators } from 'redux';\nimport { Provider, connect } from 'react-redux';\nimport { useMemo, useCallback } from 'use-memo-one';\nimport { getRect, expand, offset, withScroll, getBox, createBox, calculateBox } from 'css-box-model';\nimport memoizeOne from 'memoize-one';\nimport rafSchd from 'raf-schd';\nimport ReactDOM from 'react-dom';\n\nvar isProduction = process.env.NODE_ENV === 'production';\nvar spacesAndTabs = /[ \\t]{2,}/g;\nvar lineStartWithSpaces = /^[ \\t]*/gm;\n\nvar clean = function clean(value) {\n  return value.replace(spacesAndTabs, ' ').replace(lineStartWithSpaces, '').trim();\n};\n\nvar getDevMessage = function getDevMessage(message) {\n  return clean(\"\\n  %creact-beautiful-dnd\\n\\n  %c\" + clean(message) + \"\\n\\n  %c\\uD83D\\uDC77\\u200D This is a development only message. It will be removed in production builds.\\n\");\n};\n\nvar getFormattedMessage = function getFormattedMessage(message) {\n  return [getDevMessage(message), 'color: #00C584; font-size: 1.2em; font-weight: bold;', 'line-height: 1.5', 'color: #723874;'];\n};\nvar isDisabledFlag = '__react-beautiful-dnd-disable-dev-warnings';\nfunction log(type, message) {\n  var _console;\n\n  if (isProduction) {\n    return;\n  }\n\n  if (typeof window !== 'undefined' && window[isDisabledFlag]) {\n    return;\n  }\n\n  (_console = console)[type].apply(_console, getFormattedMessage(message));\n}\nvar warning = log.bind(null, 'warn');\nvar error = log.bind(null, 'error');\n\nfunction noop() {}\n\nfunction getOptions(shared, fromBinding) {\n  return _extends({}, shared, {}, fromBinding);\n}\n\nfunction bindEvents(el, bindings, sharedOptions) {\n  var unbindings = bindings.map(function (binding) {\n    var options = getOptions(sharedOptions, binding.options);\n    el.addEventListener(binding.eventName, binding.fn, options);\n    return function unbind() {\n      el.removeEventListener(binding.eventName, binding.fn, options);\n    };\n  });\n  return function unbindAll() {\n    unbindings.forEach(function (unbind) {\n      unbind();\n    });\n  };\n}\n\nvar isProduction$1 = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction RbdInvariant(message) {\n  this.message = message;\n}\n\nRbdInvariant.prototype.toString = function toString() {\n  return this.message;\n};\n\nfunction invariant(condition, message) {\n  if (condition) {\n    return;\n  }\n\n  if (isProduction$1) {\n    throw new RbdInvariant(prefix);\n  } else {\n    throw new RbdInvariant(prefix + \": \" + (message || ''));\n  }\n}\n\nvar ErrorBoundary = function (_React$Component) {\n  _inheritsLoose(ErrorBoundary, _React$Component);\n\n  function ErrorBoundary() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this.callbacks = null;\n    _this.unbind = noop;\n\n    _this.onWindowError = function (event) {\n      var callbacks = _this.getCallbacks();\n\n      if (callbacks.isDragging()) {\n        callbacks.tryAbort();\n        process.env.NODE_ENV !== \"production\" ? warning(\"\\n        An error was caught by our window 'error' event listener while a drag was occurring.\\n        The active drag has been aborted.\\n      \") : void 0;\n      }\n\n      var err = event.error;\n\n      if (err instanceof RbdInvariant) {\n        event.preventDefault();\n\n        if (process.env.NODE_ENV !== 'production') {\n          error(err.message);\n        }\n      }\n    };\n\n    _this.getCallbacks = function () {\n      if (!_this.callbacks) {\n        throw new Error('Unable to find AppCallbacks in <ErrorBoundary/>');\n      }\n\n      return _this.callbacks;\n    };\n\n    _this.setCallbacks = function (callbacks) {\n      _this.callbacks = callbacks;\n    };\n\n    return _this;\n  }\n\n  var _proto = ErrorBoundary.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.unbind = bindEvents(window, [{\n      eventName: 'error',\n      fn: this.onWindowError\n    }]);\n  };\n\n  _proto.componentDidCatch = function componentDidCatch(err) {\n    if (err instanceof RbdInvariant) {\n      if (process.env.NODE_ENV !== 'production') {\n        error(err.message);\n      }\n\n      this.setState({});\n      return;\n    }\n\n    throw err;\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.unbind();\n  };\n\n  _proto.render = function render() {\n    return this.props.children(this.setCallbacks);\n  };\n\n  return ErrorBoundary;\n}(React.Component);\n\nvar dragHandleUsageInstructions = \"\\n  Press space bar to start a drag.\\n  When dragging you can use the arrow keys to move the item around and escape to cancel.\\n  Some screen readers may require you to be in focus mode or to use your pass through key\\n\";\n\nvar position = function position(index) {\n  return index + 1;\n};\n\nvar onDragStart = function onDragStart(start) {\n  return \"\\n  You have lifted an item in position \" + position(start.source.index) + \"\\n\";\n};\n\nvar withLocation = function withLocation(source, destination) {\n  var isInHomeList = source.droppableId === destination.droppableId;\n  var startPosition = position(source.index);\n  var endPosition = position(destination.index);\n\n  if (isInHomeList) {\n    return \"\\n      You have moved the item from position \" + startPosition + \"\\n      to position \" + endPosition + \"\\n    \";\n  }\n\n  return \"\\n    You have moved the item from position \" + startPosition + \"\\n    in list \" + source.droppableId + \"\\n    to list \" + destination.droppableId + \"\\n    in position \" + endPosition + \"\\n  \";\n};\n\nvar withCombine = function withCombine(id, source, combine) {\n  var inHomeList = source.droppableId === combine.droppableId;\n\n  if (inHomeList) {\n    return \"\\n      The item \" + id + \"\\n      has been combined with \" + combine.draggableId;\n  }\n\n  return \"\\n      The item \" + id + \"\\n      in list \" + source.droppableId + \"\\n      has been combined with \" + combine.draggableId + \"\\n      in list \" + combine.droppableId + \"\\n    \";\n};\n\nvar onDragUpdate = function onDragUpdate(update) {\n  var location = update.destination;\n\n  if (location) {\n    return withLocation(update.source, location);\n  }\n\n  var combine = update.combine;\n\n  if (combine) {\n    return withCombine(update.draggableId, update.source, combine);\n  }\n\n  return 'You are over an area that cannot be dropped on';\n};\n\nvar returnedToStart = function returnedToStart(source) {\n  return \"\\n  The item has returned to its starting position\\n  of \" + position(source.index) + \"\\n\";\n};\n\nvar onDragEnd = function onDragEnd(result) {\n  if (result.reason === 'CANCEL') {\n    return \"\\n      Movement cancelled.\\n      \" + returnedToStart(result.source) + \"\\n    \";\n  }\n\n  var location = result.destination;\n  var combine = result.combine;\n\n  if (location) {\n    return \"\\n      You have dropped the item.\\n      \" + withLocation(result.source, location) + \"\\n    \";\n  }\n\n  if (combine) {\n    return \"\\n      You have dropped the item.\\n      \" + withCombine(result.draggableId, result.source, combine) + \"\\n    \";\n  }\n\n  return \"\\n    The item has been dropped while not over a drop area.\\n    \" + returnedToStart(result.source) + \"\\n  \";\n};\n\nvar preset = {\n  dragHandleUsageInstructions: dragHandleUsageInstructions,\n  onDragStart: onDragStart,\n  onDragUpdate: onDragUpdate,\n  onDragEnd: onDragEnd\n};\n\nvar origin = {\n  x: 0,\n  y: 0\n};\nvar add = function add(point1, point2) {\n  return {\n    x: point1.x + point2.x,\n    y: point1.y + point2.y\n  };\n};\nvar subtract = function subtract(point1, point2) {\n  return {\n    x: point1.x - point2.x,\n    y: point1.y - point2.y\n  };\n};\nvar isEqual = function isEqual(point1, point2) {\n  return point1.x === point2.x && point1.y === point2.y;\n};\nvar negate = function negate(point) {\n  return {\n    x: point.x !== 0 ? -point.x : 0,\n    y: point.y !== 0 ? -point.y : 0\n  };\n};\nvar patch = function patch(line, value, otherValue) {\n  var _ref;\n\n  if (otherValue === void 0) {\n    otherValue = 0;\n  }\n\n  return _ref = {}, _ref[line] = value, _ref[line === 'x' ? 'y' : 'x'] = otherValue, _ref;\n};\nvar distance = function distance(point1, point2) {\n  return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\n};\nvar closest = function closest(target, points) {\n  return Math.min.apply(Math, points.map(function (point) {\n    return distance(target, point);\n  }));\n};\nvar apply = function apply(fn) {\n  return function (point) {\n    return {\n      x: fn(point.x),\n      y: fn(point.y)\n    };\n  };\n};\n\nvar executeClip = (function (frame, subject) {\n  var result = getRect({\n    top: Math.max(subject.top, frame.top),\n    right: Math.min(subject.right, frame.right),\n    bottom: Math.min(subject.bottom, frame.bottom),\n    left: Math.max(subject.left, frame.left)\n  });\n\n  if (result.width <= 0 || result.height <= 0) {\n    return null;\n  }\n\n  return result;\n});\n\nvar offsetByPosition = function offsetByPosition(spacing, point) {\n  return {\n    top: spacing.top + point.y,\n    left: spacing.left + point.x,\n    bottom: spacing.bottom + point.y,\n    right: spacing.right + point.x\n  };\n};\nvar getCorners = function getCorners(spacing) {\n  return [{\n    x: spacing.left,\n    y: spacing.top\n  }, {\n    x: spacing.right,\n    y: spacing.top\n  }, {\n    x: spacing.left,\n    y: spacing.bottom\n  }, {\n    x: spacing.right,\n    y: spacing.bottom\n  }];\n};\nvar noSpacing = {\n  top: 0,\n  right: 0,\n  bottom: 0,\n  left: 0\n};\n\nvar scroll = function scroll(target, frame) {\n  if (!frame) {\n    return target;\n  }\n\n  return offsetByPosition(target, frame.scroll.diff.displacement);\n};\n\nvar increase = function increase(target, axis, withPlaceholder) {\n  if (withPlaceholder && withPlaceholder.increasedBy) {\n    var _extends2;\n\n    return _extends({}, target, (_extends2 = {}, _extends2[axis.end] = target[axis.end] + withPlaceholder.increasedBy[axis.line], _extends2));\n  }\n\n  return target;\n};\n\nvar clip = function clip(target, frame) {\n  if (frame && frame.shouldClipSubject) {\n    return executeClip(frame.pageMarginBox, target);\n  }\n\n  return getRect(target);\n};\n\nvar getSubject = (function (_ref) {\n  var page = _ref.page,\n      withPlaceholder = _ref.withPlaceholder,\n      axis = _ref.axis,\n      frame = _ref.frame;\n  var scrolled = scroll(page.marginBox, frame);\n  var increased = increase(scrolled, axis, withPlaceholder);\n  var clipped = clip(increased, frame);\n  return {\n    page: page,\n    withPlaceholder: withPlaceholder,\n    active: clipped\n  };\n});\n\nvar scrollDroppable = (function (droppable, newScroll) {\n  !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n  var scrollable = droppable.frame;\n  var scrollDiff = subtract(newScroll, scrollable.scroll.initial);\n  var scrollDisplacement = negate(scrollDiff);\n\n  var frame = _extends({}, scrollable, {\n    scroll: {\n      initial: scrollable.scroll.initial,\n      current: newScroll,\n      diff: {\n        value: scrollDiff,\n        displacement: scrollDisplacement\n      },\n      max: scrollable.scroll.max\n    }\n  });\n\n  var subject = getSubject({\n    page: droppable.subject.page,\n    withPlaceholder: droppable.subject.withPlaceholder,\n    axis: droppable.axis,\n    frame: frame\n  });\n\n  var result = _extends({}, droppable, {\n    frame: frame,\n    subject: subject\n  });\n\n  return result;\n});\n\nfunction isInteger(value) {\n  if (Number.isInteger) {\n    return Number.isInteger(value);\n  }\n\n  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\nfunction values(map) {\n  if (Object.values) {\n    return Object.values(map);\n  }\n\n  return Object.keys(map).map(function (key) {\n    return map[key];\n  });\n}\nfunction findIndex(list, predicate) {\n  if (list.findIndex) {\n    return list.findIndex(predicate);\n  }\n\n  for (var i = 0; i < list.length; i++) {\n    if (predicate(list[i])) {\n      return i;\n    }\n  }\n\n  return -1;\n}\nfunction find(list, predicate) {\n  if (list.find) {\n    return list.find(predicate);\n  }\n\n  var index = findIndex(list, predicate);\n\n  if (index !== -1) {\n    return list[index];\n  }\n\n  return undefined;\n}\nfunction toArray(list) {\n  return Array.prototype.slice.call(list);\n}\n\nvar toDroppableMap = memoizeOne(function (droppables) {\n  return droppables.reduce(function (previous, current) {\n    previous[current.descriptor.id] = current;\n    return previous;\n  }, {});\n});\nvar toDraggableMap = memoizeOne(function (draggables) {\n  return draggables.reduce(function (previous, current) {\n    previous[current.descriptor.id] = current;\n    return previous;\n  }, {});\n});\nvar toDroppableList = memoizeOne(function (droppables) {\n  return values(droppables);\n});\nvar toDraggableList = memoizeOne(function (draggables) {\n  return values(draggables);\n});\n\nvar getDraggablesInsideDroppable = memoizeOne(function (droppableId, draggables) {\n  var result = toDraggableList(draggables).filter(function (draggable) {\n    return droppableId === draggable.descriptor.droppableId;\n  }).sort(function (a, b) {\n    return a.descriptor.index - b.descriptor.index;\n  });\n  return result;\n});\n\nfunction tryGetDestination(impact) {\n  if (impact.at && impact.at.type === 'REORDER') {\n    return impact.at.destination;\n  }\n\n  return null;\n}\nfunction tryGetCombine(impact) {\n  if (impact.at && impact.at.type === 'COMBINE') {\n    return impact.at.combine;\n  }\n\n  return null;\n}\n\nvar removeDraggableFromList = memoizeOne(function (remove, list) {\n  return list.filter(function (item) {\n    return item.descriptor.id !== remove.descriptor.id;\n  });\n});\n\nvar moveToNextCombine = (function (_ref) {\n  var isMovingForward = _ref.isMovingForward,\n      draggable = _ref.draggable,\n      destination = _ref.destination,\n      insideDestination = _ref.insideDestination,\n      previousImpact = _ref.previousImpact;\n\n  if (!destination.isCombineEnabled) {\n    return null;\n  }\n\n  var location = tryGetDestination(previousImpact);\n\n  if (!location) {\n    return null;\n  }\n\n  function getImpact(target) {\n    var at = {\n      type: 'COMBINE',\n      combine: {\n        draggableId: target,\n        droppableId: destination.descriptor.id\n      }\n    };\n    return _extends({}, previousImpact, {\n      at: at\n    });\n  }\n\n  var all = previousImpact.displaced.all;\n  var closestId = all.length ? all[0] : null;\n\n  if (isMovingForward) {\n    return closestId ? getImpact(closestId) : null;\n  }\n\n  var withoutDraggable = removeDraggableFromList(draggable, insideDestination);\n\n  if (!closestId) {\n    if (!withoutDraggable.length) {\n      return null;\n    }\n\n    var last = withoutDraggable[withoutDraggable.length - 1];\n    return getImpact(last.descriptor.id);\n  }\n\n  var indexOfClosest = findIndex(withoutDraggable, function (d) {\n    return d.descriptor.id === closestId;\n  });\n  !(indexOfClosest !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find displaced item in set') : invariant(false) : void 0;\n  var proposedIndex = indexOfClosest - 1;\n\n  if (proposedIndex < 0) {\n    return null;\n  }\n\n  var before = withoutDraggable[proposedIndex];\n  return getImpact(before.descriptor.id);\n});\n\nvar isHomeOf = (function (draggable, destination) {\n  return draggable.descriptor.droppableId === destination.descriptor.id;\n});\n\nvar noDisplacedBy = {\n  point: origin,\n  value: 0\n};\nvar emptyGroups = {\n  invisible: {},\n  visible: {},\n  all: []\n};\nvar noImpact = {\n  displaced: emptyGroups,\n  displacedBy: noDisplacedBy,\n  at: null\n};\n\nvar isWithin = (function (lowerBound, upperBound) {\n  return function (value) {\n    return lowerBound <= value && value <= upperBound;\n  };\n});\n\nvar isPartiallyVisibleThroughFrame = (function (frame) {\n  var isWithinVertical = isWithin(frame.top, frame.bottom);\n  var isWithinHorizontal = isWithin(frame.left, frame.right);\n  return function (subject) {\n    var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n\n    if (isContained) {\n      return true;\n    }\n\n    var isPartiallyVisibleVertically = isWithinVertical(subject.top) || isWithinVertical(subject.bottom);\n    var isPartiallyVisibleHorizontally = isWithinHorizontal(subject.left) || isWithinHorizontal(subject.right);\n    var isPartiallyContained = isPartiallyVisibleVertically && isPartiallyVisibleHorizontally;\n\n    if (isPartiallyContained) {\n      return true;\n    }\n\n    var isBiggerVertically = subject.top < frame.top && subject.bottom > frame.bottom;\n    var isBiggerHorizontally = subject.left < frame.left && subject.right > frame.right;\n    var isTargetBiggerThanFrame = isBiggerVertically && isBiggerHorizontally;\n\n    if (isTargetBiggerThanFrame) {\n      return true;\n    }\n\n    var isTargetBiggerOnOneAxis = isBiggerVertically && isPartiallyVisibleHorizontally || isBiggerHorizontally && isPartiallyVisibleVertically;\n    return isTargetBiggerOnOneAxis;\n  };\n});\n\nvar isTotallyVisibleThroughFrame = (function (frame) {\n  var isWithinVertical = isWithin(frame.top, frame.bottom);\n  var isWithinHorizontal = isWithin(frame.left, frame.right);\n  return function (subject) {\n    var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n    return isContained;\n  };\n});\n\nvar vertical = {\n  direction: 'vertical',\n  line: 'y',\n  crossAxisLine: 'x',\n  start: 'top',\n  end: 'bottom',\n  size: 'height',\n  crossAxisStart: 'left',\n  crossAxisEnd: 'right',\n  crossAxisSize: 'width'\n};\nvar horizontal = {\n  direction: 'horizontal',\n  line: 'x',\n  crossAxisLine: 'y',\n  start: 'left',\n  end: 'right',\n  size: 'width',\n  crossAxisStart: 'top',\n  crossAxisEnd: 'bottom',\n  crossAxisSize: 'height'\n};\n\nvar isTotallyVisibleThroughFrameOnAxis = (function (axis) {\n  return function (frame) {\n    var isWithinVertical = isWithin(frame.top, frame.bottom);\n    var isWithinHorizontal = isWithin(frame.left, frame.right);\n    return function (subject) {\n      if (axis === vertical) {\n        return isWithinVertical(subject.top) && isWithinVertical(subject.bottom);\n      }\n\n      return isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n    };\n  };\n});\n\nvar getDroppableDisplaced = function getDroppableDisplaced(target, destination) {\n  var displacement = destination.frame ? destination.frame.scroll.diff.displacement : origin;\n  return offsetByPosition(target, displacement);\n};\n\nvar isVisibleInDroppable = function isVisibleInDroppable(target, destination, isVisibleThroughFrameFn) {\n  if (!destination.subject.active) {\n    return false;\n  }\n\n  return isVisibleThroughFrameFn(destination.subject.active)(target);\n};\n\nvar isVisibleInViewport = function isVisibleInViewport(target, viewport, isVisibleThroughFrameFn) {\n  return isVisibleThroughFrameFn(viewport)(target);\n};\n\nvar isVisible = function isVisible(_ref) {\n  var toBeDisplaced = _ref.target,\n      destination = _ref.destination,\n      viewport = _ref.viewport,\n      withDroppableDisplacement = _ref.withDroppableDisplacement,\n      isVisibleThroughFrameFn = _ref.isVisibleThroughFrameFn;\n  var displacedTarget = withDroppableDisplacement ? getDroppableDisplaced(toBeDisplaced, destination) : toBeDisplaced;\n  return isVisibleInDroppable(displacedTarget, destination, isVisibleThroughFrameFn) && isVisibleInViewport(displacedTarget, viewport, isVisibleThroughFrameFn);\n};\n\nvar isPartiallyVisible = function isPartiallyVisible(args) {\n  return isVisible(_extends({}, args, {\n    isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame\n  }));\n};\nvar isTotallyVisible = function isTotallyVisible(args) {\n  return isVisible(_extends({}, args, {\n    isVisibleThroughFrameFn: isTotallyVisibleThroughFrame\n  }));\n};\nvar isTotallyVisibleOnAxis = function isTotallyVisibleOnAxis(args) {\n  return isVisible(_extends({}, args, {\n    isVisibleThroughFrameFn: isTotallyVisibleThroughFrameOnAxis(args.destination.axis)\n  }));\n};\n\nvar getShouldAnimate = function getShouldAnimate(id, last, forceShouldAnimate) {\n  if (typeof forceShouldAnimate === 'boolean') {\n    return forceShouldAnimate;\n  }\n\n  if (!last) {\n    return true;\n  }\n\n  var invisible = last.invisible,\n      visible = last.visible;\n\n  if (invisible[id]) {\n    return false;\n  }\n\n  var previous = visible[id];\n  return previous ? previous.shouldAnimate : true;\n};\n\nfunction getTarget(draggable, displacedBy) {\n  var marginBox = draggable.page.marginBox;\n  var expandBy = {\n    top: displacedBy.point.y,\n    right: 0,\n    bottom: 0,\n    left: displacedBy.point.x\n  };\n  return getRect(expand(marginBox, expandBy));\n}\n\nfunction getDisplacementGroups(_ref) {\n  var afterDragging = _ref.afterDragging,\n      destination = _ref.destination,\n      displacedBy = _ref.displacedBy,\n      viewport = _ref.viewport,\n      forceShouldAnimate = _ref.forceShouldAnimate,\n      last = _ref.last;\n  return afterDragging.reduce(function process(groups, draggable) {\n    var target = getTarget(draggable, displacedBy);\n    var id = draggable.descriptor.id;\n    groups.all.push(id);\n    var isVisible = isPartiallyVisible({\n      target: target,\n      destination: destination,\n      viewport: viewport,\n      withDroppableDisplacement: true\n    });\n\n    if (!isVisible) {\n      groups.invisible[draggable.descriptor.id] = true;\n      return groups;\n    }\n\n    var shouldAnimate = getShouldAnimate(id, last, forceShouldAnimate);\n    var displacement = {\n      draggableId: id,\n      shouldAnimate: shouldAnimate\n    };\n    groups.visible[id] = displacement;\n    return groups;\n  }, {\n    all: [],\n    visible: {},\n    invisible: {}\n  });\n}\n\nfunction getIndexOfLastItem(draggables, options) {\n  if (!draggables.length) {\n    return 0;\n  }\n\n  var indexOfLastItem = draggables[draggables.length - 1].descriptor.index;\n  return options.inHomeList ? indexOfLastItem : indexOfLastItem + 1;\n}\n\nfunction goAtEnd(_ref) {\n  var insideDestination = _ref.insideDestination,\n      inHomeList = _ref.inHomeList,\n      displacedBy = _ref.displacedBy,\n      destination = _ref.destination;\n  var newIndex = getIndexOfLastItem(insideDestination, {\n    inHomeList: inHomeList\n  });\n  return {\n    displaced: emptyGroups,\n    displacedBy: displacedBy,\n    at: {\n      type: 'REORDER',\n      destination: {\n        droppableId: destination.descriptor.id,\n        index: newIndex\n      }\n    }\n  };\n}\n\nfunction calculateReorderImpact(_ref2) {\n  var draggable = _ref2.draggable,\n      insideDestination = _ref2.insideDestination,\n      destination = _ref2.destination,\n      viewport = _ref2.viewport,\n      displacedBy = _ref2.displacedBy,\n      last = _ref2.last,\n      index = _ref2.index,\n      forceShouldAnimate = _ref2.forceShouldAnimate;\n  var inHomeList = isHomeOf(draggable, destination);\n\n  if (index == null) {\n    return goAtEnd({\n      insideDestination: insideDestination,\n      inHomeList: inHomeList,\n      displacedBy: displacedBy,\n      destination: destination\n    });\n  }\n\n  var match = find(insideDestination, function (item) {\n    return item.descriptor.index === index;\n  });\n\n  if (!match) {\n    return goAtEnd({\n      insideDestination: insideDestination,\n      inHomeList: inHomeList,\n      displacedBy: displacedBy,\n      destination: destination\n    });\n  }\n\n  var withoutDragging = removeDraggableFromList(draggable, insideDestination);\n  var sliceFrom = insideDestination.indexOf(match);\n  var impacted = withoutDragging.slice(sliceFrom);\n  var displaced = getDisplacementGroups({\n    afterDragging: impacted,\n    destination: destination,\n    displacedBy: displacedBy,\n    last: last,\n    viewport: viewport.frame,\n    forceShouldAnimate: forceShouldAnimate\n  });\n  return {\n    displaced: displaced,\n    displacedBy: displacedBy,\n    at: {\n      type: 'REORDER',\n      destination: {\n        droppableId: destination.descriptor.id,\n        index: index\n      }\n    }\n  };\n}\n\nfunction didStartAfterCritical(draggableId, afterCritical) {\n  return Boolean(afterCritical.effected[draggableId]);\n}\n\nvar fromCombine = (function (_ref) {\n  var isMovingForward = _ref.isMovingForward,\n      destination = _ref.destination,\n      draggables = _ref.draggables,\n      combine = _ref.combine,\n      afterCritical = _ref.afterCritical;\n\n  if (!destination.isCombineEnabled) {\n    return null;\n  }\n\n  var combineId = combine.draggableId;\n  var combineWith = draggables[combineId];\n  var combineWithIndex = combineWith.descriptor.index;\n  var didCombineWithStartAfterCritical = didStartAfterCritical(combineId, afterCritical);\n\n  if (didCombineWithStartAfterCritical) {\n    if (isMovingForward) {\n      return combineWithIndex;\n    }\n\n    return combineWithIndex - 1;\n  }\n\n  if (isMovingForward) {\n    return combineWithIndex + 1;\n  }\n\n  return combineWithIndex;\n});\n\nvar fromReorder = (function (_ref) {\n  var isMovingForward = _ref.isMovingForward,\n      isInHomeList = _ref.isInHomeList,\n      insideDestination = _ref.insideDestination,\n      location = _ref.location;\n\n  if (!insideDestination.length) {\n    return null;\n  }\n\n  var currentIndex = location.index;\n  var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n  var firstIndex = insideDestination[0].descriptor.index;\n  var lastIndex = insideDestination[insideDestination.length - 1].descriptor.index;\n  var upperBound = isInHomeList ? lastIndex : lastIndex + 1;\n\n  if (proposedIndex < firstIndex) {\n    return null;\n  }\n\n  if (proposedIndex > upperBound) {\n    return null;\n  }\n\n  return proposedIndex;\n});\n\nvar moveToNextIndex = (function (_ref) {\n  var isMovingForward = _ref.isMovingForward,\n      isInHomeList = _ref.isInHomeList,\n      draggable = _ref.draggable,\n      draggables = _ref.draggables,\n      destination = _ref.destination,\n      insideDestination = _ref.insideDestination,\n      previousImpact = _ref.previousImpact,\n      viewport = _ref.viewport,\n      afterCritical = _ref.afterCritical;\n  var wasAt = previousImpact.at;\n  !wasAt ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot move in direction without previous impact location') : invariant(false) : void 0;\n\n  if (wasAt.type === 'REORDER') {\n    var _newIndex = fromReorder({\n      isMovingForward: isMovingForward,\n      isInHomeList: isInHomeList,\n      location: wasAt.destination,\n      insideDestination: insideDestination\n    });\n\n    if (_newIndex == null) {\n      return null;\n    }\n\n    return calculateReorderImpact({\n      draggable: draggable,\n      insideDestination: insideDestination,\n      destination: destination,\n      viewport: viewport,\n      last: previousImpact.displaced,\n      displacedBy: previousImpact.displacedBy,\n      index: _newIndex\n    });\n  }\n\n  var newIndex = fromCombine({\n    isMovingForward: isMovingForward,\n    destination: destination,\n    displaced: previousImpact.displaced,\n    draggables: draggables,\n    combine: wasAt.combine,\n    afterCritical: afterCritical\n  });\n\n  if (newIndex == null) {\n    return null;\n  }\n\n  return calculateReorderImpact({\n    draggable: draggable,\n    insideDestination: insideDestination,\n    destination: destination,\n    viewport: viewport,\n    last: previousImpact.displaced,\n    displacedBy: previousImpact.displacedBy,\n    index: newIndex\n  });\n});\n\nvar getCombinedItemDisplacement = (function (_ref) {\n  var displaced = _ref.displaced,\n      afterCritical = _ref.afterCritical,\n      combineWith = _ref.combineWith,\n      displacedBy = _ref.displacedBy;\n  var isDisplaced = Boolean(displaced.visible[combineWith] || displaced.invisible[combineWith]);\n\n  if (didStartAfterCritical(combineWith, afterCritical)) {\n    return isDisplaced ? origin : negate(displacedBy.point);\n  }\n\n  return isDisplaced ? displacedBy.point : origin;\n});\n\nvar whenCombining = (function (_ref) {\n  var afterCritical = _ref.afterCritical,\n      impact = _ref.impact,\n      draggables = _ref.draggables;\n  var combine = tryGetCombine(impact);\n  !combine ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n  var combineWith = combine.draggableId;\n  var center = draggables[combineWith].page.borderBox.center;\n  var displaceBy = getCombinedItemDisplacement({\n    displaced: impact.displaced,\n    afterCritical: afterCritical,\n    combineWith: combineWith,\n    displacedBy: impact.displacedBy\n  });\n  return add(center, displaceBy);\n});\n\nvar distanceFromStartToBorderBoxCenter = function distanceFromStartToBorderBoxCenter(axis, box) {\n  return box.margin[axis.start] + box.borderBox[axis.size] / 2;\n};\n\nvar distanceFromEndToBorderBoxCenter = function distanceFromEndToBorderBoxCenter(axis, box) {\n  return box.margin[axis.end] + box.borderBox[axis.size] / 2;\n};\n\nvar getCrossAxisBorderBoxCenter = function getCrossAxisBorderBoxCenter(axis, target, isMoving) {\n  return target[axis.crossAxisStart] + isMoving.margin[axis.crossAxisStart] + isMoving.borderBox[axis.crossAxisSize] / 2;\n};\n\nvar goAfter = function goAfter(_ref) {\n  var axis = _ref.axis,\n      moveRelativeTo = _ref.moveRelativeTo,\n      isMoving = _ref.isMoving;\n  return patch(axis.line, moveRelativeTo.marginBox[axis.end] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nvar goBefore = function goBefore(_ref2) {\n  var axis = _ref2.axis,\n      moveRelativeTo = _ref2.moveRelativeTo,\n      isMoving = _ref2.isMoving;\n  return patch(axis.line, moveRelativeTo.marginBox[axis.start] - distanceFromEndToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nvar goIntoStart = function goIntoStart(_ref3) {\n  var axis = _ref3.axis,\n      moveInto = _ref3.moveInto,\n      isMoving = _ref3.isMoving;\n  return patch(axis.line, moveInto.contentBox[axis.start] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveInto.contentBox, isMoving));\n};\n\nvar whenReordering = (function (_ref) {\n  var impact = _ref.impact,\n      draggable = _ref.draggable,\n      draggables = _ref.draggables,\n      droppable = _ref.droppable,\n      afterCritical = _ref.afterCritical;\n  var insideDestination = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n  var draggablePage = draggable.page;\n  var axis = droppable.axis;\n\n  if (!insideDestination.length) {\n    return goIntoStart({\n      axis: axis,\n      moveInto: droppable.page,\n      isMoving: draggablePage\n    });\n  }\n\n  var displaced = impact.displaced,\n      displacedBy = impact.displacedBy;\n  var closestAfter = displaced.all[0];\n\n  if (closestAfter) {\n    var closest = draggables[closestAfter];\n\n    if (didStartAfterCritical(closestAfter, afterCritical)) {\n      return goBefore({\n        axis: axis,\n        moveRelativeTo: closest.page,\n        isMoving: draggablePage\n      });\n    }\n\n    var withDisplacement = offset(closest.page, displacedBy.point);\n    return goBefore({\n      axis: axis,\n      moveRelativeTo: withDisplacement,\n      isMoving: draggablePage\n    });\n  }\n\n  var last = insideDestination[insideDestination.length - 1];\n\n  if (last.descriptor.id === draggable.descriptor.id) {\n    return draggablePage.borderBox.center;\n  }\n\n  if (didStartAfterCritical(last.descriptor.id, afterCritical)) {\n    var page = offset(last.page, negate(afterCritical.displacedBy.point));\n    return goAfter({\n      axis: axis,\n      moveRelativeTo: page,\n      isMoving: draggablePage\n    });\n  }\n\n  return goAfter({\n    axis: axis,\n    moveRelativeTo: last.page,\n    isMoving: draggablePage\n  });\n});\n\nvar withDroppableDisplacement = (function (droppable, point) {\n  var frame = droppable.frame;\n\n  if (!frame) {\n    return point;\n  }\n\n  return add(point, frame.scroll.diff.displacement);\n});\n\nvar getResultWithoutDroppableDisplacement = function getResultWithoutDroppableDisplacement(_ref) {\n  var impact = _ref.impact,\n      draggable = _ref.draggable,\n      droppable = _ref.droppable,\n      draggables = _ref.draggables,\n      afterCritical = _ref.afterCritical;\n  var original = draggable.page.borderBox.center;\n  var at = impact.at;\n\n  if (!droppable) {\n    return original;\n  }\n\n  if (!at) {\n    return original;\n  }\n\n  if (at.type === 'REORDER') {\n    return whenReordering({\n      impact: impact,\n      draggable: draggable,\n      draggables: draggables,\n      droppable: droppable,\n      afterCritical: afterCritical\n    });\n  }\n\n  return whenCombining({\n    impact: impact,\n    draggables: draggables,\n    afterCritical: afterCritical\n  });\n};\n\nvar getPageBorderBoxCenterFromImpact = (function (args) {\n  var withoutDisplacement = getResultWithoutDroppableDisplacement(args);\n  var droppable = args.droppable;\n  var withDisplacement = droppable ? withDroppableDisplacement(droppable, withoutDisplacement) : withoutDisplacement;\n  return withDisplacement;\n});\n\nvar scrollViewport = (function (viewport, newScroll) {\n  var diff = subtract(newScroll, viewport.scroll.initial);\n  var displacement = negate(diff);\n  var frame = getRect({\n    top: newScroll.y,\n    bottom: newScroll.y + viewport.frame.height,\n    left: newScroll.x,\n    right: newScroll.x + viewport.frame.width\n  });\n  var updated = {\n    frame: frame,\n    scroll: {\n      initial: viewport.scroll.initial,\n      max: viewport.scroll.max,\n      current: newScroll,\n      diff: {\n        value: diff,\n        displacement: displacement\n      }\n    }\n  };\n  return updated;\n});\n\nfunction getDraggables(ids, draggables) {\n  return ids.map(function (id) {\n    return draggables[id];\n  });\n}\n\nfunction tryGetVisible(id, groups) {\n  for (var i = 0; i < groups.length; i++) {\n    var displacement = groups[i].visible[id];\n\n    if (displacement) {\n      return displacement;\n    }\n  }\n\n  return null;\n}\n\nvar speculativelyIncrease = (function (_ref) {\n  var impact = _ref.impact,\n      viewport = _ref.viewport,\n      destination = _ref.destination,\n      draggables = _ref.draggables,\n      maxScrollChange = _ref.maxScrollChange;\n  var scrolledViewport = scrollViewport(viewport, add(viewport.scroll.current, maxScrollChange));\n  var scrolledDroppable = destination.frame ? scrollDroppable(destination, add(destination.frame.scroll.current, maxScrollChange)) : destination;\n  var last = impact.displaced;\n  var withViewportScroll = getDisplacementGroups({\n    afterDragging: getDraggables(last.all, draggables),\n    destination: destination,\n    displacedBy: impact.displacedBy,\n    viewport: scrolledViewport.frame,\n    last: last,\n    forceShouldAnimate: false\n  });\n  var withDroppableScroll = getDisplacementGroups({\n    afterDragging: getDraggables(last.all, draggables),\n    destination: scrolledDroppable,\n    displacedBy: impact.displacedBy,\n    viewport: viewport.frame,\n    last: last,\n    forceShouldAnimate: false\n  });\n  var invisible = {};\n  var visible = {};\n  var groups = [last, withViewportScroll, withDroppableScroll];\n  last.all.forEach(function (id) {\n    var displacement = tryGetVisible(id, groups);\n\n    if (displacement) {\n      visible[id] = displacement;\n      return;\n    }\n\n    invisible[id] = true;\n  });\n\n  var newImpact = _extends({}, impact, {\n    displaced: {\n      all: last.all,\n      invisible: invisible,\n      visible: visible\n    }\n  });\n\n  return newImpact;\n});\n\nvar withViewportDisplacement = (function (viewport, point) {\n  return add(viewport.scroll.diff.displacement, point);\n});\n\nvar getClientFromPageBorderBoxCenter = (function (_ref) {\n  var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n      draggable = _ref.draggable,\n      viewport = _ref.viewport;\n  var withoutPageScrollChange = withViewportDisplacement(viewport, pageBorderBoxCenter);\n  var offset = subtract(withoutPageScrollChange, draggable.page.borderBox.center);\n  return add(draggable.client.borderBox.center, offset);\n});\n\nvar isTotallyVisibleInNewLocation = (function (_ref) {\n  var draggable = _ref.draggable,\n      destination = _ref.destination,\n      newPageBorderBoxCenter = _ref.newPageBorderBoxCenter,\n      viewport = _ref.viewport,\n      withDroppableDisplacement = _ref.withDroppableDisplacement,\n      _ref$onlyOnMainAxis = _ref.onlyOnMainAxis,\n      onlyOnMainAxis = _ref$onlyOnMainAxis === void 0 ? false : _ref$onlyOnMainAxis;\n  var changeNeeded = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);\n  var shifted = offsetByPosition(draggable.page.borderBox, changeNeeded);\n  var args = {\n    target: shifted,\n    destination: destination,\n    withDroppableDisplacement: withDroppableDisplacement,\n    viewport: viewport\n  };\n  return onlyOnMainAxis ? isTotallyVisibleOnAxis(args) : isTotallyVisible(args);\n});\n\nvar moveToNextPlace = (function (_ref) {\n  var isMovingForward = _ref.isMovingForward,\n      draggable = _ref.draggable,\n      destination = _ref.destination,\n      draggables = _ref.draggables,\n      previousImpact = _ref.previousImpact,\n      viewport = _ref.viewport,\n      previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n      previousClientSelection = _ref.previousClientSelection,\n      afterCritical = _ref.afterCritical;\n\n  if (!destination.isEnabled) {\n    return null;\n  }\n\n  var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n  var isInHomeList = isHomeOf(draggable, destination);\n  var impact = moveToNextCombine({\n    isMovingForward: isMovingForward,\n    draggable: draggable,\n    destination: destination,\n    insideDestination: insideDestination,\n    previousImpact: previousImpact\n  }) || moveToNextIndex({\n    isMovingForward: isMovingForward,\n    isInHomeList: isInHomeList,\n    draggable: draggable,\n    draggables: draggables,\n    destination: destination,\n    insideDestination: insideDestination,\n    previousImpact: previousImpact,\n    viewport: viewport,\n    afterCritical: afterCritical\n  });\n\n  if (!impact) {\n    return null;\n  }\n\n  var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n    impact: impact,\n    draggable: draggable,\n    droppable: destination,\n    draggables: draggables,\n    afterCritical: afterCritical\n  });\n  var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n    draggable: draggable,\n    destination: destination,\n    newPageBorderBoxCenter: pageBorderBoxCenter,\n    viewport: viewport.frame,\n    withDroppableDisplacement: false,\n    onlyOnMainAxis: true\n  });\n\n  if (isVisibleInNewLocation) {\n    var clientSelection = getClientFromPageBorderBoxCenter({\n      pageBorderBoxCenter: pageBorderBoxCenter,\n      draggable: draggable,\n      viewport: viewport\n    });\n    return {\n      clientSelection: clientSelection,\n      impact: impact,\n      scrollJumpRequest: null\n    };\n  }\n\n  var distance = subtract(pageBorderBoxCenter, previousPageBorderBoxCenter);\n  var cautious = speculativelyIncrease({\n    impact: impact,\n    viewport: viewport,\n    destination: destination,\n    draggables: draggables,\n    maxScrollChange: distance\n  });\n  return {\n    clientSelection: previousClientSelection,\n    impact: cautious,\n    scrollJumpRequest: distance\n  };\n});\n\nvar getKnownActive = function getKnownActive(droppable) {\n  var rect = droppable.subject.active;\n  !rect ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;\n  return rect;\n};\n\nvar getBestCrossAxisDroppable = (function (_ref) {\n  var isMovingForward = _ref.isMovingForward,\n      pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n      source = _ref.source,\n      droppables = _ref.droppables,\n      viewport = _ref.viewport;\n  var active = source.subject.active;\n\n  if (!active) {\n    return null;\n  }\n\n  var axis = source.axis;\n  var isBetweenSourceClipped = isWithin(active[axis.start], active[axis.end]);\n  var candidates = toDroppableList(droppables).filter(function (droppable) {\n    return droppable !== source;\n  }).filter(function (droppable) {\n    return droppable.isEnabled;\n  }).filter(function (droppable) {\n    return Boolean(droppable.subject.active);\n  }).filter(function (droppable) {\n    return isPartiallyVisibleThroughFrame(viewport.frame)(getKnownActive(droppable));\n  }).filter(function (droppable) {\n    var activeOfTarget = getKnownActive(droppable);\n\n    if (isMovingForward) {\n      return active[axis.crossAxisEnd] < activeOfTarget[axis.crossAxisEnd];\n    }\n\n    return activeOfTarget[axis.crossAxisStart] < active[axis.crossAxisStart];\n  }).filter(function (droppable) {\n    var activeOfTarget = getKnownActive(droppable);\n    var isBetweenDestinationClipped = isWithin(activeOfTarget[axis.start], activeOfTarget[axis.end]);\n    return isBetweenSourceClipped(activeOfTarget[axis.start]) || isBetweenSourceClipped(activeOfTarget[axis.end]) || isBetweenDestinationClipped(active[axis.start]) || isBetweenDestinationClipped(active[axis.end]);\n  }).sort(function (a, b) {\n    var first = getKnownActive(a)[axis.crossAxisStart];\n    var second = getKnownActive(b)[axis.crossAxisStart];\n\n    if (isMovingForward) {\n      return first - second;\n    }\n\n    return second - first;\n  }).filter(function (droppable, index, array) {\n    return getKnownActive(droppable)[axis.crossAxisStart] === getKnownActive(array[0])[axis.crossAxisStart];\n  });\n\n  if (!candidates.length) {\n    return null;\n  }\n\n  if (candidates.length === 1) {\n    return candidates[0];\n  }\n\n  var contains = candidates.filter(function (droppable) {\n    var isWithinDroppable = isWithin(getKnownActive(droppable)[axis.start], getKnownActive(droppable)[axis.end]);\n    return isWithinDroppable(pageBorderBoxCenter[axis.line]);\n  });\n\n  if (contains.length === 1) {\n    return contains[0];\n  }\n\n  if (contains.length > 1) {\n    return contains.sort(function (a, b) {\n      return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n    })[0];\n  }\n\n  return candidates.sort(function (a, b) {\n    var first = closest(pageBorderBoxCenter, getCorners(getKnownActive(a)));\n    var second = closest(pageBorderBoxCenter, getCorners(getKnownActive(b)));\n\n    if (first !== second) {\n      return first - second;\n    }\n\n    return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n  })[0];\n});\n\nvar getCurrentPageBorderBoxCenter = function getCurrentPageBorderBoxCenter(draggable, afterCritical) {\n  var original = draggable.page.borderBox.center;\n  return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? subtract(original, afterCritical.displacedBy.point) : original;\n};\nvar getCurrentPageBorderBox = function getCurrentPageBorderBox(draggable, afterCritical) {\n  var original = draggable.page.borderBox;\n  return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? offsetByPosition(original, negate(afterCritical.displacedBy.point)) : original;\n};\n\nvar getClosestDraggable = (function (_ref) {\n  var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n      viewport = _ref.viewport,\n      destination = _ref.destination,\n      insideDestination = _ref.insideDestination,\n      afterCritical = _ref.afterCritical;\n  var sorted = insideDestination.filter(function (draggable) {\n    return isTotallyVisible({\n      target: getCurrentPageBorderBox(draggable, afterCritical),\n      destination: destination,\n      viewport: viewport.frame,\n      withDroppableDisplacement: true\n    });\n  }).sort(function (a, b) {\n    var distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(a, afterCritical)));\n    var distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(b, afterCritical)));\n\n    if (distanceToA < distanceToB) {\n      return -1;\n    }\n\n    if (distanceToB < distanceToA) {\n      return 1;\n    }\n\n    return a.descriptor.index - b.descriptor.index;\n  });\n  return sorted[0] || null;\n});\n\nvar getDisplacedBy = memoizeOne(function getDisplacedBy(axis, displaceBy) {\n  var displacement = displaceBy[axis.line];\n  return {\n    value: displacement,\n    point: patch(axis.line, displacement)\n  };\n});\n\nvar getRequiredGrowthForPlaceholder = function getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables) {\n  var axis = droppable.axis;\n\n  if (droppable.descriptor.mode === 'virtual') {\n    return patch(axis.line, placeholderSize[axis.line]);\n  }\n\n  var availableSpace = droppable.subject.page.contentBox[axis.size];\n  var insideDroppable = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n  var spaceUsed = insideDroppable.reduce(function (sum, dimension) {\n    return sum + dimension.client.marginBox[axis.size];\n  }, 0);\n  var requiredSpace = spaceUsed + placeholderSize[axis.line];\n  var needsToGrowBy = requiredSpace - availableSpace;\n\n  if (needsToGrowBy <= 0) {\n    return null;\n  }\n\n  return patch(axis.line, needsToGrowBy);\n};\n\nvar withMaxScroll = function withMaxScroll(frame, max) {\n  return _extends({}, frame, {\n    scroll: _extends({}, frame.scroll, {\n      max: max\n    })\n  });\n};\n\nvar addPlaceholder = function addPlaceholder(droppable, draggable, draggables) {\n  var frame = droppable.frame;\n  !!isHomeOf(draggable, droppable) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not add placeholder space to home list') : invariant(false) : void 0;\n  !!droppable.subject.withPlaceholder ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot add placeholder size to a subject when it already has one') : invariant(false) : void 0;\n  var placeholderSize = getDisplacedBy(droppable.axis, draggable.displaceBy).point;\n  var requiredGrowth = getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables);\n  var added = {\n    placeholderSize: placeholderSize,\n    increasedBy: requiredGrowth,\n    oldFrameMaxScroll: droppable.frame ? droppable.frame.scroll.max : null\n  };\n\n  if (!frame) {\n    var _subject = getSubject({\n      page: droppable.subject.page,\n      withPlaceholder: added,\n      axis: droppable.axis,\n      frame: droppable.frame\n    });\n\n    return _extends({}, droppable, {\n      subject: _subject\n    });\n  }\n\n  var maxScroll = requiredGrowth ? add(frame.scroll.max, requiredGrowth) : frame.scroll.max;\n  var newFrame = withMaxScroll(frame, maxScroll);\n  var subject = getSubject({\n    page: droppable.subject.page,\n    withPlaceholder: added,\n    axis: droppable.axis,\n    frame: newFrame\n  });\n  return _extends({}, droppable, {\n    subject: subject,\n    frame: newFrame\n  });\n};\nvar removePlaceholder = function removePlaceholder(droppable) {\n  var added = droppable.subject.withPlaceholder;\n  !added ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove placeholder form subject when there was none') : invariant(false) : void 0;\n  var frame = droppable.frame;\n\n  if (!frame) {\n    var _subject2 = getSubject({\n      page: droppable.subject.page,\n      axis: droppable.axis,\n      frame: null,\n      withPlaceholder: null\n    });\n\n    return _extends({}, droppable, {\n      subject: _subject2\n    });\n  }\n\n  var oldMaxScroll = added.oldFrameMaxScroll;\n  !oldMaxScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected droppable with frame to have old max frame scroll when removing placeholder') : invariant(false) : void 0;\n  var newFrame = withMaxScroll(frame, oldMaxScroll);\n  var subject = getSubject({\n    page: droppable.subject.page,\n    axis: droppable.axis,\n    frame: newFrame,\n    withPlaceholder: null\n  });\n  return _extends({}, droppable, {\n    subject: subject,\n    frame: newFrame\n  });\n};\n\nvar moveToNewDroppable = (function (_ref) {\n  var previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n      moveRelativeTo = _ref.moveRelativeTo,\n      insideDestination = _ref.insideDestination,\n      draggable = _ref.draggable,\n      draggables = _ref.draggables,\n      destination = _ref.destination,\n      viewport = _ref.viewport,\n      afterCritical = _ref.afterCritical;\n\n  if (!moveRelativeTo) {\n    if (insideDestination.length) {\n      return null;\n    }\n\n    var proposed = {\n      displaced: emptyGroups,\n      displacedBy: noDisplacedBy,\n      at: {\n        type: 'REORDER',\n        destination: {\n          droppableId: destination.descriptor.id,\n          index: 0\n        }\n      }\n    };\n    var proposedPageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n      impact: proposed,\n      draggable: draggable,\n      droppable: destination,\n      draggables: draggables,\n      afterCritical: afterCritical\n    });\n    var withPlaceholder = isHomeOf(draggable, destination) ? destination : addPlaceholder(destination, draggable, draggables);\n    var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n      draggable: draggable,\n      destination: withPlaceholder,\n      newPageBorderBoxCenter: proposedPageBorderBoxCenter,\n      viewport: viewport.frame,\n      withDroppableDisplacement: false,\n      onlyOnMainAxis: true\n    });\n    return isVisibleInNewLocation ? proposed : null;\n  }\n\n  var isGoingBeforeTarget = Boolean(previousPageBorderBoxCenter[destination.axis.line] <= moveRelativeTo.page.borderBox.center[destination.axis.line]);\n\n  var proposedIndex = function () {\n    var relativeTo = moveRelativeTo.descriptor.index;\n\n    if (moveRelativeTo.descriptor.id === draggable.descriptor.id) {\n      return relativeTo;\n    }\n\n    if (isGoingBeforeTarget) {\n      return relativeTo;\n    }\n\n    return relativeTo + 1;\n  }();\n\n  var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n  return calculateReorderImpact({\n    draggable: draggable,\n    insideDestination: insideDestination,\n    destination: destination,\n    viewport: viewport,\n    displacedBy: displacedBy,\n    last: emptyGroups,\n    index: proposedIndex\n  });\n});\n\nvar moveCrossAxis = (function (_ref) {\n  var isMovingForward = _ref.isMovingForward,\n      previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n      draggable = _ref.draggable,\n      isOver = _ref.isOver,\n      draggables = _ref.draggables,\n      droppables = _ref.droppables,\n      viewport = _ref.viewport,\n      afterCritical = _ref.afterCritical;\n  var destination = getBestCrossAxisDroppable({\n    isMovingForward: isMovingForward,\n    pageBorderBoxCenter: previousPageBorderBoxCenter,\n    source: isOver,\n    droppables: droppables,\n    viewport: viewport\n  });\n\n  if (!destination) {\n    return null;\n  }\n\n  var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n  var moveRelativeTo = getClosestDraggable({\n    pageBorderBoxCenter: previousPageBorderBoxCenter,\n    viewport: viewport,\n    destination: destination,\n    insideDestination: insideDestination,\n    afterCritical: afterCritical\n  });\n  var impact = moveToNewDroppable({\n    previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n    destination: destination,\n    draggable: draggable,\n    draggables: draggables,\n    moveRelativeTo: moveRelativeTo,\n    insideDestination: insideDestination,\n    viewport: viewport,\n    afterCritical: afterCritical\n  });\n\n  if (!impact) {\n    return null;\n  }\n\n  var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n    impact: impact,\n    draggable: draggable,\n    droppable: destination,\n    draggables: draggables,\n    afterCritical: afterCritical\n  });\n  var clientSelection = getClientFromPageBorderBoxCenter({\n    pageBorderBoxCenter: pageBorderBoxCenter,\n    draggable: draggable,\n    viewport: viewport\n  });\n  return {\n    clientSelection: clientSelection,\n    impact: impact,\n    scrollJumpRequest: null\n  };\n});\n\nvar whatIsDraggedOver = (function (impact) {\n  var at = impact.at;\n\n  if (!at) {\n    return null;\n  }\n\n  if (at.type === 'REORDER') {\n    return at.destination.droppableId;\n  }\n\n  return at.combine.droppableId;\n});\n\nvar getDroppableOver = function getDroppableOver(impact, droppables) {\n  var id = whatIsDraggedOver(impact);\n  return id ? droppables[id] : null;\n};\n\nvar moveInDirection = (function (_ref) {\n  var state = _ref.state,\n      type = _ref.type;\n  var isActuallyOver = getDroppableOver(state.impact, state.dimensions.droppables);\n  var isMainAxisMovementAllowed = Boolean(isActuallyOver);\n  var home = state.dimensions.droppables[state.critical.droppable.id];\n  var isOver = isActuallyOver || home;\n  var direction = isOver.axis.direction;\n  var isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');\n\n  if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {\n    return null;\n  }\n\n  var isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';\n  var draggable = state.dimensions.draggables[state.critical.draggable.id];\n  var previousPageBorderBoxCenter = state.current.page.borderBoxCenter;\n  var _state$dimensions = state.dimensions,\n      draggables = _state$dimensions.draggables,\n      droppables = _state$dimensions.droppables;\n  return isMovingOnMainAxis ? moveToNextPlace({\n    isMovingForward: isMovingForward,\n    previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n    draggable: draggable,\n    destination: isOver,\n    draggables: draggables,\n    viewport: state.viewport,\n    previousClientSelection: state.current.client.selection,\n    previousImpact: state.impact,\n    afterCritical: state.afterCritical\n  }) : moveCrossAxis({\n    isMovingForward: isMovingForward,\n    previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n    draggable: draggable,\n    isOver: isOver,\n    draggables: draggables,\n    droppables: droppables,\n    viewport: state.viewport,\n    afterCritical: state.afterCritical\n  });\n});\n\nfunction isMovementAllowed(state) {\n  return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';\n}\n\nfunction isPositionInFrame(frame) {\n  var isWithinVertical = isWithin(frame.top, frame.bottom);\n  var isWithinHorizontal = isWithin(frame.left, frame.right);\n  return function run(point) {\n    return isWithinVertical(point.y) && isWithinHorizontal(point.x);\n  };\n}\n\nfunction getHasOverlap(first, second) {\n  return first.left < second.right && first.right > second.left && first.top < second.bottom && first.bottom > second.top;\n}\n\nfunction getFurthestAway(_ref) {\n  var pageBorderBox = _ref.pageBorderBox,\n      draggable = _ref.draggable,\n      candidates = _ref.candidates;\n  var startCenter = draggable.page.borderBox.center;\n  var sorted = candidates.map(function (candidate) {\n    var axis = candidate.axis;\n    var target = patch(candidate.axis.line, pageBorderBox.center[axis.line], candidate.page.borderBox.center[axis.crossAxisLine]);\n    return {\n      id: candidate.descriptor.id,\n      distance: distance(startCenter, target)\n    };\n  }).sort(function (a, b) {\n    return b.distance - a.distance;\n  });\n  return sorted[0] ? sorted[0].id : null;\n}\n\nfunction getDroppableOver$1(_ref2) {\n  var pageBorderBox = _ref2.pageBorderBox,\n      draggable = _ref2.draggable,\n      droppables = _ref2.droppables;\n  var candidates = toDroppableList(droppables).filter(function (item) {\n    if (!item.isEnabled) {\n      return false;\n    }\n\n    var active = item.subject.active;\n\n    if (!active) {\n      return false;\n    }\n\n    if (!getHasOverlap(pageBorderBox, active)) {\n      return false;\n    }\n\n    if (isPositionInFrame(active)(pageBorderBox.center)) {\n      return true;\n    }\n\n    var axis = item.axis;\n    var childCenter = active.center[axis.crossAxisLine];\n    var crossAxisStart = pageBorderBox[axis.crossAxisStart];\n    var crossAxisEnd = pageBorderBox[axis.crossAxisEnd];\n    var isContained = isWithin(active[axis.crossAxisStart], active[axis.crossAxisEnd]);\n    var isStartContained = isContained(crossAxisStart);\n    var isEndContained = isContained(crossAxisEnd);\n\n    if (!isStartContained && !isEndContained) {\n      return true;\n    }\n\n    if (isStartContained) {\n      return crossAxisStart < childCenter;\n    }\n\n    return crossAxisEnd > childCenter;\n  });\n\n  if (!candidates.length) {\n    return null;\n  }\n\n  if (candidates.length === 1) {\n    return candidates[0].descriptor.id;\n  }\n\n  return getFurthestAway({\n    pageBorderBox: pageBorderBox,\n    draggable: draggable,\n    candidates: candidates\n  });\n}\n\nvar offsetRectByPosition = function offsetRectByPosition(rect, point) {\n  return getRect(offsetByPosition(rect, point));\n};\n\nvar withDroppableScroll = (function (droppable, area) {\n  var frame = droppable.frame;\n\n  if (!frame) {\n    return area;\n  }\n\n  return offsetRectByPosition(area, frame.scroll.diff.value);\n});\n\nfunction getIsDisplaced(_ref) {\n  var displaced = _ref.displaced,\n      id = _ref.id;\n  return Boolean(displaced.visible[id] || displaced.invisible[id]);\n}\n\nfunction atIndex(_ref) {\n  var draggable = _ref.draggable,\n      closest = _ref.closest,\n      inHomeList = _ref.inHomeList;\n\n  if (!closest) {\n    return null;\n  }\n\n  if (!inHomeList) {\n    return closest.descriptor.index;\n  }\n\n  if (closest.descriptor.index > draggable.descriptor.index) {\n    return closest.descriptor.index - 1;\n  }\n\n  return closest.descriptor.index;\n}\n\nvar getReorderImpact = (function (_ref2) {\n  var targetRect = _ref2.pageBorderBoxWithDroppableScroll,\n      draggable = _ref2.draggable,\n      destination = _ref2.destination,\n      insideDestination = _ref2.insideDestination,\n      last = _ref2.last,\n      viewport = _ref2.viewport,\n      afterCritical = _ref2.afterCritical;\n  var axis = destination.axis;\n  var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n  var displacement = displacedBy.value;\n  var targetStart = targetRect[axis.start];\n  var targetEnd = targetRect[axis.end];\n  var withoutDragging = removeDraggableFromList(draggable, insideDestination);\n  var closest = find(withoutDragging, function (child) {\n    var id = child.descriptor.id;\n    var childCenter = child.page.borderBox.center[axis.line];\n    var didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n    var isDisplaced = getIsDisplaced({\n      displaced: last,\n      id: id\n    });\n\n    if (didStartAfterCritical$1) {\n      if (isDisplaced) {\n        return targetEnd <= childCenter;\n      }\n\n      return targetStart < childCenter - displacement;\n    }\n\n    if (isDisplaced) {\n      return targetEnd <= childCenter + displacement;\n    }\n\n    return targetStart < childCenter;\n  });\n  var newIndex = atIndex({\n    draggable: draggable,\n    closest: closest,\n    inHomeList: isHomeOf(draggable, destination)\n  });\n  return calculateReorderImpact({\n    draggable: draggable,\n    insideDestination: insideDestination,\n    destination: destination,\n    viewport: viewport,\n    last: last,\n    displacedBy: displacedBy,\n    index: newIndex\n  });\n});\n\nvar combineThresholdDivisor = 4;\nvar getCombineImpact = (function (_ref) {\n  var draggable = _ref.draggable,\n      targetRect = _ref.pageBorderBoxWithDroppableScroll,\n      previousImpact = _ref.previousImpact,\n      destination = _ref.destination,\n      insideDestination = _ref.insideDestination,\n      afterCritical = _ref.afterCritical;\n\n  if (!destination.isCombineEnabled) {\n    return null;\n  }\n\n  var axis = destination.axis;\n  var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n  var displacement = displacedBy.value;\n  var targetStart = targetRect[axis.start];\n  var targetEnd = targetRect[axis.end];\n  var withoutDragging = removeDraggableFromList(draggable, insideDestination);\n  var combineWith = find(withoutDragging, function (child) {\n    var id = child.descriptor.id;\n    var childRect = child.page.borderBox;\n    var childSize = childRect[axis.size];\n    var threshold = childSize / combineThresholdDivisor;\n    var didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n    var isDisplaced = getIsDisplaced({\n      displaced: previousImpact.displaced,\n      id: id\n    });\n\n    if (didStartAfterCritical$1) {\n      if (isDisplaced) {\n        return targetEnd > childRect[axis.start] + threshold && targetEnd < childRect[axis.end] - threshold;\n      }\n\n      return targetStart > childRect[axis.start] - displacement + threshold && targetStart < childRect[axis.end] - displacement - threshold;\n    }\n\n    if (isDisplaced) {\n      return targetEnd > childRect[axis.start] + displacement + threshold && targetEnd < childRect[axis.end] + displacement - threshold;\n    }\n\n    return targetStart > childRect[axis.start] + threshold && targetStart < childRect[axis.end] - threshold;\n  });\n\n  if (!combineWith) {\n    return null;\n  }\n\n  var impact = {\n    displacedBy: displacedBy,\n    displaced: previousImpact.displaced,\n    at: {\n      type: 'COMBINE',\n      combine: {\n        draggableId: combineWith.descriptor.id,\n        droppableId: destination.descriptor.id\n      }\n    }\n  };\n  return impact;\n});\n\nvar getDragImpact = (function (_ref) {\n  var pageOffset = _ref.pageOffset,\n      draggable = _ref.draggable,\n      draggables = _ref.draggables,\n      droppables = _ref.droppables,\n      previousImpact = _ref.previousImpact,\n      viewport = _ref.viewport,\n      afterCritical = _ref.afterCritical;\n  var pageBorderBox = offsetRectByPosition(draggable.page.borderBox, pageOffset);\n  var destinationId = getDroppableOver$1({\n    pageBorderBox: pageBorderBox,\n    draggable: draggable,\n    droppables: droppables\n  });\n\n  if (!destinationId) {\n    return noImpact;\n  }\n\n  var destination = droppables[destinationId];\n  var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n  var pageBorderBoxWithDroppableScroll = withDroppableScroll(destination, pageBorderBox);\n  return getCombineImpact({\n    pageBorderBoxWithDroppableScroll: pageBorderBoxWithDroppableScroll,\n    draggable: draggable,\n    previousImpact: previousImpact,\n    destination: destination,\n    insideDestination: insideDestination,\n    afterCritical: afterCritical\n  }) || getReorderImpact({\n    pageBorderBoxWithDroppableScroll: pageBorderBoxWithDroppableScroll,\n    draggable: draggable,\n    destination: destination,\n    insideDestination: insideDestination,\n    last: previousImpact.displaced,\n    viewport: viewport,\n    afterCritical: afterCritical\n  });\n});\n\nvar patchDroppableMap = (function (droppables, updated) {\n  var _extends2;\n\n  return _extends({}, droppables, (_extends2 = {}, _extends2[updated.descriptor.id] = updated, _extends2));\n});\n\nvar clearUnusedPlaceholder = function clearUnusedPlaceholder(_ref) {\n  var previousImpact = _ref.previousImpact,\n      impact = _ref.impact,\n      droppables = _ref.droppables;\n  var last = whatIsDraggedOver(previousImpact);\n  var now = whatIsDraggedOver(impact);\n\n  if (!last) {\n    return droppables;\n  }\n\n  if (last === now) {\n    return droppables;\n  }\n\n  var lastDroppable = droppables[last];\n\n  if (!lastDroppable.subject.withPlaceholder) {\n    return droppables;\n  }\n\n  var updated = removePlaceholder(lastDroppable);\n  return patchDroppableMap(droppables, updated);\n};\n\nvar recomputePlaceholders = (function (_ref2) {\n  var draggable = _ref2.draggable,\n      draggables = _ref2.draggables,\n      droppables = _ref2.droppables,\n      previousImpact = _ref2.previousImpact,\n      impact = _ref2.impact;\n  var cleaned = clearUnusedPlaceholder({\n    previousImpact: previousImpact,\n    impact: impact,\n    droppables: droppables\n  });\n  var isOver = whatIsDraggedOver(impact);\n\n  if (!isOver) {\n    return cleaned;\n  }\n\n  var droppable = droppables[isOver];\n\n  if (isHomeOf(draggable, droppable)) {\n    return cleaned;\n  }\n\n  if (droppable.subject.withPlaceholder) {\n    return cleaned;\n  }\n\n  var patched = addPlaceholder(droppable, draggable, draggables);\n  return patchDroppableMap(cleaned, patched);\n});\n\nvar update = (function (_ref) {\n  var state = _ref.state,\n      forcedClientSelection = _ref.clientSelection,\n      forcedDimensions = _ref.dimensions,\n      forcedViewport = _ref.viewport,\n      forcedImpact = _ref.impact,\n      scrollJumpRequest = _ref.scrollJumpRequest;\n  var viewport = forcedViewport || state.viewport;\n  var dimensions = forcedDimensions || state.dimensions;\n  var clientSelection = forcedClientSelection || state.current.client.selection;\n  var offset = subtract(clientSelection, state.initial.client.selection);\n  var client = {\n    offset: offset,\n    selection: clientSelection,\n    borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)\n  };\n  var page = {\n    selection: add(client.selection, viewport.scroll.current),\n    borderBoxCenter: add(client.borderBoxCenter, viewport.scroll.current),\n    offset: add(client.offset, viewport.scroll.diff.value)\n  };\n  var current = {\n    client: client,\n    page: page\n  };\n\n  if (state.phase === 'COLLECTING') {\n    return _extends({\n      phase: 'COLLECTING'\n    }, state, {\n      dimensions: dimensions,\n      viewport: viewport,\n      current: current\n    });\n  }\n\n  var draggable = dimensions.draggables[state.critical.draggable.id];\n  var newImpact = forcedImpact || getDragImpact({\n    pageOffset: page.offset,\n    draggable: draggable,\n    draggables: dimensions.draggables,\n    droppables: dimensions.droppables,\n    previousImpact: state.impact,\n    viewport: viewport,\n    afterCritical: state.afterCritical\n  });\n  var withUpdatedPlaceholders = recomputePlaceholders({\n    draggable: draggable,\n    impact: newImpact,\n    previousImpact: state.impact,\n    draggables: dimensions.draggables,\n    droppables: dimensions.droppables\n  });\n\n  var result = _extends({}, state, {\n    current: current,\n    dimensions: {\n      draggables: dimensions.draggables,\n      droppables: withUpdatedPlaceholders\n    },\n    impact: newImpact,\n    viewport: viewport,\n    scrollJumpRequest: scrollJumpRequest || null,\n    forceShouldAnimate: scrollJumpRequest ? false : null\n  });\n\n  return result;\n});\n\nfunction getDraggables$1(ids, draggables) {\n  return ids.map(function (id) {\n    return draggables[id];\n  });\n}\n\nvar recompute = (function (_ref) {\n  var impact = _ref.impact,\n      viewport = _ref.viewport,\n      draggables = _ref.draggables,\n      destination = _ref.destination,\n      forceShouldAnimate = _ref.forceShouldAnimate;\n  var last = impact.displaced;\n  var afterDragging = getDraggables$1(last.all, draggables);\n  var displaced = getDisplacementGroups({\n    afterDragging: afterDragging,\n    destination: destination,\n    displacedBy: impact.displacedBy,\n    viewport: viewport.frame,\n    forceShouldAnimate: forceShouldAnimate,\n    last: last\n  });\n  return _extends({}, impact, {\n    displaced: displaced\n  });\n});\n\nvar getClientBorderBoxCenter = (function (_ref) {\n  var impact = _ref.impact,\n      draggable = _ref.draggable,\n      droppable = _ref.droppable,\n      draggables = _ref.draggables,\n      viewport = _ref.viewport,\n      afterCritical = _ref.afterCritical;\n  var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n    impact: impact,\n    draggable: draggable,\n    draggables: draggables,\n    droppable: droppable,\n    afterCritical: afterCritical\n  });\n  return getClientFromPageBorderBoxCenter({\n    pageBorderBoxCenter: pageBorderBoxCenter,\n    draggable: draggable,\n    viewport: viewport\n  });\n});\n\nvar refreshSnap = (function (_ref) {\n  var state = _ref.state,\n      forcedDimensions = _ref.dimensions,\n      forcedViewport = _ref.viewport;\n  !(state.movementMode === 'SNAP') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n  var needsVisibilityCheck = state.impact;\n  var viewport = forcedViewport || state.viewport;\n  var dimensions = forcedDimensions || state.dimensions;\n  var draggables = dimensions.draggables,\n      droppables = dimensions.droppables;\n  var draggable = draggables[state.critical.draggable.id];\n  var isOver = whatIsDraggedOver(needsVisibilityCheck);\n  !isOver ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must be over a destination in SNAP movement mode') : invariant(false) : void 0;\n  var destination = droppables[isOver];\n  var impact = recompute({\n    impact: needsVisibilityCheck,\n    viewport: viewport,\n    destination: destination,\n    draggables: draggables\n  });\n  var clientSelection = getClientBorderBoxCenter({\n    impact: impact,\n    draggable: draggable,\n    droppable: destination,\n    draggables: draggables,\n    viewport: viewport,\n    afterCritical: state.afterCritical\n  });\n  return update({\n    impact: impact,\n    clientSelection: clientSelection,\n    state: state,\n    dimensions: dimensions,\n    viewport: viewport\n  });\n});\n\nvar getHomeLocation = (function (descriptor) {\n  return {\n    index: descriptor.index,\n    droppableId: descriptor.droppableId\n  };\n});\n\nvar getLiftEffect = (function (_ref) {\n  var draggable = _ref.draggable,\n      home = _ref.home,\n      draggables = _ref.draggables,\n      viewport = _ref.viewport;\n  var displacedBy = getDisplacedBy(home.axis, draggable.displaceBy);\n  var insideHome = getDraggablesInsideDroppable(home.descriptor.id, draggables);\n  var rawIndex = insideHome.indexOf(draggable);\n  !(rawIndex !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected draggable to be inside home list') : invariant(false) : void 0;\n  var afterDragging = insideHome.slice(rawIndex + 1);\n  var effected = afterDragging.reduce(function (previous, item) {\n    previous[item.descriptor.id] = true;\n    return previous;\n  }, {});\n  var afterCritical = {\n    inVirtualList: home.descriptor.mode === 'virtual',\n    displacedBy: displacedBy,\n    effected: effected\n  };\n  var displaced = getDisplacementGroups({\n    afterDragging: afterDragging,\n    destination: home,\n    displacedBy: displacedBy,\n    last: null,\n    viewport: viewport.frame,\n    forceShouldAnimate: false\n  });\n  var impact = {\n    displaced: displaced,\n    displacedBy: displacedBy,\n    at: {\n      type: 'REORDER',\n      destination: getHomeLocation(draggable.descriptor)\n    }\n  };\n  return {\n    impact: impact,\n    afterCritical: afterCritical\n  };\n});\n\nvar patchDimensionMap = (function (dimensions, updated) {\n  return {\n    draggables: dimensions.draggables,\n    droppables: patchDroppableMap(dimensions.droppables, updated)\n  };\n});\n\nvar start = function start(key) {\n  if (process.env.NODE_ENV !== 'production') {\n    {\n      return;\n    }\n  }\n};\nvar finish = function finish(key) {\n  if (process.env.NODE_ENV !== 'production') {\n    {\n      return;\n    }\n  }\n};\n\nvar offsetDraggable = (function (_ref) {\n  var draggable = _ref.draggable,\n      offset$1 = _ref.offset,\n      initialWindowScroll = _ref.initialWindowScroll;\n  var client = offset(draggable.client, offset$1);\n  var page = withScroll(client, initialWindowScroll);\n\n  var moved = _extends({}, draggable, {\n    placeholder: _extends({}, draggable.placeholder, {\n      client: client\n    }),\n    client: client,\n    page: page\n  });\n\n  return moved;\n});\n\nvar getFrame = (function (droppable) {\n  var frame = droppable.frame;\n  !frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected Droppable to have a frame') : invariant(false) : void 0;\n  return frame;\n});\n\nvar adjustAdditionsForScrollChanges = (function (_ref) {\n  var additions = _ref.additions,\n      updatedDroppables = _ref.updatedDroppables,\n      viewport = _ref.viewport;\n  var windowScrollChange = viewport.scroll.diff.value;\n  return additions.map(function (draggable) {\n    var droppableId = draggable.descriptor.droppableId;\n    var modified = updatedDroppables[droppableId];\n    var frame = getFrame(modified);\n    var droppableScrollChange = frame.scroll.diff.value;\n    var totalChange = add(windowScrollChange, droppableScrollChange);\n    var moved = offsetDraggable({\n      draggable: draggable,\n      offset: totalChange,\n      initialWindowScroll: viewport.scroll.initial\n    });\n    return moved;\n  });\n});\n\nvar publishWhileDraggingInVirtual = (function (_ref) {\n  var state = _ref.state,\n      published = _ref.published;\n  start();\n  var withScrollChange = published.modified.map(function (update) {\n    var existing = state.dimensions.droppables[update.droppableId];\n    var scrolled = scrollDroppable(existing, update.scroll);\n    return scrolled;\n  });\n\n  var droppables = _extends({}, state.dimensions.droppables, {}, toDroppableMap(withScrollChange));\n\n  var updatedAdditions = toDraggableMap(adjustAdditionsForScrollChanges({\n    additions: published.additions,\n    updatedDroppables: droppables,\n    viewport: state.viewport\n  }));\n\n  var draggables = _extends({}, state.dimensions.draggables, {}, updatedAdditions);\n\n  published.removals.forEach(function (id) {\n    delete draggables[id];\n  });\n  var dimensions = {\n    droppables: droppables,\n    draggables: draggables\n  };\n  var wasOverId = whatIsDraggedOver(state.impact);\n  var wasOver = wasOverId ? dimensions.droppables[wasOverId] : null;\n  var draggable = dimensions.draggables[state.critical.draggable.id];\n  var home = dimensions.droppables[state.critical.droppable.id];\n\n  var _getLiftEffect = getLiftEffect({\n    draggable: draggable,\n    home: home,\n    draggables: draggables,\n    viewport: state.viewport\n  }),\n      onLiftImpact = _getLiftEffect.impact,\n      afterCritical = _getLiftEffect.afterCritical;\n\n  var previousImpact = wasOver && wasOver.isCombineEnabled ? state.impact : onLiftImpact;\n  var impact = getDragImpact({\n    pageOffset: state.current.page.offset,\n    draggable: dimensions.draggables[state.critical.draggable.id],\n    draggables: dimensions.draggables,\n    droppables: dimensions.droppables,\n    previousImpact: previousImpact,\n    viewport: state.viewport,\n    afterCritical: afterCritical\n  });\n  finish();\n\n  var draggingState = _extends({\n    phase: 'DRAGGING'\n  }, state, {\n    phase: 'DRAGGING',\n    impact: impact,\n    onLiftImpact: onLiftImpact,\n    dimensions: dimensions,\n    afterCritical: afterCritical,\n    forceShouldAnimate: false\n  });\n\n  if (state.phase === 'COLLECTING') {\n    return draggingState;\n  }\n\n  var dropPending = _extends({\n    phase: 'DROP_PENDING'\n  }, draggingState, {\n    phase: 'DROP_PENDING',\n    reason: state.reason,\n    isWaiting: false\n  });\n\n  return dropPending;\n});\n\nvar isSnapping = function isSnapping(state) {\n  return state.movementMode === 'SNAP';\n};\n\nvar postDroppableChange = function postDroppableChange(state, updated, isEnabledChanging) {\n  var dimensions = patchDimensionMap(state.dimensions, updated);\n\n  if (!isSnapping(state) || isEnabledChanging) {\n    return update({\n      state: state,\n      dimensions: dimensions\n    });\n  }\n\n  return refreshSnap({\n    state: state,\n    dimensions: dimensions\n  });\n};\n\nfunction removeScrollJumpRequest(state) {\n  if (state.isDragging && state.movementMode === 'SNAP') {\n    return _extends({\n      phase: 'DRAGGING'\n    }, state, {\n      scrollJumpRequest: null\n    });\n  }\n\n  return state;\n}\n\nvar idle = {\n  phase: 'IDLE',\n  completed: null,\n  shouldFlush: false\n};\nvar reducer = (function (state, action) {\n  if (state === void 0) {\n    state = idle;\n  }\n\n  if (action.type === 'FLUSH') {\n    return _extends({}, idle, {\n      shouldFlush: true\n    });\n  }\n\n  if (action.type === 'INITIAL_PUBLISH') {\n    !(state.phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'INITIAL_PUBLISH must come after a IDLE phase') : invariant(false) : void 0;\n    var _action$payload = action.payload,\n        critical = _action$payload.critical,\n        clientSelection = _action$payload.clientSelection,\n        viewport = _action$payload.viewport,\n        dimensions = _action$payload.dimensions,\n        movementMode = _action$payload.movementMode;\n    var draggable = dimensions.draggables[critical.draggable.id];\n    var home = dimensions.droppables[critical.droppable.id];\n    var client = {\n      selection: clientSelection,\n      borderBoxCenter: draggable.client.borderBox.center,\n      offset: origin\n    };\n    var initial = {\n      client: client,\n      page: {\n        selection: add(client.selection, viewport.scroll.initial),\n        borderBoxCenter: add(client.selection, viewport.scroll.initial),\n        offset: add(client.selection, viewport.scroll.diff.value)\n      }\n    };\n    var isWindowScrollAllowed = toDroppableList(dimensions.droppables).every(function (item) {\n      return !item.isFixedOnPage;\n    });\n\n    var _getLiftEffect = getLiftEffect({\n      draggable: draggable,\n      home: home,\n      draggables: dimensions.draggables,\n      viewport: viewport\n    }),\n        impact = _getLiftEffect.impact,\n        afterCritical = _getLiftEffect.afterCritical;\n\n    var result = {\n      phase: 'DRAGGING',\n      isDragging: true,\n      critical: critical,\n      movementMode: movementMode,\n      dimensions: dimensions,\n      initial: initial,\n      current: initial,\n      isWindowScrollAllowed: isWindowScrollAllowed,\n      impact: impact,\n      afterCritical: afterCritical,\n      onLiftImpact: impact,\n      viewport: viewport,\n      scrollJumpRequest: null,\n      forceShouldAnimate: null\n    };\n    return result;\n  }\n\n  if (action.type === 'COLLECTION_STARTING') {\n    if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n      return state;\n    }\n\n    !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Collection cannot start from phase \" + state.phase) : invariant(false) : void 0;\n\n    var _result = _extends({\n      phase: 'COLLECTING'\n    }, state, {\n      phase: 'COLLECTING'\n    });\n\n    return _result;\n  }\n\n  if (action.type === 'PUBLISH_WHILE_DRAGGING') {\n    !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unexpected \" + action.type + \" received in phase \" + state.phase) : invariant(false) : void 0;\n    return publishWhileDraggingInVirtual({\n      state: state,\n      published: action.payload\n    });\n  }\n\n  if (action.type === 'MOVE') {\n    if (state.phase === 'DROP_PENDING') {\n      return state;\n    }\n\n    !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n    var _clientSelection = action.payload.client;\n\n    if (isEqual(_clientSelection, state.current.client.selection)) {\n      return state;\n    }\n\n    return update({\n      state: state,\n      clientSelection: _clientSelection,\n      impact: isSnapping(state) ? state.impact : null\n    });\n  }\n\n  if (action.type === 'UPDATE_DROPPABLE_SCROLL') {\n    if (state.phase === 'DROP_PENDING') {\n      return removeScrollJumpRequest(state);\n    }\n\n    if (state.phase === 'COLLECTING') {\n      return removeScrollJumpRequest(state);\n    }\n\n    !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n    var _action$payload2 = action.payload,\n        id = _action$payload2.id,\n        newScroll = _action$payload2.newScroll;\n    var target = state.dimensions.droppables[id];\n\n    if (!target) {\n      return state;\n    }\n\n    var scrolled = scrollDroppable(target, newScroll);\n    return postDroppableChange(state, scrolled, false);\n  }\n\n  if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {\n    if (state.phase === 'DROP_PENDING') {\n      return state;\n    }\n\n    !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Attempting to move in an unsupported phase \" + state.phase) : invariant(false) : void 0;\n    var _action$payload3 = action.payload,\n        _id = _action$payload3.id,\n        isEnabled = _action$payload3.isEnabled;\n    var _target = state.dimensions.droppables[_id];\n    !_target ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find Droppable[id: \" + _id + \"] to toggle its enabled state\") : invariant(false) : void 0;\n    !(_target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Trying to set droppable isEnabled to \" + String(isEnabled) + \"\\n      but it is already \" + String(_target.isEnabled)) : invariant(false) : void 0;\n\n    var updated = _extends({}, _target, {\n      isEnabled: isEnabled\n    });\n\n    return postDroppableChange(state, updated, true);\n  }\n\n  if (action.type === 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED') {\n    if (state.phase === 'DROP_PENDING') {\n      return state;\n    }\n\n    !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Attempting to move in an unsupported phase \" + state.phase) : invariant(false) : void 0;\n    var _action$payload4 = action.payload,\n        _id2 = _action$payload4.id,\n        isCombineEnabled = _action$payload4.isCombineEnabled;\n    var _target2 = state.dimensions.droppables[_id2];\n    !_target2 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find Droppable[id: \" + _id2 + \"] to toggle its isCombineEnabled state\") : invariant(false) : void 0;\n    !(_target2.isCombineEnabled !== isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Trying to set droppable isCombineEnabled to \" + String(isCombineEnabled) + \"\\n      but it is already \" + String(_target2.isCombineEnabled)) : invariant(false) : void 0;\n\n    var _updated = _extends({}, _target2, {\n      isCombineEnabled: isCombineEnabled\n    });\n\n    return postDroppableChange(state, _updated, true);\n  }\n\n  if (action.type === 'MOVE_BY_WINDOW_SCROLL') {\n    if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {\n      return state;\n    }\n\n    !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot move by window in phase \" + state.phase) : invariant(false) : void 0;\n    !state.isWindowScrollAllowed ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Window scrolling is currently not supported for fixed lists') : invariant(false) : void 0;\n    var _newScroll = action.payload.newScroll;\n\n    if (isEqual(state.viewport.scroll.current, _newScroll)) {\n      return removeScrollJumpRequest(state);\n    }\n\n    var _viewport = scrollViewport(state.viewport, _newScroll);\n\n    if (isSnapping(state)) {\n      return refreshSnap({\n        state: state,\n        viewport: _viewport\n      });\n    }\n\n    return update({\n      state: state,\n      viewport: _viewport\n    });\n  }\n\n  if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {\n    if (!isMovementAllowed(state)) {\n      return state;\n    }\n\n    var maxScroll = action.payload.maxScroll;\n\n    if (isEqual(maxScroll, state.viewport.scroll.max)) {\n      return state;\n    }\n\n    var withMaxScroll = _extends({}, state.viewport, {\n      scroll: _extends({}, state.viewport.scroll, {\n        max: maxScroll\n      })\n    });\n\n    return _extends({\n      phase: 'DRAGGING'\n    }, state, {\n      viewport: withMaxScroll\n    });\n  }\n\n  if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {\n    if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n      return state;\n    }\n\n    !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" received while not in DRAGGING phase\") : invariant(false) : void 0;\n\n    var _result2 = moveInDirection({\n      state: state,\n      type: action.type\n    });\n\n    if (!_result2) {\n      return state;\n    }\n\n    return update({\n      state: state,\n      impact: _result2.impact,\n      clientSelection: _result2.clientSelection,\n      scrollJumpRequest: _result2.scrollJumpRequest\n    });\n  }\n\n  if (action.type === 'DROP_PENDING') {\n    var reason = action.payload.reason;\n    !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;\n\n    var newState = _extends({\n      phase: 'DROP_PENDING'\n    }, state, {\n      phase: 'DROP_PENDING',\n      isWaiting: true,\n      reason: reason\n    });\n\n    return newState;\n  }\n\n  if (action.type === 'DROP_ANIMATE') {\n    var _action$payload5 = action.payload,\n        completed = _action$payload5.completed,\n        dropDuration = _action$payload5.dropDuration,\n        newHomeClientOffset = _action$payload5.newHomeClientOffset;\n    !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot animate drop from phase \" + state.phase) : invariant(false) : void 0;\n    var _result3 = {\n      phase: 'DROP_ANIMATING',\n      completed: completed,\n      dropDuration: dropDuration,\n      newHomeClientOffset: newHomeClientOffset,\n      dimensions: state.dimensions\n    };\n    return _result3;\n  }\n\n  if (action.type === 'DROP_COMPLETE') {\n    var _completed = action.payload.completed;\n    return {\n      phase: 'IDLE',\n      completed: _completed,\n      shouldFlush: false\n    };\n  }\n\n  return state;\n});\n\nvar beforeInitialCapture = function beforeInitialCapture(args) {\n  return {\n    type: 'BEFORE_INITIAL_CAPTURE',\n    payload: args\n  };\n};\nvar lift = function lift(args) {\n  return {\n    type: 'LIFT',\n    payload: args\n  };\n};\nvar initialPublish = function initialPublish(args) {\n  return {\n    type: 'INITIAL_PUBLISH',\n    payload: args\n  };\n};\nvar publishWhileDragging = function publishWhileDragging(args) {\n  return {\n    type: 'PUBLISH_WHILE_DRAGGING',\n    payload: args\n  };\n};\nvar collectionStarting = function collectionStarting() {\n  return {\n    type: 'COLLECTION_STARTING',\n    payload: null\n  };\n};\nvar updateDroppableScroll = function updateDroppableScroll(args) {\n  return {\n    type: 'UPDATE_DROPPABLE_SCROLL',\n    payload: args\n  };\n};\nvar updateDroppableIsEnabled = function updateDroppableIsEnabled(args) {\n  return {\n    type: 'UPDATE_DROPPABLE_IS_ENABLED',\n    payload: args\n  };\n};\nvar updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(args) {\n  return {\n    type: 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED',\n    payload: args\n  };\n};\nvar move = function move(args) {\n  return {\n    type: 'MOVE',\n    payload: args\n  };\n};\nvar moveByWindowScroll = function moveByWindowScroll(args) {\n  return {\n    type: 'MOVE_BY_WINDOW_SCROLL',\n    payload: args\n  };\n};\nvar updateViewportMaxScroll = function updateViewportMaxScroll(args) {\n  return {\n    type: 'UPDATE_VIEWPORT_MAX_SCROLL',\n    payload: args\n  };\n};\nvar moveUp = function moveUp() {\n  return {\n    type: 'MOVE_UP',\n    payload: null\n  };\n};\nvar moveDown = function moveDown() {\n  return {\n    type: 'MOVE_DOWN',\n    payload: null\n  };\n};\nvar moveRight = function moveRight() {\n  return {\n    type: 'MOVE_RIGHT',\n    payload: null\n  };\n};\nvar moveLeft = function moveLeft() {\n  return {\n    type: 'MOVE_LEFT',\n    payload: null\n  };\n};\nvar flush = function flush() {\n  return {\n    type: 'FLUSH',\n    payload: null\n  };\n};\nvar animateDrop = function animateDrop(args) {\n  return {\n    type: 'DROP_ANIMATE',\n    payload: args\n  };\n};\nvar completeDrop = function completeDrop(args) {\n  return {\n    type: 'DROP_COMPLETE',\n    payload: args\n  };\n};\nvar drop = function drop(args) {\n  return {\n    type: 'DROP',\n    payload: args\n  };\n};\nvar dropPending = function dropPending(args) {\n  return {\n    type: 'DROP_PENDING',\n    payload: args\n  };\n};\nvar dropAnimationFinished = function dropAnimationFinished() {\n  return {\n    type: 'DROP_ANIMATION_FINISHED',\n    payload: null\n  };\n};\n\nfunction checkIndexes(insideDestination) {\n  if (insideDestination.length <= 1) {\n    return;\n  }\n\n  var indexes = insideDestination.map(function (d) {\n    return d.descriptor.index;\n  });\n  var errors = {};\n\n  for (var i = 1; i < indexes.length; i++) {\n    var current = indexes[i];\n    var previous = indexes[i - 1];\n\n    if (current !== previous + 1) {\n      errors[current] = true;\n    }\n  }\n\n  if (!Object.keys(errors).length) {\n    return;\n  }\n\n  var formatted = indexes.map(function (index) {\n    var hasError = Boolean(errors[index]);\n    return hasError ? \"[\\uD83D\\uDD25\" + index + \"]\" : \"\" + index;\n  }).join(', ');\n  process.env.NODE_ENV !== \"production\" ? warning(\"\\n    Detected non-consecutive <Draggable /> indexes.\\n\\n    (This can cause unexpected bugs)\\n\\n    \" + formatted + \"\\n  \") : void 0;\n}\n\nfunction validateDimensions(critical, dimensions) {\n  if (process.env.NODE_ENV !== 'production') {\n    var insideDestination = getDraggablesInsideDroppable(critical.droppable.id, dimensions.draggables);\n    checkIndexes(insideDestination);\n  }\n}\n\nvar lift$1 = (function (marshal) {\n  return function (_ref) {\n    var getState = _ref.getState,\n        dispatch = _ref.dispatch;\n    return function (next) {\n      return function (action) {\n        if (action.type !== 'LIFT') {\n          next(action);\n          return;\n        }\n\n        var _action$payload = action.payload,\n            id = _action$payload.id,\n            clientSelection = _action$payload.clientSelection,\n            movementMode = _action$payload.movementMode;\n        var initial = getState();\n\n        if (initial.phase === 'DROP_ANIMATING') {\n          dispatch(completeDrop({\n            completed: initial.completed\n          }));\n        }\n\n        !(getState().phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase to start a drag') : invariant(false) : void 0;\n        dispatch(flush());\n        dispatch(beforeInitialCapture({\n          draggableId: id,\n          movementMode: movementMode\n        }));\n        var scrollOptions = {\n          shouldPublishImmediately: movementMode === 'SNAP'\n        };\n        var request = {\n          draggableId: id,\n          scrollOptions: scrollOptions\n        };\n\n        var _marshal$startPublish = marshal.startPublishing(request),\n            critical = _marshal$startPublish.critical,\n            dimensions = _marshal$startPublish.dimensions,\n            viewport = _marshal$startPublish.viewport;\n\n        validateDimensions(critical, dimensions);\n        dispatch(initialPublish({\n          critical: critical,\n          dimensions: dimensions,\n          clientSelection: clientSelection,\n          movementMode: movementMode,\n          viewport: viewport\n        }));\n      };\n    };\n  };\n});\n\nvar style = (function (marshal) {\n  return function () {\n    return function (next) {\n      return function (action) {\n        if (action.type === 'INITIAL_PUBLISH') {\n          marshal.dragging();\n        }\n\n        if (action.type === 'DROP_ANIMATE') {\n          marshal.dropping(action.payload.completed.result.reason);\n        }\n\n        if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE') {\n          marshal.resting();\n        }\n\n        next(action);\n      };\n    };\n  };\n});\n\nvar curves = {\n  outOfTheWay: 'cubic-bezier(0.2, 0, 0, 1)',\n  drop: 'cubic-bezier(.2,1,.1,1)'\n};\nvar combine = {\n  opacity: {\n    drop: 0,\n    combining: 0.7\n  },\n  scale: {\n    drop: 0.75\n  }\n};\nvar timings = {\n  outOfTheWay: 0.2,\n  minDropTime: 0.33,\n  maxDropTime: 0.55\n};\nvar outOfTheWayTiming = timings.outOfTheWay + \"s \" + curves.outOfTheWay;\nvar transitions = {\n  fluid: \"opacity \" + outOfTheWayTiming,\n  snap: \"transform \" + outOfTheWayTiming + \", opacity \" + outOfTheWayTiming,\n  drop: function drop(duration) {\n    var timing = duration + \"s \" + curves.drop;\n    return \"transform \" + timing + \", opacity \" + timing;\n  },\n  outOfTheWay: \"transform \" + outOfTheWayTiming,\n  placeholder: \"height \" + outOfTheWayTiming + \", width \" + outOfTheWayTiming + \", margin \" + outOfTheWayTiming\n};\n\nvar moveTo = function moveTo(offset) {\n  return isEqual(offset, origin) ? null : \"translate(\" + offset.x + \"px, \" + offset.y + \"px)\";\n};\n\nvar transforms = {\n  moveTo: moveTo,\n  drop: function drop(offset, isCombining) {\n    var translate = moveTo(offset);\n\n    if (!translate) {\n      return null;\n    }\n\n    if (!isCombining) {\n      return translate;\n    }\n\n    return translate + \" scale(\" + combine.scale.drop + \")\";\n  }\n};\n\nvar minDropTime = timings.minDropTime,\n    maxDropTime = timings.maxDropTime;\nvar dropTimeRange = maxDropTime - minDropTime;\nvar maxDropTimeAtDistance = 1500;\nvar cancelDropModifier = 0.6;\nvar getDropDuration = (function (_ref) {\n  var current = _ref.current,\n      destination = _ref.destination,\n      reason = _ref.reason;\n  var distance$1 = distance(current, destination);\n\n  if (distance$1 <= 0) {\n    return minDropTime;\n  }\n\n  if (distance$1 >= maxDropTimeAtDistance) {\n    return maxDropTime;\n  }\n\n  var percentage = distance$1 / maxDropTimeAtDistance;\n  var duration = minDropTime + dropTimeRange * percentage;\n  var withDuration = reason === 'CANCEL' ? duration * cancelDropModifier : duration;\n  return Number(withDuration.toFixed(2));\n});\n\nvar getNewHomeClientOffset = (function (_ref) {\n  var impact = _ref.impact,\n      draggable = _ref.draggable,\n      dimensions = _ref.dimensions,\n      viewport = _ref.viewport,\n      afterCritical = _ref.afterCritical;\n  var draggables = dimensions.draggables,\n      droppables = dimensions.droppables;\n  var droppableId = whatIsDraggedOver(impact);\n  var destination = droppableId ? droppables[droppableId] : null;\n  var home = droppables[draggable.descriptor.droppableId];\n  var newClientCenter = getClientBorderBoxCenter({\n    impact: impact,\n    draggable: draggable,\n    draggables: draggables,\n    afterCritical: afterCritical,\n    droppable: destination || home,\n    viewport: viewport\n  });\n  var offset = subtract(newClientCenter, draggable.client.borderBox.center);\n  return offset;\n});\n\nvar getDropImpact = (function (_ref) {\n  var draggables = _ref.draggables,\n      reason = _ref.reason,\n      lastImpact = _ref.lastImpact,\n      home = _ref.home,\n      viewport = _ref.viewport,\n      onLiftImpact = _ref.onLiftImpact;\n\n  if (!lastImpact.at || reason !== 'DROP') {\n    var recomputedHomeImpact = recompute({\n      draggables: draggables,\n      impact: onLiftImpact,\n      destination: home,\n      viewport: viewport,\n      forceShouldAnimate: true\n    });\n    return {\n      impact: recomputedHomeImpact,\n      didDropInsideDroppable: false\n    };\n  }\n\n  if (lastImpact.at.type === 'REORDER') {\n    return {\n      impact: lastImpact,\n      didDropInsideDroppable: true\n    };\n  }\n\n  var withoutMovement = _extends({}, lastImpact, {\n    displaced: emptyGroups\n  });\n\n  return {\n    impact: withoutMovement,\n    didDropInsideDroppable: true\n  };\n});\n\nvar drop$1 = (function (_ref) {\n  var getState = _ref.getState,\n      dispatch = _ref.dispatch;\n  return function (next) {\n    return function (action) {\n      if (action.type !== 'DROP') {\n        next(action);\n        return;\n      }\n\n      var state = getState();\n      var reason = action.payload.reason;\n\n      if (state.phase === 'COLLECTING') {\n        dispatch(dropPending({\n          reason: reason\n        }));\n        return;\n      }\n\n      if (state.phase === 'IDLE') {\n        return;\n      }\n\n      var isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;\n      !!isWaitingForDrop ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;\n      !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot drop in phase: \" + state.phase) : invariant(false) : void 0;\n      var critical = state.critical;\n      var dimensions = state.dimensions;\n      var draggable = dimensions.draggables[state.critical.draggable.id];\n\n      var _getDropImpact = getDropImpact({\n        reason: reason,\n        lastImpact: state.impact,\n        afterCritical: state.afterCritical,\n        onLiftImpact: state.onLiftImpact,\n        home: state.dimensions.droppables[state.critical.droppable.id],\n        viewport: state.viewport,\n        draggables: state.dimensions.draggables\n      }),\n          impact = _getDropImpact.impact,\n          didDropInsideDroppable = _getDropImpact.didDropInsideDroppable;\n\n      var destination = didDropInsideDroppable ? tryGetDestination(impact) : null;\n      var combine = didDropInsideDroppable ? tryGetCombine(impact) : null;\n      var source = {\n        index: critical.draggable.index,\n        droppableId: critical.droppable.id\n      };\n      var result = {\n        draggableId: draggable.descriptor.id,\n        type: draggable.descriptor.type,\n        source: source,\n        reason: reason,\n        mode: state.movementMode,\n        destination: destination,\n        combine: combine\n      };\n      var newHomeClientOffset = getNewHomeClientOffset({\n        impact: impact,\n        draggable: draggable,\n        dimensions: dimensions,\n        viewport: state.viewport,\n        afterCritical: state.afterCritical\n      });\n      var completed = {\n        critical: state.critical,\n        afterCritical: state.afterCritical,\n        result: result,\n        impact: impact\n      };\n      var isAnimationRequired = !isEqual(state.current.client.offset, newHomeClientOffset) || Boolean(result.combine);\n\n      if (!isAnimationRequired) {\n        dispatch(completeDrop({\n          completed: completed\n        }));\n        return;\n      }\n\n      var dropDuration = getDropDuration({\n        current: state.current.client.offset,\n        destination: newHomeClientOffset,\n        reason: reason\n      });\n      var args = {\n        newHomeClientOffset: newHomeClientOffset,\n        dropDuration: dropDuration,\n        completed: completed\n      };\n      dispatch(animateDrop(args));\n    };\n  };\n});\n\nvar getWindowScroll = (function () {\n  return {\n    x: window.pageXOffset,\n    y: window.pageYOffset\n  };\n});\n\nfunction getWindowScrollBinding(update) {\n  return {\n    eventName: 'scroll',\n    options: {\n      passive: true,\n      capture: false\n    },\n    fn: function fn(event) {\n      if (event.target !== window && event.target !== window.document) {\n        return;\n      }\n\n      update();\n    }\n  };\n}\n\nfunction getScrollListener(_ref) {\n  var onWindowScroll = _ref.onWindowScroll;\n\n  function updateScroll() {\n    onWindowScroll(getWindowScroll());\n  }\n\n  var scheduled = rafSchd(updateScroll);\n  var binding = getWindowScrollBinding(scheduled);\n  var unbind = noop;\n\n  function isActive() {\n    return unbind !== noop;\n  }\n\n  function start() {\n    !!isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start scroll listener when already active') : invariant(false) : void 0;\n    unbind = bindEvents(window, [binding]);\n  }\n\n  function stop() {\n    !isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop scroll listener when not active') : invariant(false) : void 0;\n    scheduled.cancel();\n    unbind();\n    unbind = noop;\n  }\n\n  return {\n    start: start,\n    stop: stop,\n    isActive: isActive\n  };\n}\n\nvar shouldEnd = function shouldEnd(action) {\n  return action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\n};\n\nvar scrollListener = (function (store) {\n  var listener = getScrollListener({\n    onWindowScroll: function onWindowScroll(newScroll) {\n      store.dispatch(moveByWindowScroll({\n        newScroll: newScroll\n      }));\n    }\n  });\n  return function (next) {\n    return function (action) {\n      if (!listener.isActive() && action.type === 'INITIAL_PUBLISH') {\n        listener.start();\n      }\n\n      if (listener.isActive() && shouldEnd(action)) {\n        listener.stop();\n      }\n\n      next(action);\n    };\n  };\n});\n\nvar getExpiringAnnounce = (function (announce) {\n  var wasCalled = false;\n  var isExpired = false;\n  var timeoutId = setTimeout(function () {\n    isExpired = true;\n  });\n\n  var result = function result(message) {\n    if (wasCalled) {\n      process.env.NODE_ENV !== \"production\" ? warning('Announcement already made. Not making a second announcement') : void 0;\n      return;\n    }\n\n    if (isExpired) {\n      process.env.NODE_ENV !== \"production\" ? warning(\"\\n        Announcements cannot be made asynchronously.\\n        Default message has already been announced.\\n      \") : void 0;\n      return;\n    }\n\n    wasCalled = true;\n    announce(message);\n    clearTimeout(timeoutId);\n  };\n\n  result.wasCalled = function () {\n    return wasCalled;\n  };\n\n  return result;\n});\n\nvar getAsyncMarshal = (function () {\n  var entries = [];\n\n  var execute = function execute(timerId) {\n    var index = findIndex(entries, function (item) {\n      return item.timerId === timerId;\n    });\n    !(index !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find timer') : invariant(false) : void 0;\n\n    var _entries$splice = entries.splice(index, 1),\n        entry = _entries$splice[0];\n\n    entry.callback();\n  };\n\n  var add = function add(fn) {\n    var timerId = setTimeout(function () {\n      return execute(timerId);\n    });\n    var entry = {\n      timerId: timerId,\n      callback: fn\n    };\n    entries.push(entry);\n  };\n\n  var flush = function flush() {\n    if (!entries.length) {\n      return;\n    }\n\n    var shallow = [].concat(entries);\n    entries.length = 0;\n    shallow.forEach(function (entry) {\n      clearTimeout(entry.timerId);\n      entry.callback();\n    });\n  };\n\n  return {\n    add: add,\n    flush: flush\n  };\n});\n\nvar areLocationsEqual = function areLocationsEqual(first, second) {\n  if (first == null && second == null) {\n    return true;\n  }\n\n  if (first == null || second == null) {\n    return false;\n  }\n\n  return first.droppableId === second.droppableId && first.index === second.index;\n};\nvar isCombineEqual = function isCombineEqual(first, second) {\n  if (first == null && second == null) {\n    return true;\n  }\n\n  if (first == null || second == null) {\n    return false;\n  }\n\n  return first.draggableId === second.draggableId && first.droppableId === second.droppableId;\n};\nvar isCriticalEqual = function isCriticalEqual(first, second) {\n  if (first === second) {\n    return true;\n  }\n\n  var isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;\n  var isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;\n  return isDraggableEqual && isDroppableEqual;\n};\n\nvar withTimings = function withTimings(key, fn) {\n  start();\n  fn();\n  finish();\n};\n\nvar getDragStart = function getDragStart(critical, mode) {\n  return {\n    draggableId: critical.draggable.id,\n    type: critical.droppable.type,\n    source: {\n      droppableId: critical.droppable.id,\n      index: critical.draggable.index\n    },\n    mode: mode\n  };\n};\n\nvar execute = function execute(responder, data, announce, getDefaultMessage) {\n  if (!responder) {\n    announce(getDefaultMessage(data));\n    return;\n  }\n\n  var willExpire = getExpiringAnnounce(announce);\n  var provided = {\n    announce: willExpire\n  };\n  responder(data, provided);\n\n  if (!willExpire.wasCalled()) {\n    announce(getDefaultMessage(data));\n  }\n};\n\nvar getPublisher = (function (getResponders, announce) {\n  var asyncMarshal = getAsyncMarshal();\n  var dragging = null;\n\n  var beforeCapture = function beforeCapture(draggableId, mode) {\n    !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeCapture as a drag start has already been published') : invariant(false) : void 0;\n    withTimings('onBeforeCapture', function () {\n      var fn = getResponders().onBeforeCapture;\n\n      if (fn) {\n        var before = {\n          draggableId: draggableId,\n          mode: mode\n        };\n        fn(before);\n      }\n    });\n  };\n\n  var beforeStart = function beforeStart(critical, mode) {\n    !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n    withTimings('onBeforeDragStart', function () {\n      var fn = getResponders().onBeforeDragStart;\n\n      if (fn) {\n        fn(getDragStart(critical, mode));\n      }\n    });\n  };\n\n  var start = function start(critical, mode) {\n    !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n    var data = getDragStart(critical, mode);\n    dragging = {\n      mode: mode,\n      lastCritical: critical,\n      lastLocation: data.source,\n      lastCombine: null\n    };\n    asyncMarshal.add(function () {\n      withTimings('onDragStart', function () {\n        return execute(getResponders().onDragStart, data, announce, preset.onDragStart);\n      });\n    });\n  };\n\n  var update = function update(critical, impact) {\n    var location = tryGetDestination(impact);\n    var combine = tryGetCombine(impact);\n    !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;\n    var hasCriticalChanged = !isCriticalEqual(critical, dragging.lastCritical);\n\n    if (hasCriticalChanged) {\n      dragging.lastCritical = critical;\n    }\n\n    var hasLocationChanged = !areLocationsEqual(dragging.lastLocation, location);\n\n    if (hasLocationChanged) {\n      dragging.lastLocation = location;\n    }\n\n    var hasGroupingChanged = !isCombineEqual(dragging.lastCombine, combine);\n\n    if (hasGroupingChanged) {\n      dragging.lastCombine = combine;\n    }\n\n    if (!hasCriticalChanged && !hasLocationChanged && !hasGroupingChanged) {\n      return;\n    }\n\n    var data = _extends({}, getDragStart(critical, dragging.mode), {\n      combine: combine,\n      destination: location\n    });\n\n    asyncMarshal.add(function () {\n      withTimings('onDragUpdate', function () {\n        return execute(getResponders().onDragUpdate, data, announce, preset.onDragUpdate);\n      });\n    });\n  };\n\n  var flush = function flush() {\n    !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only flush responders while dragging') : invariant(false) : void 0;\n    asyncMarshal.flush();\n  };\n\n  var drop = function drop(result) {\n    !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;\n    dragging = null;\n    withTimings('onDragEnd', function () {\n      return execute(getResponders().onDragEnd, result, announce, preset.onDragEnd);\n    });\n  };\n\n  var abort = function abort() {\n    if (!dragging) {\n      return;\n    }\n\n    var result = _extends({}, getDragStart(dragging.lastCritical, dragging.mode), {\n      combine: null,\n      destination: null,\n      reason: 'CANCEL'\n    });\n\n    drop(result);\n  };\n\n  return {\n    beforeCapture: beforeCapture,\n    beforeStart: beforeStart,\n    start: start,\n    update: update,\n    flush: flush,\n    drop: drop,\n    abort: abort\n  };\n});\n\nvar responders = (function (getResponders, announce) {\n  var publisher = getPublisher(getResponders, announce);\n  return function (store) {\n    return function (next) {\n      return function (action) {\n        if (action.type === 'BEFORE_INITIAL_CAPTURE') {\n          publisher.beforeCapture(action.payload.draggableId, action.payload.movementMode);\n          return;\n        }\n\n        if (action.type === 'INITIAL_PUBLISH') {\n          var critical = action.payload.critical;\n          publisher.beforeStart(critical, action.payload.movementMode);\n          next(action);\n          publisher.start(critical, action.payload.movementMode);\n          return;\n        }\n\n        if (action.type === 'DROP_COMPLETE') {\n          var result = action.payload.completed.result;\n          publisher.flush();\n          next(action);\n          publisher.drop(result);\n          return;\n        }\n\n        next(action);\n\n        if (action.type === 'FLUSH') {\n          publisher.abort();\n          return;\n        }\n\n        var state = store.getState();\n\n        if (state.phase === 'DRAGGING') {\n          publisher.update(state.critical, state.impact);\n        }\n      };\n    };\n  };\n});\n\nvar dropAnimationFinish = (function (store) {\n  return function (next) {\n    return function (action) {\n      if (action.type !== 'DROP_ANIMATION_FINISHED') {\n        next(action);\n        return;\n      }\n\n      var state = store.getState();\n      !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;\n      store.dispatch(completeDrop({\n        completed: state.completed\n      }));\n    };\n  };\n});\n\nvar dropAnimationFlushOnScroll = (function (store) {\n  var unbind = null;\n  var frameId = null;\n\n  function clear() {\n    if (frameId) {\n      cancelAnimationFrame(frameId);\n      frameId = null;\n    }\n\n    if (unbind) {\n      unbind();\n      unbind = null;\n    }\n  }\n\n  return function (next) {\n    return function (action) {\n      if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATION_FINISHED') {\n        clear();\n      }\n\n      next(action);\n\n      if (action.type !== 'DROP_ANIMATE') {\n        return;\n      }\n\n      var binding = {\n        eventName: 'scroll',\n        options: {\n          capture: true,\n          passive: false,\n          once: true\n        },\n        fn: function flushDropAnimation() {\n          var state = store.getState();\n\n          if (state.phase === 'DROP_ANIMATING') {\n            store.dispatch(dropAnimationFinished());\n          }\n        }\n      };\n      frameId = requestAnimationFrame(function () {\n        frameId = null;\n        unbind = bindEvents(window, [binding]);\n      });\n    };\n  };\n});\n\nvar dimensionMarshalStopper = (function (marshal) {\n  return function () {\n    return function (next) {\n      return function (action) {\n        if (action.type === 'DROP_COMPLETE' || action.type === 'FLUSH' || action.type === 'DROP_ANIMATE') {\n          marshal.stopPublishing();\n        }\n\n        next(action);\n      };\n    };\n  };\n});\n\nvar focus = (function (marshal) {\n  var isWatching = false;\n  return function () {\n    return function (next) {\n      return function (action) {\n        if (action.type === 'INITIAL_PUBLISH') {\n          isWatching = true;\n          marshal.tryRecordFocus(action.payload.critical.draggable.id);\n          next(action);\n          marshal.tryRestoreFocusRecorded();\n          return;\n        }\n\n        next(action);\n\n        if (!isWatching) {\n          return;\n        }\n\n        if (action.type === 'FLUSH') {\n          isWatching = false;\n          marshal.tryRestoreFocusRecorded();\n          return;\n        }\n\n        if (action.type === 'DROP_COMPLETE') {\n          isWatching = false;\n          var result = action.payload.completed.result;\n\n          if (result.combine) {\n            marshal.tryShiftRecord(result.draggableId, result.combine.draggableId);\n          }\n\n          marshal.tryRestoreFocusRecorded();\n        }\n      };\n    };\n  };\n});\n\nvar shouldStop = function shouldStop(action) {\n  return action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\n};\n\nvar autoScroll = (function (autoScroller) {\n  return function (store) {\n    return function (next) {\n      return function (action) {\n        if (shouldStop(action)) {\n          autoScroller.stop();\n          next(action);\n          return;\n        }\n\n        if (action.type === 'INITIAL_PUBLISH') {\n          next(action);\n          var state = store.getState();\n          !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected phase to be DRAGGING after INITIAL_PUBLISH') : invariant(false) : void 0;\n          autoScroller.start(state);\n          return;\n        }\n\n        next(action);\n        autoScroller.scroll(store.getState());\n      };\n    };\n  };\n});\n\nvar pendingDrop = (function (store) {\n  return function (next) {\n    return function (action) {\n      next(action);\n\n      if (action.type !== 'PUBLISH_WHILE_DRAGGING') {\n        return;\n      }\n\n      var postActionState = store.getState();\n\n      if (postActionState.phase !== 'DROP_PENDING') {\n        return;\n      }\n\n      if (postActionState.isWaiting) {\n        return;\n      }\n\n      store.dispatch(drop({\n        reason: postActionState.reason\n      }));\n    };\n  };\n});\n\nvar composeEnhancers = process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\n  name: 'react-beautiful-dnd'\n}) : compose;\nvar createStore = (function (_ref) {\n  var dimensionMarshal = _ref.dimensionMarshal,\n      focusMarshal = _ref.focusMarshal,\n      styleMarshal = _ref.styleMarshal,\n      getResponders = _ref.getResponders,\n      announce = _ref.announce,\n      autoScroller = _ref.autoScroller;\n  return createStore$1(reducer, composeEnhancers(applyMiddleware(style(styleMarshal), dimensionMarshalStopper(dimensionMarshal), lift$1(dimensionMarshal), drop$1, dropAnimationFinish, dropAnimationFlushOnScroll, pendingDrop, autoScroll(autoScroller), scrollListener, focus(focusMarshal), responders(getResponders, announce))));\n});\n\nvar clean$1 = function clean() {\n  return {\n    additions: {},\n    removals: {},\n    modified: {}\n  };\n};\nfunction createPublisher(_ref) {\n  var registry = _ref.registry,\n      callbacks = _ref.callbacks;\n  var staging = clean$1();\n  var frameId = null;\n\n  var collect = function collect() {\n    if (frameId) {\n      return;\n    }\n\n    callbacks.collectionStarting();\n    frameId = requestAnimationFrame(function () {\n      frameId = null;\n      start();\n      var _staging = staging,\n          additions = _staging.additions,\n          removals = _staging.removals,\n          modified = _staging.modified;\n      var added = Object.keys(additions).map(function (id) {\n        return registry.draggable.getById(id).getDimension(origin);\n      }).sort(function (a, b) {\n        return a.descriptor.index - b.descriptor.index;\n      });\n      var updated = Object.keys(modified).map(function (id) {\n        var entry = registry.droppable.getById(id);\n        var scroll = entry.callbacks.getScrollWhileDragging();\n        return {\n          droppableId: id,\n          scroll: scroll\n        };\n      });\n      var result = {\n        additions: added,\n        removals: Object.keys(removals),\n        modified: updated\n      };\n      staging = clean$1();\n      finish();\n      callbacks.publish(result);\n    });\n  };\n\n  var add = function add(entry) {\n    var id = entry.descriptor.id;\n    staging.additions[id] = entry;\n    staging.modified[entry.descriptor.droppableId] = true;\n\n    if (staging.removals[id]) {\n      delete staging.removals[id];\n    }\n\n    collect();\n  };\n\n  var remove = function remove(entry) {\n    var descriptor = entry.descriptor;\n    staging.removals[descriptor.id] = true;\n    staging.modified[descriptor.droppableId] = true;\n\n    if (staging.additions[descriptor.id]) {\n      delete staging.additions[descriptor.id];\n    }\n\n    collect();\n  };\n\n  var stop = function stop() {\n    if (!frameId) {\n      return;\n    }\n\n    cancelAnimationFrame(frameId);\n    frameId = null;\n    staging = clean$1();\n  };\n\n  return {\n    add: add,\n    remove: remove,\n    stop: stop\n  };\n}\n\nvar getMaxScroll = (function (_ref) {\n  var scrollHeight = _ref.scrollHeight,\n      scrollWidth = _ref.scrollWidth,\n      height = _ref.height,\n      width = _ref.width;\n  var maxScroll = subtract({\n    x: scrollWidth,\n    y: scrollHeight\n  }, {\n    x: width,\n    y: height\n  });\n  var adjustedMaxScroll = {\n    x: Math.max(0, maxScroll.x),\n    y: Math.max(0, maxScroll.y)\n  };\n  return adjustedMaxScroll;\n});\n\nvar getDocumentElement = (function () {\n  var doc = document.documentElement;\n  !doc ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.documentElement') : invariant(false) : void 0;\n  return doc;\n});\n\nvar getMaxWindowScroll = (function () {\n  var doc = getDocumentElement();\n  var maxScroll = getMaxScroll({\n    scrollHeight: doc.scrollHeight,\n    scrollWidth: doc.scrollWidth,\n    width: doc.clientWidth,\n    height: doc.clientHeight\n  });\n  return maxScroll;\n});\n\nvar getViewport = (function () {\n  var scroll = getWindowScroll();\n  var maxScroll = getMaxWindowScroll();\n  var top = scroll.y;\n  var left = scroll.x;\n  var doc = getDocumentElement();\n  var width = doc.clientWidth;\n  var height = doc.clientHeight;\n  var right = left + width;\n  var bottom = top + height;\n  var frame = getRect({\n    top: top,\n    left: left,\n    right: right,\n    bottom: bottom\n  });\n  var viewport = {\n    frame: frame,\n    scroll: {\n      initial: scroll,\n      current: scroll,\n      max: maxScroll,\n      diff: {\n        value: origin,\n        displacement: origin\n      }\n    }\n  };\n  return viewport;\n});\n\nvar getInitialPublish = (function (_ref) {\n  var critical = _ref.critical,\n      scrollOptions = _ref.scrollOptions,\n      registry = _ref.registry;\n  start();\n  var viewport = getViewport();\n  var windowScroll = viewport.scroll.current;\n  var home = critical.droppable;\n  var droppables = registry.droppable.getAllByType(home.type).map(function (entry) {\n    return entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions);\n  });\n  var draggables = registry.draggable.getAllByType(critical.draggable.type).map(function (entry) {\n    return entry.getDimension(windowScroll);\n  });\n  var dimensions = {\n    draggables: toDraggableMap(draggables),\n    droppables: toDroppableMap(droppables)\n  };\n  finish();\n  var result = {\n    dimensions: dimensions,\n    critical: critical,\n    viewport: viewport\n  };\n  return result;\n});\n\nfunction shouldPublishUpdate(registry, dragging, entry) {\n  if (entry.descriptor.id === dragging.id) {\n    return false;\n  }\n\n  if (entry.descriptor.type !== dragging.type) {\n    return false;\n  }\n\n  var home = registry.droppable.getById(entry.descriptor.droppableId);\n\n  if (home.descriptor.mode !== 'virtual') {\n    process.env.NODE_ENV !== \"production\" ? warning(\"\\n      You are attempting to add or remove a Draggable [id: \" + entry.descriptor.id + \"]\\n      while a drag is occurring. This is only supported for virtual lists.\\n\\n      See https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/patterns/virtual-lists.md\\n    \") : void 0;\n    return false;\n  }\n\n  return true;\n}\n\nvar createDimensionMarshal = (function (registry, callbacks) {\n  var collection = null;\n  var publisher = createPublisher({\n    callbacks: {\n      publish: callbacks.publishWhileDragging,\n      collectionStarting: callbacks.collectionStarting\n    },\n    registry: registry\n  });\n\n  var updateDroppableIsEnabled = function updateDroppableIsEnabled(id, isEnabled) {\n    !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update is enabled flag of Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n    if (!collection) {\n      return;\n    }\n\n    callbacks.updateDroppableIsEnabled({\n      id: id,\n      isEnabled: isEnabled\n    });\n  };\n\n  var updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(id, isCombineEnabled) {\n    if (!collection) {\n      return;\n    }\n\n    !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update isCombineEnabled flag of Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n    callbacks.updateDroppableIsCombineEnabled({\n      id: id,\n      isCombineEnabled: isCombineEnabled\n    });\n  };\n\n  var updateDroppableScroll = function updateDroppableScroll(id, newScroll) {\n    if (!collection) {\n      return;\n    }\n\n    !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update the scroll on Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n    callbacks.updateDroppableScroll({\n      id: id,\n      newScroll: newScroll\n    });\n  };\n\n  var scrollDroppable = function scrollDroppable(id, change) {\n    if (!collection) {\n      return;\n    }\n\n    registry.droppable.getById(id).callbacks.scroll(change);\n  };\n\n  var stopPublishing = function stopPublishing() {\n    if (!collection) {\n      return;\n    }\n\n    publisher.stop();\n    var home = collection.critical.droppable;\n    registry.droppable.getAllByType(home.type).forEach(function (entry) {\n      return entry.callbacks.dragStopped();\n    });\n    collection.unsubscribe();\n    collection = null;\n  };\n\n  var subscriber = function subscriber(event) {\n    !collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should only be subscribed when a collection is occurring') : invariant(false) : void 0;\n    var dragging = collection.critical.draggable;\n\n    if (event.type === 'ADDITION') {\n      if (shouldPublishUpdate(registry, dragging, event.value)) {\n        publisher.add(event.value);\n      }\n    }\n\n    if (event.type === 'REMOVAL') {\n      if (shouldPublishUpdate(registry, dragging, event.value)) {\n        publisher.remove(event.value);\n      }\n    }\n  };\n\n  var startPublishing = function startPublishing(request) {\n    !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;\n    var entry = registry.draggable.getById(request.draggableId);\n    var home = registry.droppable.getById(entry.descriptor.droppableId);\n    var critical = {\n      draggable: entry.descriptor,\n      droppable: home.descriptor\n    };\n    var unsubscribe = registry.subscribe(subscriber);\n    collection = {\n      critical: critical,\n      unsubscribe: unsubscribe\n    };\n    return getInitialPublish({\n      critical: critical,\n      registry: registry,\n      scrollOptions: request.scrollOptions\n    });\n  };\n\n  var marshal = {\n    updateDroppableIsEnabled: updateDroppableIsEnabled,\n    updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,\n    scrollDroppable: scrollDroppable,\n    updateDroppableScroll: updateDroppableScroll,\n    startPublishing: startPublishing,\n    stopPublishing: stopPublishing\n  };\n  return marshal;\n});\n\nvar canStartDrag = (function (state, id) {\n  if (state.phase === 'IDLE') {\n    return true;\n  }\n\n  if (state.phase !== 'DROP_ANIMATING') {\n    return false;\n  }\n\n  if (state.completed.result.draggableId === id) {\n    return false;\n  }\n\n  return state.completed.result.reason === 'DROP';\n});\n\nvar scrollWindow = (function (change) {\n  window.scrollBy(change.x, change.y);\n});\n\nvar getScrollableDroppables = memoizeOne(function (droppables) {\n  return toDroppableList(droppables).filter(function (droppable) {\n    if (!droppable.isEnabled) {\n      return false;\n    }\n\n    if (!droppable.frame) {\n      return false;\n    }\n\n    return true;\n  });\n});\n\nvar getScrollableDroppableOver = function getScrollableDroppableOver(target, droppables) {\n  var maybe = find(getScrollableDroppables(droppables), function (droppable) {\n    !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid result') : invariant(false) : void 0;\n    return isPositionInFrame(droppable.frame.pageMarginBox)(target);\n  });\n  return maybe;\n};\n\nvar getBestScrollableDroppable = (function (_ref) {\n  var center = _ref.center,\n      destination = _ref.destination,\n      droppables = _ref.droppables;\n\n  if (destination) {\n    var _dimension = droppables[destination];\n\n    if (!_dimension.frame) {\n      return null;\n    }\n\n    return _dimension;\n  }\n\n  var dimension = getScrollableDroppableOver(center, droppables);\n  return dimension;\n});\n\nvar config = {\n  startFromPercentage: 0.25,\n  maxScrollAtPercentage: 0.05,\n  maxPixelScroll: 28,\n  ease: function ease(percentage) {\n    return Math.pow(percentage, 2);\n  },\n  durationDampening: {\n    stopDampeningAt: 1200,\n    accelerateAt: 360\n  }\n};\n\nvar getDistanceThresholds = (function (container, axis) {\n  var startScrollingFrom = container[axis.size] * config.startFromPercentage;\n  var maxScrollValueAt = container[axis.size] * config.maxScrollAtPercentage;\n  var thresholds = {\n    startScrollingFrom: startScrollingFrom,\n    maxScrollValueAt: maxScrollValueAt\n  };\n  return thresholds;\n});\n\nvar getPercentage = (function (_ref) {\n  var startOfRange = _ref.startOfRange,\n      endOfRange = _ref.endOfRange,\n      current = _ref.current;\n  var range = endOfRange - startOfRange;\n\n  if (range === 0) {\n    process.env.NODE_ENV !== \"production\" ? warning(\"\\n      Detected distance range of 0 in the fluid auto scroller\\n      This is unexpected and would cause a divide by 0 issue.\\n      Not allowing an auto scroll\\n    \") : void 0;\n    return 0;\n  }\n\n  var currentInRange = current - startOfRange;\n  var percentage = currentInRange / range;\n  return percentage;\n});\n\nvar minScroll = 1;\n\nvar getValueFromDistance = (function (distanceToEdge, thresholds) {\n  if (distanceToEdge > thresholds.startScrollingFrom) {\n    return 0;\n  }\n\n  if (distanceToEdge <= thresholds.maxScrollValueAt) {\n    return config.maxPixelScroll;\n  }\n\n  if (distanceToEdge === thresholds.startScrollingFrom) {\n    return minScroll;\n  }\n\n  var percentageFromMaxScrollValueAt = getPercentage({\n    startOfRange: thresholds.maxScrollValueAt,\n    endOfRange: thresholds.startScrollingFrom,\n    current: distanceToEdge\n  });\n  var percentageFromStartScrollingFrom = 1 - percentageFromMaxScrollValueAt;\n  var scroll = config.maxPixelScroll * config.ease(percentageFromStartScrollingFrom);\n  return Math.ceil(scroll);\n});\n\nvar accelerateAt = config.durationDampening.accelerateAt;\nvar stopAt = config.durationDampening.stopDampeningAt;\nvar dampenValueByTime = (function (proposedScroll, dragStartTime) {\n  var startOfRange = dragStartTime;\n  var endOfRange = stopAt;\n  var now = Date.now();\n  var runTime = now - startOfRange;\n\n  if (runTime >= stopAt) {\n    return proposedScroll;\n  }\n\n  if (runTime < accelerateAt) {\n    return minScroll;\n  }\n\n  var betweenAccelerateAtAndStopAtPercentage = getPercentage({\n    startOfRange: accelerateAt,\n    endOfRange: endOfRange,\n    current: runTime\n  });\n  var scroll = proposedScroll * config.ease(betweenAccelerateAtAndStopAtPercentage);\n  return Math.ceil(scroll);\n});\n\nvar getValue = (function (_ref) {\n  var distanceToEdge = _ref.distanceToEdge,\n      thresholds = _ref.thresholds,\n      dragStartTime = _ref.dragStartTime,\n      shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n  var scroll = getValueFromDistance(distanceToEdge, thresholds);\n\n  if (scroll === 0) {\n    return 0;\n  }\n\n  if (!shouldUseTimeDampening) {\n    return scroll;\n  }\n\n  return Math.max(dampenValueByTime(scroll, dragStartTime), minScroll);\n});\n\nvar getScrollOnAxis = (function (_ref) {\n  var container = _ref.container,\n      distanceToEdges = _ref.distanceToEdges,\n      dragStartTime = _ref.dragStartTime,\n      axis = _ref.axis,\n      shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n  var thresholds = getDistanceThresholds(container, axis);\n  var isCloserToEnd = distanceToEdges[axis.end] < distanceToEdges[axis.start];\n\n  if (isCloserToEnd) {\n    return getValue({\n      distanceToEdge: distanceToEdges[axis.end],\n      thresholds: thresholds,\n      dragStartTime: dragStartTime,\n      shouldUseTimeDampening: shouldUseTimeDampening\n    });\n  }\n\n  return -1 * getValue({\n    distanceToEdge: distanceToEdges[axis.start],\n    thresholds: thresholds,\n    dragStartTime: dragStartTime,\n    shouldUseTimeDampening: shouldUseTimeDampening\n  });\n});\n\nvar adjustForSizeLimits = (function (_ref) {\n  var container = _ref.container,\n      subject = _ref.subject,\n      proposedScroll = _ref.proposedScroll;\n  var isTooBigVertically = subject.height > container.height;\n  var isTooBigHorizontally = subject.width > container.width;\n\n  if (!isTooBigHorizontally && !isTooBigVertically) {\n    return proposedScroll;\n  }\n\n  if (isTooBigHorizontally && isTooBigVertically) {\n    return null;\n  }\n\n  return {\n    x: isTooBigHorizontally ? 0 : proposedScroll.x,\n    y: isTooBigVertically ? 0 : proposedScroll.y\n  };\n});\n\nvar clean$2 = apply(function (value) {\n  return value === 0 ? 0 : value;\n});\nvar getScroll = (function (_ref) {\n  var dragStartTime = _ref.dragStartTime,\n      container = _ref.container,\n      subject = _ref.subject,\n      center = _ref.center,\n      shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n  var distanceToEdges = {\n    top: center.y - container.top,\n    right: container.right - center.x,\n    bottom: container.bottom - center.y,\n    left: center.x - container.left\n  };\n  var y = getScrollOnAxis({\n    container: container,\n    distanceToEdges: distanceToEdges,\n    dragStartTime: dragStartTime,\n    axis: vertical,\n    shouldUseTimeDampening: shouldUseTimeDampening\n  });\n  var x = getScrollOnAxis({\n    container: container,\n    distanceToEdges: distanceToEdges,\n    dragStartTime: dragStartTime,\n    axis: horizontal,\n    shouldUseTimeDampening: shouldUseTimeDampening\n  });\n  var required = clean$2({\n    x: x,\n    y: y\n  });\n\n  if (isEqual(required, origin)) {\n    return null;\n  }\n\n  var limited = adjustForSizeLimits({\n    container: container,\n    subject: subject,\n    proposedScroll: required\n  });\n\n  if (!limited) {\n    return null;\n  }\n\n  return isEqual(limited, origin) ? null : limited;\n});\n\nvar smallestSigned = apply(function (value) {\n  if (value === 0) {\n    return 0;\n  }\n\n  return value > 0 ? 1 : -1;\n});\nvar getOverlap = function () {\n  var getRemainder = function getRemainder(target, max) {\n    if (target < 0) {\n      return target;\n    }\n\n    if (target > max) {\n      return target - max;\n    }\n\n    return 0;\n  };\n\n  return function (_ref) {\n    var current = _ref.current,\n        max = _ref.max,\n        change = _ref.change;\n    var targetScroll = add(current, change);\n    var overlap = {\n      x: getRemainder(targetScroll.x, max.x),\n      y: getRemainder(targetScroll.y, max.y)\n    };\n\n    if (isEqual(overlap, origin)) {\n      return null;\n    }\n\n    return overlap;\n  };\n}();\nvar canPartiallyScroll = function canPartiallyScroll(_ref2) {\n  var rawMax = _ref2.max,\n      current = _ref2.current,\n      change = _ref2.change;\n  var max = {\n    x: Math.max(current.x, rawMax.x),\n    y: Math.max(current.y, rawMax.y)\n  };\n  var smallestChange = smallestSigned(change);\n  var overlap = getOverlap({\n    max: max,\n    current: current,\n    change: smallestChange\n  });\n\n  if (!overlap) {\n    return true;\n  }\n\n  if (smallestChange.x !== 0 && overlap.x === 0) {\n    return true;\n  }\n\n  if (smallestChange.y !== 0 && overlap.y === 0) {\n    return true;\n  }\n\n  return false;\n};\nvar canScrollWindow = function canScrollWindow(viewport, change) {\n  return canPartiallyScroll({\n    current: viewport.scroll.current,\n    max: viewport.scroll.max,\n    change: change\n  });\n};\nvar getWindowOverlap = function getWindowOverlap(viewport, change) {\n  if (!canScrollWindow(viewport, change)) {\n    return null;\n  }\n\n  var max = viewport.scroll.max;\n  var current = viewport.scroll.current;\n  return getOverlap({\n    current: current,\n    max: max,\n    change: change\n  });\n};\nvar canScrollDroppable = function canScrollDroppable(droppable, change) {\n  var frame = droppable.frame;\n\n  if (!frame) {\n    return false;\n  }\n\n  return canPartiallyScroll({\n    current: frame.scroll.current,\n    max: frame.scroll.max,\n    change: change\n  });\n};\nvar getDroppableOverlap = function getDroppableOverlap(droppable, change) {\n  var frame = droppable.frame;\n\n  if (!frame) {\n    return null;\n  }\n\n  if (!canScrollDroppable(droppable, change)) {\n    return null;\n  }\n\n  return getOverlap({\n    current: frame.scroll.current,\n    max: frame.scroll.max,\n    change: change\n  });\n};\n\nvar getWindowScrollChange = (function (_ref) {\n  var viewport = _ref.viewport,\n      subject = _ref.subject,\n      center = _ref.center,\n      dragStartTime = _ref.dragStartTime,\n      shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n  var scroll = getScroll({\n    dragStartTime: dragStartTime,\n    container: viewport.frame,\n    subject: subject,\n    center: center,\n    shouldUseTimeDampening: shouldUseTimeDampening\n  });\n  return scroll && canScrollWindow(viewport, scroll) ? scroll : null;\n});\n\nvar getDroppableScrollChange = (function (_ref) {\n  var droppable = _ref.droppable,\n      subject = _ref.subject,\n      center = _ref.center,\n      dragStartTime = _ref.dragStartTime,\n      shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n  var frame = droppable.frame;\n\n  if (!frame) {\n    return null;\n  }\n\n  var scroll = getScroll({\n    dragStartTime: dragStartTime,\n    container: frame.pageMarginBox,\n    subject: subject,\n    center: center,\n    shouldUseTimeDampening: shouldUseTimeDampening\n  });\n  return scroll && canScrollDroppable(droppable, scroll) ? scroll : null;\n});\n\nvar scroll$1 = (function (_ref) {\n  var state = _ref.state,\n      dragStartTime = _ref.dragStartTime,\n      shouldUseTimeDampening = _ref.shouldUseTimeDampening,\n      scrollWindow = _ref.scrollWindow,\n      scrollDroppable = _ref.scrollDroppable;\n  var center = state.current.page.borderBoxCenter;\n  var draggable = state.dimensions.draggables[state.critical.draggable.id];\n  var subject = draggable.page.marginBox;\n\n  if (state.isWindowScrollAllowed) {\n    var viewport = state.viewport;\n\n    var _change = getWindowScrollChange({\n      dragStartTime: dragStartTime,\n      viewport: viewport,\n      subject: subject,\n      center: center,\n      shouldUseTimeDampening: shouldUseTimeDampening\n    });\n\n    if (_change) {\n      scrollWindow(_change);\n      return;\n    }\n  }\n\n  var droppable = getBestScrollableDroppable({\n    center: center,\n    destination: whatIsDraggedOver(state.impact),\n    droppables: state.dimensions.droppables\n  });\n\n  if (!droppable) {\n    return;\n  }\n\n  var change = getDroppableScrollChange({\n    dragStartTime: dragStartTime,\n    droppable: droppable,\n    subject: subject,\n    center: center,\n    shouldUseTimeDampening: shouldUseTimeDampening\n  });\n\n  if (change) {\n    scrollDroppable(droppable.descriptor.id, change);\n  }\n});\n\nvar createFluidScroller = (function (_ref) {\n  var scrollWindow = _ref.scrollWindow,\n      scrollDroppable = _ref.scrollDroppable;\n  var scheduleWindowScroll = rafSchd(scrollWindow);\n  var scheduleDroppableScroll = rafSchd(scrollDroppable);\n  var dragging = null;\n\n  var tryScroll = function tryScroll(state) {\n    !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fluid scroll if not dragging') : invariant(false) : void 0;\n    var _dragging = dragging,\n        shouldUseTimeDampening = _dragging.shouldUseTimeDampening,\n        dragStartTime = _dragging.dragStartTime;\n    scroll$1({\n      state: state,\n      scrollWindow: scheduleWindowScroll,\n      scrollDroppable: scheduleDroppableScroll,\n      dragStartTime: dragStartTime,\n      shouldUseTimeDampening: shouldUseTimeDampening\n    });\n  };\n\n  var start$1 = function start$1(state) {\n    start();\n    !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start auto scrolling when already started') : invariant(false) : void 0;\n    var dragStartTime = Date.now();\n    var wasScrollNeeded = false;\n\n    var fakeScrollCallback = function fakeScrollCallback() {\n      wasScrollNeeded = true;\n    };\n\n    scroll$1({\n      state: state,\n      dragStartTime: 0,\n      shouldUseTimeDampening: false,\n      scrollWindow: fakeScrollCallback,\n      scrollDroppable: fakeScrollCallback\n    });\n    dragging = {\n      dragStartTime: dragStartTime,\n      shouldUseTimeDampening: wasScrollNeeded\n    };\n    finish();\n\n    if (wasScrollNeeded) {\n      tryScroll(state);\n    }\n  };\n\n  var stop = function stop() {\n    if (!dragging) {\n      return;\n    }\n\n    scheduleWindowScroll.cancel();\n    scheduleDroppableScroll.cancel();\n    dragging = null;\n  };\n\n  return {\n    start: start$1,\n    stop: stop,\n    scroll: tryScroll\n  };\n});\n\nvar createJumpScroller = (function (_ref) {\n  var move = _ref.move,\n      scrollDroppable = _ref.scrollDroppable,\n      scrollWindow = _ref.scrollWindow;\n\n  var moveByOffset = function moveByOffset(state, offset) {\n    var client = add(state.current.client.selection, offset);\n    move({\n      client: client\n    });\n  };\n\n  var scrollDroppableAsMuchAsItCan = function scrollDroppableAsMuchAsItCan(droppable, change) {\n    if (!canScrollDroppable(droppable, change)) {\n      return change;\n    }\n\n    var overlap = getDroppableOverlap(droppable, change);\n\n    if (!overlap) {\n      scrollDroppable(droppable.descriptor.id, change);\n      return null;\n    }\n\n    var whatTheDroppableCanScroll = subtract(change, overlap);\n    scrollDroppable(droppable.descriptor.id, whatTheDroppableCanScroll);\n    var remainder = subtract(change, whatTheDroppableCanScroll);\n    return remainder;\n  };\n\n  var scrollWindowAsMuchAsItCan = function scrollWindowAsMuchAsItCan(isWindowScrollAllowed, viewport, change) {\n    if (!isWindowScrollAllowed) {\n      return change;\n    }\n\n    if (!canScrollWindow(viewport, change)) {\n      return change;\n    }\n\n    var overlap = getWindowOverlap(viewport, change);\n\n    if (!overlap) {\n      scrollWindow(change);\n      return null;\n    }\n\n    var whatTheWindowCanScroll = subtract(change, overlap);\n    scrollWindow(whatTheWindowCanScroll);\n    var remainder = subtract(change, whatTheWindowCanScroll);\n    return remainder;\n  };\n\n  var jumpScroller = function jumpScroller(state) {\n    var request = state.scrollJumpRequest;\n\n    if (!request) {\n      return;\n    }\n\n    var destination = whatIsDraggedOver(state.impact);\n    !destination ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot perform a jump scroll when there is no destination') : invariant(false) : void 0;\n    var droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination], request);\n\n    if (!droppableRemainder) {\n      return;\n    }\n\n    var viewport = state.viewport;\n    var windowRemainder = scrollWindowAsMuchAsItCan(state.isWindowScrollAllowed, viewport, droppableRemainder);\n\n    if (!windowRemainder) {\n      return;\n    }\n\n    moveByOffset(state, windowRemainder);\n  };\n\n  return jumpScroller;\n});\n\nvar createAutoScroller = (function (_ref) {\n  var scrollDroppable = _ref.scrollDroppable,\n      scrollWindow = _ref.scrollWindow,\n      move = _ref.move;\n  var fluidScroller = createFluidScroller({\n    scrollWindow: scrollWindow,\n    scrollDroppable: scrollDroppable\n  });\n  var jumpScroll = createJumpScroller({\n    move: move,\n    scrollWindow: scrollWindow,\n    scrollDroppable: scrollDroppable\n  });\n\n  var scroll = function scroll(state) {\n    if (state.phase !== 'DRAGGING') {\n      return;\n    }\n\n    if (state.movementMode === 'FLUID') {\n      fluidScroller.scroll(state);\n      return;\n    }\n\n    if (!state.scrollJumpRequest) {\n      return;\n    }\n\n    jumpScroll(state);\n  };\n\n  var scroller = {\n    scroll: scroll,\n    start: fluidScroller.start,\n    stop: fluidScroller.stop\n  };\n  return scroller;\n});\n\nvar prefix$1 = 'data-rbd';\nvar dragHandle = function () {\n  var base = prefix$1 + \"-drag-handle\";\n  return {\n    base: base,\n    draggableId: base + \"-draggable-id\",\n    contextId: base + \"-context-id\"\n  };\n}();\nvar draggable = function () {\n  var base = prefix$1 + \"-draggable\";\n  return {\n    base: base,\n    contextId: base + \"-context-id\",\n    id: base + \"-id\"\n  };\n}();\nvar droppable = function () {\n  var base = prefix$1 + \"-droppable\";\n  return {\n    base: base,\n    contextId: base + \"-context-id\",\n    id: base + \"-id\"\n  };\n}();\nvar scrollContainer = {\n  contextId: prefix$1 + \"-scroll-container-context-id\"\n};\n\nvar makeGetSelector = function makeGetSelector(context) {\n  return function (attribute) {\n    return \"[\" + attribute + \"=\\\"\" + context + \"\\\"]\";\n  };\n};\n\nvar getStyles = function getStyles(rules, property) {\n  return rules.map(function (rule) {\n    var value = rule.styles[property];\n\n    if (!value) {\n      return '';\n    }\n\n    return rule.selector + \" { \" + value + \" }\";\n  }).join(' ');\n};\n\nvar noPointerEvents = 'pointer-events: none;';\nvar getStyles$1 = (function (contextId) {\n  var getSelector = makeGetSelector(contextId);\n\n  var dragHandle$1 = function () {\n    var grabCursor = \"\\n      cursor: -webkit-grab;\\n      cursor: grab;\\n    \";\n    return {\n      selector: getSelector(dragHandle.contextId),\n      styles: {\n        always: \"\\n          -webkit-touch-callout: none;\\n          -webkit-tap-highlight-color: rgba(0,0,0,0);\\n          touch-action: manipulation;\\n        \",\n        resting: grabCursor,\n        dragging: noPointerEvents,\n        dropAnimating: grabCursor\n      }\n    };\n  }();\n\n  var draggable$1 = function () {\n    var transition = \"\\n      transition: \" + transitions.outOfTheWay + \";\\n    \";\n    return {\n      selector: getSelector(draggable.contextId),\n      styles: {\n        dragging: transition,\n        dropAnimating: transition,\n        userCancel: transition\n      }\n    };\n  }();\n\n  var droppable$1 = {\n    selector: getSelector(droppable.contextId),\n    styles: {\n      always: \"overflow-anchor: none;\"\n    }\n  };\n  var body = {\n    selector: 'body',\n    styles: {\n      dragging: \"\\n        cursor: grabbing;\\n        cursor: -webkit-grabbing;\\n        user-select: none;\\n        -webkit-user-select: none;\\n        -moz-user-select: none;\\n        -ms-user-select: none;\\n        overflow-anchor: none;\\n      \"\n    }\n  };\n  var rules = [draggable$1, dragHandle$1, droppable$1, body];\n  return {\n    always: getStyles(rules, 'always'),\n    resting: getStyles(rules, 'resting'),\n    dragging: getStyles(rules, 'dragging'),\n    dropAnimating: getStyles(rules, 'dropAnimating'),\n    userCancel: getStyles(rules, 'userCancel')\n  };\n});\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;\n\nvar getHead = function getHead() {\n  var head = document.querySelector('head');\n  !head ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;\n  return head;\n};\n\nvar createStyleEl = function createStyleEl(nonce) {\n  var el = document.createElement('style');\n\n  if (nonce) {\n    el.setAttribute('nonce', nonce);\n  }\n\n  el.type = 'text/css';\n  return el;\n};\n\nfunction useStyleMarshal(contextId, nonce) {\n  var styles = useMemo(function () {\n    return getStyles$1(contextId);\n  }, [contextId]);\n  var alwaysRef = useRef(null);\n  var dynamicRef = useRef(null);\n  var setDynamicStyle = useCallback(memoizeOne(function (proposed) {\n    var el = dynamicRef.current;\n    !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n    el.textContent = proposed;\n  }), []);\n  var setAlwaysStyle = useCallback(function (proposed) {\n    var el = alwaysRef.current;\n    !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n    el.textContent = proposed;\n  }, []);\n  useIsomorphicLayoutEffect(function () {\n    !(!alwaysRef.current && !dynamicRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'style elements already mounted') : invariant(false) : void 0;\n    var always = createStyleEl(nonce);\n    var dynamic = createStyleEl(nonce);\n    alwaysRef.current = always;\n    dynamicRef.current = dynamic;\n    always.setAttribute(prefix$1 + \"-always\", contextId);\n    dynamic.setAttribute(prefix$1 + \"-dynamic\", contextId);\n    getHead().appendChild(always);\n    getHead().appendChild(dynamic);\n    setAlwaysStyle(styles.always);\n    setDynamicStyle(styles.resting);\n    return function () {\n      var remove = function remove(ref) {\n        var current = ref.current;\n        !current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unmount ref as it is not set') : invariant(false) : void 0;\n        getHead().removeChild(current);\n        ref.current = null;\n      };\n\n      remove(alwaysRef);\n      remove(dynamicRef);\n    };\n  }, [nonce, setAlwaysStyle, setDynamicStyle, styles.always, styles.resting, contextId]);\n  var dragging = useCallback(function () {\n    return setDynamicStyle(styles.dragging);\n  }, [setDynamicStyle, styles.dragging]);\n  var dropping = useCallback(function (reason) {\n    if (reason === 'DROP') {\n      setDynamicStyle(styles.dropAnimating);\n      return;\n    }\n\n    setDynamicStyle(styles.userCancel);\n  }, [setDynamicStyle, styles.dropAnimating, styles.userCancel]);\n  var resting = useCallback(function () {\n    if (!dynamicRef.current) {\n      return;\n    }\n\n    setDynamicStyle(styles.resting);\n  }, [setDynamicStyle, styles.resting]);\n  var marshal = useMemo(function () {\n    return {\n      dragging: dragging,\n      dropping: dropping,\n      resting: resting\n    };\n  }, [dragging, dropping, resting]);\n  return marshal;\n}\n\nvar getWindowFromEl = (function (el) {\n  return el && el.ownerDocument ? el.ownerDocument.defaultView : window;\n});\n\nfunction isHtmlElement(el) {\n  return el instanceof getWindowFromEl(el).HTMLElement;\n}\n\nfunction findDragHandle(contextId, draggableId) {\n  var selector = \"[\" + dragHandle.contextId + \"=\\\"\" + contextId + \"\\\"]\";\n  var possible = toArray(document.querySelectorAll(selector));\n\n  if (!possible.length) {\n    process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find any drag handles in the context \\\"\" + contextId + \"\\\"\") : void 0;\n    return null;\n  }\n\n  var handle = find(possible, function (el) {\n    return el.getAttribute(dragHandle.draggableId) === draggableId;\n  });\n\n  if (!handle) {\n    process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find drag handle with id \\\"\" + draggableId + \"\\\" as no handle with a matching id was found\") : void 0;\n    return null;\n  }\n\n  if (!isHtmlElement(handle)) {\n    process.env.NODE_ENV !== \"production\" ? warning('drag handle needs to be a HTMLElement') : void 0;\n    return null;\n  }\n\n  return handle;\n}\n\nfunction useFocusMarshal(contextId) {\n  var entriesRef = useRef({});\n  var recordRef = useRef(null);\n  var restoreFocusFrameRef = useRef(null);\n  var isMountedRef = useRef(false);\n  var register = useCallback(function register(id, focus) {\n    var entry = {\n      id: id,\n      focus: focus\n    };\n    entriesRef.current[id] = entry;\n    return function unregister() {\n      var entries = entriesRef.current;\n      var current = entries[id];\n\n      if (current !== entry) {\n        delete entries[id];\n      }\n    };\n  }, []);\n  var tryGiveFocus = useCallback(function tryGiveFocus(tryGiveFocusTo) {\n    var handle = findDragHandle(contextId, tryGiveFocusTo);\n\n    if (handle && handle !== document.activeElement) {\n      handle.focus();\n    }\n  }, [contextId]);\n  var tryShiftRecord = useCallback(function tryShiftRecord(previous, redirectTo) {\n    if (recordRef.current === previous) {\n      recordRef.current = redirectTo;\n    }\n  }, []);\n  var tryRestoreFocusRecorded = useCallback(function tryRestoreFocusRecorded() {\n    if (restoreFocusFrameRef.current) {\n      return;\n    }\n\n    if (!isMountedRef.current) {\n      return;\n    }\n\n    restoreFocusFrameRef.current = requestAnimationFrame(function () {\n      restoreFocusFrameRef.current = null;\n      var record = recordRef.current;\n\n      if (record) {\n        tryGiveFocus(record);\n      }\n    });\n  }, [tryGiveFocus]);\n  var tryRecordFocus = useCallback(function tryRecordFocus(id) {\n    recordRef.current = null;\n    var focused = document.activeElement;\n\n    if (!focused) {\n      return;\n    }\n\n    if (focused.getAttribute(dragHandle.draggableId) !== id) {\n      return;\n    }\n\n    recordRef.current = id;\n  }, []);\n  useIsomorphicLayoutEffect(function () {\n    isMountedRef.current = true;\n    return function clearFrameOnUnmount() {\n      isMountedRef.current = false;\n      var frameId = restoreFocusFrameRef.current;\n\n      if (frameId) {\n        cancelAnimationFrame(frameId);\n      }\n    };\n  }, []);\n  var marshal = useMemo(function () {\n    return {\n      register: register,\n      tryRecordFocus: tryRecordFocus,\n      tryRestoreFocusRecorded: tryRestoreFocusRecorded,\n      tryShiftRecord: tryShiftRecord\n    };\n  }, [register, tryRecordFocus, tryRestoreFocusRecorded, tryShiftRecord]);\n  return marshal;\n}\n\nfunction createRegistry() {\n  var entries = {\n    draggables: {},\n    droppables: {}\n  };\n  var subscribers = [];\n\n  function subscribe(cb) {\n    subscribers.push(cb);\n    return function unsubscribe() {\n      var index = subscribers.indexOf(cb);\n\n      if (index === -1) {\n        return;\n      }\n\n      subscribers.splice(index, 1);\n    };\n  }\n\n  function notify(event) {\n    if (subscribers.length) {\n      subscribers.forEach(function (cb) {\n        return cb(event);\n      });\n    }\n  }\n\n  function findDraggableById(id) {\n    return entries.draggables[id] || null;\n  }\n\n  function getDraggableById(id) {\n    var entry = findDraggableById(id);\n    !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find draggable entry with id [\" + id + \"]\") : invariant(false) : void 0;\n    return entry;\n  }\n\n  var draggableAPI = {\n    register: function register(entry) {\n      entries.draggables[entry.descriptor.id] = entry;\n      notify({\n        type: 'ADDITION',\n        value: entry\n      });\n    },\n    update: function update(entry, last) {\n      var current = entries.draggables[last.descriptor.id];\n\n      if (!current) {\n        return;\n      }\n\n      if (current.uniqueId !== entry.uniqueId) {\n        return;\n      }\n\n      delete entries.draggables[last.descriptor.id];\n      entries.draggables[entry.descriptor.id] = entry;\n    },\n    unregister: function unregister(entry) {\n      var draggableId = entry.descriptor.id;\n      var current = findDraggableById(draggableId);\n\n      if (!current) {\n        return;\n      }\n\n      if (entry.uniqueId !== current.uniqueId) {\n        return;\n      }\n\n      delete entries.draggables[draggableId];\n      notify({\n        type: 'REMOVAL',\n        value: entry\n      });\n    },\n    getById: getDraggableById,\n    findById: findDraggableById,\n    exists: function exists(id) {\n      return Boolean(findDraggableById(id));\n    },\n    getAllByType: function getAllByType(type) {\n      return values(entries.draggables).filter(function (entry) {\n        return entry.descriptor.type === type;\n      });\n    }\n  };\n\n  function findDroppableById(id) {\n    return entries.droppables[id] || null;\n  }\n\n  function getDroppableById(id) {\n    var entry = findDroppableById(id);\n    !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find droppable entry with id [\" + id + \"]\") : invariant(false) : void 0;\n    return entry;\n  }\n\n  var droppableAPI = {\n    register: function register(entry) {\n      entries.droppables[entry.descriptor.id] = entry;\n    },\n    unregister: function unregister(entry) {\n      var current = findDroppableById(entry.descriptor.id);\n\n      if (!current) {\n        return;\n      }\n\n      if (entry.uniqueId !== current.uniqueId) {\n        return;\n      }\n\n      delete entries.droppables[entry.descriptor.id];\n    },\n    getById: getDroppableById,\n    findById: findDroppableById,\n    exists: function exists(id) {\n      return Boolean(findDroppableById(id));\n    },\n    getAllByType: function getAllByType(type) {\n      return values(entries.droppables).filter(function (entry) {\n        return entry.descriptor.type === type;\n      });\n    }\n  };\n\n  function clean() {\n    entries.draggables = {};\n    entries.droppables = {};\n    subscribers.length = 0;\n  }\n\n  return {\n    draggable: draggableAPI,\n    droppable: droppableAPI,\n    subscribe: subscribe,\n    clean: clean\n  };\n}\n\nfunction useRegistry() {\n  var registry = useMemo(createRegistry, []);\n  useEffect(function () {\n    return function unmount() {\n      requestAnimationFrame(registry.clean);\n    };\n  }, [registry]);\n  return registry;\n}\n\nvar StoreContext = React.createContext(null);\n\nvar getBodyElement = (function () {\n  var body = document.body;\n  !body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.body') : invariant(false) : void 0;\n  return body;\n});\n\nvar visuallyHidden = {\n  position: 'absolute',\n  width: '1px',\n  height: '1px',\n  margin: '-1px',\n  border: '0',\n  padding: '0',\n  overflow: 'hidden',\n  clip: 'rect(0 0 0 0)',\n  'clip-path': 'inset(100%)'\n};\n\nvar getId = function getId(contextId) {\n  return \"rbd-announcement-\" + contextId;\n};\nfunction useAnnouncer(contextId) {\n  var id = useMemo(function () {\n    return getId(contextId);\n  }, [contextId]);\n  var ref = useRef(null);\n  useEffect(function setup() {\n    var el = document.createElement('div');\n    ref.current = el;\n    el.id = id;\n    el.setAttribute('aria-live', 'assertive');\n    el.setAttribute('aria-atomic', 'true');\n\n    _extends(el.style, visuallyHidden);\n\n    getBodyElement().appendChild(el);\n    return function cleanup() {\n      setTimeout(function remove() {\n        var body = getBodyElement();\n\n        if (body.contains(el)) {\n          body.removeChild(el);\n        }\n\n        if (el === ref.current) {\n          ref.current = null;\n        }\n      });\n    };\n  }, [id]);\n  var announce = useCallback(function (message) {\n    var el = ref.current;\n\n    if (el) {\n      el.textContent = message;\n      return;\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(\"\\n      A screen reader message was trying to be announced but it was unable to do so.\\n      This can occur if you unmount your <DragDropContext /> in your onDragEnd.\\n      Consider calling provided.announce() before the unmount so that the instruction will\\n      not be lost for users relying on a screen reader.\\n\\n      Message not passed to screen reader:\\n\\n      \\\"\" + message + \"\\\"\\n    \") : void 0;\n  }, []);\n  return announce;\n}\n\nvar count = 0;\nvar defaults = {\n  separator: '::'\n};\nfunction reset() {\n  count = 0;\n}\nfunction useUniqueId(prefix, options) {\n  if (options === void 0) {\n    options = defaults;\n  }\n\n  return useMemo(function () {\n    return \"\" + prefix + options.separator + count++;\n  }, [options.separator, prefix]);\n}\n\nfunction getElementId(_ref) {\n  var contextId = _ref.contextId,\n      uniqueId = _ref.uniqueId;\n  return \"rbd-hidden-text-\" + contextId + \"-\" + uniqueId;\n}\nfunction useHiddenTextElement(_ref2) {\n  var contextId = _ref2.contextId,\n      text = _ref2.text;\n  var uniqueId = useUniqueId('hidden-text', {\n    separator: '-'\n  });\n  var id = useMemo(function () {\n    return getElementId({\n      contextId: contextId,\n      uniqueId: uniqueId\n    });\n  }, [uniqueId, contextId]);\n  useEffect(function mount() {\n    var el = document.createElement('div');\n    el.id = id;\n    el.textContent = text;\n    el.style.display = 'none';\n    getBodyElement().appendChild(el);\n    return function unmount() {\n      var body = getBodyElement();\n\n      if (body.contains(el)) {\n        body.removeChild(el);\n      }\n    };\n  }, [id, text]);\n  return id;\n}\n\nvar AppContext = React.createContext(null);\n\nvar peerDependencies = {\n\treact: \"^16.8.5 || ^17.0.0\",\n\t\"react-dom\": \"^16.8.5 || ^17.0.0\"\n};\n\nvar semver = /(\\d+)\\.(\\d+)\\.(\\d+)/;\n\nvar getVersion = function getVersion(value) {\n  var result = semver.exec(value);\n  !(result != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unable to parse React version \" + value) : invariant(false) : void 0;\n  var major = Number(result[1]);\n  var minor = Number(result[2]);\n  var patch = Number(result[3]);\n  return {\n    major: major,\n    minor: minor,\n    patch: patch,\n    raw: value\n  };\n};\n\nvar isSatisfied = function isSatisfied(expected, actual) {\n  if (actual.major > expected.major) {\n    return true;\n  }\n\n  if (actual.major < expected.major) {\n    return false;\n  }\n\n  if (actual.minor > expected.minor) {\n    return true;\n  }\n\n  if (actual.minor < expected.minor) {\n    return false;\n  }\n\n  return actual.patch >= expected.patch;\n};\n\nvar checkReactVersion = (function (peerDepValue, actualValue) {\n  var peerDep = getVersion(peerDepValue);\n  var actual = getVersion(actualValue);\n\n  if (isSatisfied(peerDep, actual)) {\n    return;\n  }\n\n  process.env.NODE_ENV !== \"production\" ? warning(\"\\n    React version: [\" + actual.raw + \"]\\n    does not satisfy expected peer dependency version: [\" + peerDep.raw + \"]\\n\\n    This can result in run time bugs, and even fatal crashes\\n  \") : void 0;\n});\n\nvar suffix = \"\\n  We expect a html5 doctype: <!doctype html>\\n  This is to ensure consistent browser layout and measurement\\n\\n  More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md\\n\";\nvar checkDoctype = (function (doc) {\n  var doctype = doc.doctype;\n\n  if (!doctype) {\n    process.env.NODE_ENV !== \"production\" ? warning(\"\\n      No <!doctype html> found.\\n\\n      \" + suffix + \"\\n    \") : void 0;\n    return;\n  }\n\n  if (doctype.name.toLowerCase() !== 'html') {\n    process.env.NODE_ENV !== \"production\" ? warning(\"\\n      Unexpected <!doctype> found: (\" + doctype.name + \")\\n\\n      \" + suffix + \"\\n    \") : void 0;\n  }\n\n  if (doctype.publicId !== '') {\n    process.env.NODE_ENV !== \"production\" ? warning(\"\\n      Unexpected <!doctype> publicId found: (\" + doctype.publicId + \")\\n      A html5 doctype does not have a publicId\\n\\n      \" + suffix + \"\\n    \") : void 0;\n  }\n});\n\nfunction useDev(useHook) {\n  if (process.env.NODE_ENV !== 'production') {\n    useHook();\n  }\n}\n\nfunction useDevSetupWarning(fn, inputs) {\n  useDev(function () {\n    useEffect(function () {\n      try {\n        fn();\n      } catch (e) {\n        error(\"\\n          A setup problem was encountered.\\n\\n          > \" + e.message + \"\\n        \");\n      }\n    }, inputs);\n  });\n}\n\nfunction useStartupValidation() {\n  useDevSetupWarning(function () {\n    checkReactVersion(peerDependencies.react, React.version);\n    checkDoctype(document);\n  }, []);\n}\n\nfunction usePrevious(current) {\n  var ref = useRef(current);\n  useEffect(function () {\n    ref.current = current;\n  });\n  return ref;\n}\n\nfunction create() {\n  var lock = null;\n\n  function isClaimed() {\n    return Boolean(lock);\n  }\n\n  function isActive(value) {\n    return value === lock;\n  }\n\n  function claim(abandon) {\n    !!lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot claim lock as it is already claimed') : invariant(false) : void 0;\n    var newLock = {\n      abandon: abandon\n    };\n    lock = newLock;\n    return newLock;\n  }\n\n  function release() {\n    !lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot release lock when there is no lock') : invariant(false) : void 0;\n    lock = null;\n  }\n\n  function tryAbandon() {\n    if (lock) {\n      lock.abandon();\n      release();\n    }\n  }\n\n  return {\n    isClaimed: isClaimed,\n    isActive: isActive,\n    claim: claim,\n    release: release,\n    tryAbandon: tryAbandon\n  };\n}\n\nvar tab = 9;\nvar enter = 13;\nvar escape = 27;\nvar space = 32;\nvar pageUp = 33;\nvar pageDown = 34;\nvar end = 35;\nvar home = 36;\nvar arrowLeft = 37;\nvar arrowUp = 38;\nvar arrowRight = 39;\nvar arrowDown = 40;\n\nvar _preventedKeys;\nvar preventedKeys = (_preventedKeys = {}, _preventedKeys[enter] = true, _preventedKeys[tab] = true, _preventedKeys);\nvar preventStandardKeyEvents = (function (event) {\n  if (preventedKeys[event.keyCode]) {\n    event.preventDefault();\n  }\n});\n\nvar supportedEventName = function () {\n  var base = 'visibilitychange';\n\n  if (typeof document === 'undefined') {\n    return base;\n  }\n\n  var candidates = [base, \"ms\" + base, \"webkit\" + base, \"moz\" + base, \"o\" + base];\n  var supported = find(candidates, function (eventName) {\n    return \"on\" + eventName in document;\n  });\n  return supported || base;\n}();\n\nvar primaryButton = 0;\nvar sloppyClickThreshold = 5;\n\nfunction isSloppyClickThresholdExceeded(original, current) {\n  return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;\n}\n\nvar idle$1 = {\n  type: 'IDLE'\n};\n\nfunction getCaptureBindings(_ref) {\n  var cancel = _ref.cancel,\n      completed = _ref.completed,\n      getPhase = _ref.getPhase,\n      setPhase = _ref.setPhase;\n  return [{\n    eventName: 'mousemove',\n    fn: function fn(event) {\n      var button = event.button,\n          clientX = event.clientX,\n          clientY = event.clientY;\n\n      if (button !== primaryButton) {\n        return;\n      }\n\n      var point = {\n        x: clientX,\n        y: clientY\n      };\n      var phase = getPhase();\n\n      if (phase.type === 'DRAGGING') {\n        event.preventDefault();\n        phase.actions.move(point);\n        return;\n      }\n\n      !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot be IDLE') : invariant(false) : void 0;\n      var pending = phase.point;\n\n      if (!isSloppyClickThresholdExceeded(pending, point)) {\n        return;\n      }\n\n      event.preventDefault();\n      var actions = phase.actions.fluidLift(point);\n      setPhase({\n        type: 'DRAGGING',\n        actions: actions\n      });\n    }\n  }, {\n    eventName: 'mouseup',\n    fn: function fn(event) {\n      var phase = getPhase();\n\n      if (phase.type !== 'DRAGGING') {\n        cancel();\n        return;\n      }\n\n      event.preventDefault();\n      phase.actions.drop({\n        shouldBlockNextClick: true\n      });\n      completed();\n    }\n  }, {\n    eventName: 'mousedown',\n    fn: function fn(event) {\n      if (getPhase().type === 'DRAGGING') {\n        event.preventDefault();\n      }\n\n      cancel();\n    }\n  }, {\n    eventName: 'keydown',\n    fn: function fn(event) {\n      var phase = getPhase();\n\n      if (phase.type === 'PENDING') {\n        cancel();\n        return;\n      }\n\n      if (event.keyCode === escape) {\n        event.preventDefault();\n        cancel();\n        return;\n      }\n\n      preventStandardKeyEvents(event);\n    }\n  }, {\n    eventName: 'resize',\n    fn: cancel\n  }, {\n    eventName: 'scroll',\n    options: {\n      passive: true,\n      capture: false\n    },\n    fn: function fn() {\n      if (getPhase().type === 'PENDING') {\n        cancel();\n      }\n    }\n  }, {\n    eventName: 'webkitmouseforcedown',\n    fn: function fn(event) {\n      var phase = getPhase();\n      !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase') : invariant(false) : void 0;\n\n      if (phase.actions.shouldRespectForcePress()) {\n        cancel();\n        return;\n      }\n\n      event.preventDefault();\n    }\n  }, {\n    eventName: supportedEventName,\n    fn: cancel\n  }];\n}\n\nfunction useMouseSensor(api) {\n  var phaseRef = useRef(idle$1);\n  var unbindEventsRef = useRef(noop);\n  var startCaptureBinding = useMemo(function () {\n    return {\n      eventName: 'mousedown',\n      fn: function onMouseDown(event) {\n        if (event.defaultPrevented) {\n          return;\n        }\n\n        if (event.button !== primaryButton) {\n          return;\n        }\n\n        if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) {\n          return;\n        }\n\n        var draggableId = api.findClosestDraggableId(event);\n\n        if (!draggableId) {\n          return;\n        }\n\n        var actions = api.tryGetLock(draggableId, stop, {\n          sourceEvent: event\n        });\n\n        if (!actions) {\n          return;\n        }\n\n        event.preventDefault();\n        var point = {\n          x: event.clientX,\n          y: event.clientY\n        };\n        unbindEventsRef.current();\n        startPendingDrag(actions, point);\n      }\n    };\n  }, [api]);\n  var preventForcePressBinding = useMemo(function () {\n    return {\n      eventName: 'webkitmouseforcewillbegin',\n      fn: function fn(event) {\n        if (event.defaultPrevented) {\n          return;\n        }\n\n        var id = api.findClosestDraggableId(event);\n\n        if (!id) {\n          return;\n        }\n\n        var options = api.findOptionsForDraggable(id);\n\n        if (!options) {\n          return;\n        }\n\n        if (options.shouldRespectForcePress) {\n          return;\n        }\n\n        if (!api.canGetLock(id)) {\n          return;\n        }\n\n        event.preventDefault();\n      }\n    };\n  }, [api]);\n  var listenForCapture = useCallback(function listenForCapture() {\n    var options = {\n      passive: false,\n      capture: true\n    };\n    unbindEventsRef.current = bindEvents(window, [preventForcePressBinding, startCaptureBinding], options);\n  }, [preventForcePressBinding, startCaptureBinding]);\n  var stop = useCallback(function () {\n    var current = phaseRef.current;\n\n    if (current.type === 'IDLE') {\n      return;\n    }\n\n    phaseRef.current = idle$1;\n    unbindEventsRef.current();\n    listenForCapture();\n  }, [listenForCapture]);\n  var cancel = useCallback(function () {\n    var phase = phaseRef.current;\n    stop();\n\n    if (phase.type === 'DRAGGING') {\n      phase.actions.cancel({\n        shouldBlockNextClick: true\n      });\n    }\n\n    if (phase.type === 'PENDING') {\n      phase.actions.abort();\n    }\n  }, [stop]);\n  var bindCapturingEvents = useCallback(function bindCapturingEvents() {\n    var options = {\n      capture: true,\n      passive: false\n    };\n    var bindings = getCaptureBindings({\n      cancel: cancel,\n      completed: stop,\n      getPhase: function getPhase() {\n        return phaseRef.current;\n      },\n      setPhase: function setPhase(phase) {\n        phaseRef.current = phase;\n      }\n    });\n    unbindEventsRef.current = bindEvents(window, bindings, options);\n  }, [cancel, stop]);\n  var startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n    !(phaseRef.current.type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n    phaseRef.current = {\n      type: 'PENDING',\n      point: point,\n      actions: actions\n    };\n    bindCapturingEvents();\n  }, [bindCapturingEvents]);\n  useIsomorphicLayoutEffect(function mount() {\n    listenForCapture();\n    return function unmount() {\n      unbindEventsRef.current();\n    };\n  }, [listenForCapture]);\n}\n\nvar _scrollJumpKeys;\n\nfunction noop$1() {}\n\nvar scrollJumpKeys = (_scrollJumpKeys = {}, _scrollJumpKeys[pageDown] = true, _scrollJumpKeys[pageUp] = true, _scrollJumpKeys[home] = true, _scrollJumpKeys[end] = true, _scrollJumpKeys);\n\nfunction getDraggingBindings(actions, stop) {\n  function cancel() {\n    stop();\n    actions.cancel();\n  }\n\n  function drop() {\n    stop();\n    actions.drop();\n  }\n\n  return [{\n    eventName: 'keydown',\n    fn: function fn(event) {\n      if (event.keyCode === escape) {\n        event.preventDefault();\n        cancel();\n        return;\n      }\n\n      if (event.keyCode === space) {\n        event.preventDefault();\n        drop();\n        return;\n      }\n\n      if (event.keyCode === arrowDown) {\n        event.preventDefault();\n        actions.moveDown();\n        return;\n      }\n\n      if (event.keyCode === arrowUp) {\n        event.preventDefault();\n        actions.moveUp();\n        return;\n      }\n\n      if (event.keyCode === arrowRight) {\n        event.preventDefault();\n        actions.moveRight();\n        return;\n      }\n\n      if (event.keyCode === arrowLeft) {\n        event.preventDefault();\n        actions.moveLeft();\n        return;\n      }\n\n      if (scrollJumpKeys[event.keyCode]) {\n        event.preventDefault();\n        return;\n      }\n\n      preventStandardKeyEvents(event);\n    }\n  }, {\n    eventName: 'mousedown',\n    fn: cancel\n  }, {\n    eventName: 'mouseup',\n    fn: cancel\n  }, {\n    eventName: 'click',\n    fn: cancel\n  }, {\n    eventName: 'touchstart',\n    fn: cancel\n  }, {\n    eventName: 'resize',\n    fn: cancel\n  }, {\n    eventName: 'wheel',\n    fn: cancel,\n    options: {\n      passive: true\n    }\n  }, {\n    eventName: supportedEventName,\n    fn: cancel\n  }];\n}\n\nfunction useKeyboardSensor(api) {\n  var unbindEventsRef = useRef(noop$1);\n  var startCaptureBinding = useMemo(function () {\n    return {\n      eventName: 'keydown',\n      fn: function onKeyDown(event) {\n        if (event.defaultPrevented) {\n          return;\n        }\n\n        if (event.keyCode !== space) {\n          return;\n        }\n\n        var draggableId = api.findClosestDraggableId(event);\n\n        if (!draggableId) {\n          return;\n        }\n\n        var preDrag = api.tryGetLock(draggableId, stop, {\n          sourceEvent: event\n        });\n\n        if (!preDrag) {\n          return;\n        }\n\n        event.preventDefault();\n        var isCapturing = true;\n        var actions = preDrag.snapLift();\n        unbindEventsRef.current();\n\n        function stop() {\n          !isCapturing ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop capturing a keyboard drag when not capturing') : invariant(false) : void 0;\n          isCapturing = false;\n          unbindEventsRef.current();\n          listenForCapture();\n        }\n\n        unbindEventsRef.current = bindEvents(window, getDraggingBindings(actions, stop), {\n          capture: true,\n          passive: false\n        });\n      }\n    };\n  }, [api]);\n  var listenForCapture = useCallback(function tryStartCapture() {\n    var options = {\n      passive: false,\n      capture: true\n    };\n    unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n  }, [startCaptureBinding]);\n  useIsomorphicLayoutEffect(function mount() {\n    listenForCapture();\n    return function unmount() {\n      unbindEventsRef.current();\n    };\n  }, [listenForCapture]);\n}\n\nvar idle$2 = {\n  type: 'IDLE'\n};\nvar timeForLongPress = 120;\nvar forcePressThreshold = 0.15;\n\nfunction getWindowBindings(_ref) {\n  var cancel = _ref.cancel,\n      getPhase = _ref.getPhase;\n  return [{\n    eventName: 'orientationchange',\n    fn: cancel\n  }, {\n    eventName: 'resize',\n    fn: cancel\n  }, {\n    eventName: 'contextmenu',\n    fn: function fn(event) {\n      event.preventDefault();\n    }\n  }, {\n    eventName: 'keydown',\n    fn: function fn(event) {\n      if (getPhase().type !== 'DRAGGING') {\n        cancel();\n        return;\n      }\n\n      if (event.keyCode === escape) {\n        event.preventDefault();\n      }\n\n      cancel();\n    }\n  }, {\n    eventName: supportedEventName,\n    fn: cancel\n  }];\n}\n\nfunction getHandleBindings(_ref2) {\n  var cancel = _ref2.cancel,\n      completed = _ref2.completed,\n      getPhase = _ref2.getPhase;\n  return [{\n    eventName: 'touchmove',\n    options: {\n      capture: false\n    },\n    fn: function fn(event) {\n      var phase = getPhase();\n\n      if (phase.type !== 'DRAGGING') {\n        cancel();\n        return;\n      }\n\n      phase.hasMoved = true;\n      var _event$touches$ = event.touches[0],\n          clientX = _event$touches$.clientX,\n          clientY = _event$touches$.clientY;\n      var point = {\n        x: clientX,\n        y: clientY\n      };\n      event.preventDefault();\n      phase.actions.move(point);\n    }\n  }, {\n    eventName: 'touchend',\n    fn: function fn(event) {\n      var phase = getPhase();\n\n      if (phase.type !== 'DRAGGING') {\n        cancel();\n        return;\n      }\n\n      event.preventDefault();\n      phase.actions.drop({\n        shouldBlockNextClick: true\n      });\n      completed();\n    }\n  }, {\n    eventName: 'touchcancel',\n    fn: function fn(event) {\n      if (getPhase().type !== 'DRAGGING') {\n        cancel();\n        return;\n      }\n\n      event.preventDefault();\n      cancel();\n    }\n  }, {\n    eventName: 'touchforcechange',\n    fn: function fn(event) {\n      var phase = getPhase();\n      !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n      var touch = event.touches[0];\n\n      if (!touch) {\n        return;\n      }\n\n      var isForcePress = touch.force >= forcePressThreshold;\n\n      if (!isForcePress) {\n        return;\n      }\n\n      var shouldRespect = phase.actions.shouldRespectForcePress();\n\n      if (phase.type === 'PENDING') {\n        if (shouldRespect) {\n          cancel();\n        }\n\n        return;\n      }\n\n      if (shouldRespect) {\n        if (phase.hasMoved) {\n          event.preventDefault();\n          return;\n        }\n\n        cancel();\n        return;\n      }\n\n      event.preventDefault();\n    }\n  }, {\n    eventName: supportedEventName,\n    fn: cancel\n  }];\n}\n\nfunction useTouchSensor(api) {\n  var phaseRef = useRef(idle$2);\n  var unbindEventsRef = useRef(noop);\n  var getPhase = useCallback(function getPhase() {\n    return phaseRef.current;\n  }, []);\n  var setPhase = useCallback(function setPhase(phase) {\n    phaseRef.current = phase;\n  }, []);\n  var startCaptureBinding = useMemo(function () {\n    return {\n      eventName: 'touchstart',\n      fn: function onTouchStart(event) {\n        if (event.defaultPrevented) {\n          return;\n        }\n\n        var draggableId = api.findClosestDraggableId(event);\n\n        if (!draggableId) {\n          return;\n        }\n\n        var actions = api.tryGetLock(draggableId, stop, {\n          sourceEvent: event\n        });\n\n        if (!actions) {\n          return;\n        }\n\n        var touch = event.touches[0];\n        var clientX = touch.clientX,\n            clientY = touch.clientY;\n        var point = {\n          x: clientX,\n          y: clientY\n        };\n        unbindEventsRef.current();\n        startPendingDrag(actions, point);\n      }\n    };\n  }, [api]);\n  var listenForCapture = useCallback(function listenForCapture() {\n    var options = {\n      capture: true,\n      passive: false\n    };\n    unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n  }, [startCaptureBinding]);\n  var stop = useCallback(function () {\n    var current = phaseRef.current;\n\n    if (current.type === 'IDLE') {\n      return;\n    }\n\n    if (current.type === 'PENDING') {\n      clearTimeout(current.longPressTimerId);\n    }\n\n    setPhase(idle$2);\n    unbindEventsRef.current();\n    listenForCapture();\n  }, [listenForCapture, setPhase]);\n  var cancel = useCallback(function () {\n    var phase = phaseRef.current;\n    stop();\n\n    if (phase.type === 'DRAGGING') {\n      phase.actions.cancel({\n        shouldBlockNextClick: true\n      });\n    }\n\n    if (phase.type === 'PENDING') {\n      phase.actions.abort();\n    }\n  }, [stop]);\n  var bindCapturingEvents = useCallback(function bindCapturingEvents() {\n    var options = {\n      capture: true,\n      passive: false\n    };\n    var args = {\n      cancel: cancel,\n      completed: stop,\n      getPhase: getPhase\n    };\n    var unbindTarget = bindEvents(window, getHandleBindings(args), options);\n    var unbindWindow = bindEvents(window, getWindowBindings(args), options);\n\n    unbindEventsRef.current = function unbindAll() {\n      unbindTarget();\n      unbindWindow();\n    };\n  }, [cancel, getPhase, stop]);\n  var startDragging = useCallback(function startDragging() {\n    var phase = getPhase();\n    !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot start dragging from phase \" + phase.type) : invariant(false) : void 0;\n    var actions = phase.actions.fluidLift(phase.point);\n    setPhase({\n      type: 'DRAGGING',\n      actions: actions,\n      hasMoved: false\n    });\n  }, [getPhase, setPhase]);\n  var startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n    !(getPhase().type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n    var longPressTimerId = setTimeout(startDragging, timeForLongPress);\n    setPhase({\n      type: 'PENDING',\n      point: point,\n      actions: actions,\n      longPressTimerId: longPressTimerId\n    });\n    bindCapturingEvents();\n  }, [bindCapturingEvents, getPhase, setPhase, startDragging]);\n  useIsomorphicLayoutEffect(function mount() {\n    listenForCapture();\n    return function unmount() {\n      unbindEventsRef.current();\n      var phase = getPhase();\n\n      if (phase.type === 'PENDING') {\n        clearTimeout(phase.longPressTimerId);\n        setPhase(idle$2);\n      }\n    };\n  }, [getPhase, listenForCapture, setPhase]);\n  useIsomorphicLayoutEffect(function webkitHack() {\n    var unbind = bindEvents(window, [{\n      eventName: 'touchmove',\n      fn: function fn() {},\n      options: {\n        capture: false,\n        passive: false\n      }\n    }]);\n    return unbind;\n  }, []);\n}\n\nfunction useValidateSensorHooks(sensorHooks) {\n  useDev(function () {\n    var previousRef = usePrevious(sensorHooks);\n    useDevSetupWarning(function () {\n      !(previousRef.current.length === sensorHooks.length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot change the amount of sensor hooks after mounting') : invariant(false) : void 0;\n    });\n  });\n}\n\nvar interactiveTagNames = {\n  input: true,\n  button: true,\n  textarea: true,\n  select: true,\n  option: true,\n  optgroup: true,\n  video: true,\n  audio: true\n};\n\nfunction isAnInteractiveElement(parent, current) {\n  if (current == null) {\n    return false;\n  }\n\n  var hasAnInteractiveTag = Boolean(interactiveTagNames[current.tagName.toLowerCase()]);\n\n  if (hasAnInteractiveTag) {\n    return true;\n  }\n\n  var attribute = current.getAttribute('contenteditable');\n\n  if (attribute === 'true' || attribute === '') {\n    return true;\n  }\n\n  if (current === parent) {\n    return false;\n  }\n\n  return isAnInteractiveElement(parent, current.parentElement);\n}\n\nfunction isEventInInteractiveElement(draggable, event) {\n  var target = event.target;\n\n  if (!isHtmlElement(target)) {\n    return false;\n  }\n\n  return isAnInteractiveElement(draggable, target);\n}\n\nvar getBorderBoxCenterPosition = (function (el) {\n  return getRect(el.getBoundingClientRect()).center;\n});\n\nfunction isElement(el) {\n  return el instanceof getWindowFromEl(el).Element;\n}\n\nvar supportedMatchesName = function () {\n  var base = 'matches';\n\n  if (typeof document === 'undefined') {\n    return base;\n  }\n\n  var candidates = [base, 'msMatchesSelector', 'webkitMatchesSelector'];\n  var value = find(candidates, function (name) {\n    return name in Element.prototype;\n  });\n  return value || base;\n}();\n\nfunction closestPonyfill(el, selector) {\n  if (el == null) {\n    return null;\n  }\n\n  if (el[supportedMatchesName](selector)) {\n    return el;\n  }\n\n  return closestPonyfill(el.parentElement, selector);\n}\n\nfunction closest$1(el, selector) {\n  if (el.closest) {\n    return el.closest(selector);\n  }\n\n  return closestPonyfill(el, selector);\n}\n\nfunction getSelector(contextId) {\n  return \"[\" + dragHandle.contextId + \"=\\\"\" + contextId + \"\\\"]\";\n}\n\nfunction findClosestDragHandleFromEvent(contextId, event) {\n  var target = event.target;\n\n  if (!isElement(target)) {\n    process.env.NODE_ENV !== \"production\" ? warning('event.target must be a Element') : void 0;\n    return null;\n  }\n\n  var selector = getSelector(contextId);\n  var handle = closest$1(target, selector);\n\n  if (!handle) {\n    return null;\n  }\n\n  if (!isHtmlElement(handle)) {\n    process.env.NODE_ENV !== \"production\" ? warning('drag handle must be a HTMLElement') : void 0;\n    return null;\n  }\n\n  return handle;\n}\n\nfunction tryGetClosestDraggableIdFromEvent(contextId, event) {\n  var handle = findClosestDragHandleFromEvent(contextId, event);\n\n  if (!handle) {\n    return null;\n  }\n\n  return handle.getAttribute(dragHandle.draggableId);\n}\n\nfunction findDraggable(contextId, draggableId) {\n  var selector = \"[\" + draggable.contextId + \"=\\\"\" + contextId + \"\\\"]\";\n  var possible = toArray(document.querySelectorAll(selector));\n  var draggable$1 = find(possible, function (el) {\n    return el.getAttribute(draggable.id) === draggableId;\n  });\n\n  if (!draggable$1) {\n    return null;\n  }\n\n  if (!isHtmlElement(draggable$1)) {\n    process.env.NODE_ENV !== \"production\" ? warning('Draggable element is not a HTMLElement') : void 0;\n    return null;\n  }\n\n  return draggable$1;\n}\n\nfunction preventDefault(event) {\n  event.preventDefault();\n}\n\nfunction _isActive(_ref) {\n  var expected = _ref.expected,\n      phase = _ref.phase,\n      isLockActive = _ref.isLockActive,\n      shouldWarn = _ref.shouldWarn;\n\n  if (!isLockActive()) {\n    if (shouldWarn) {\n      process.env.NODE_ENV !== \"production\" ? warning(\"\\n        Cannot perform action.\\n        The sensor no longer has an action lock.\\n\\n        Tips:\\n\\n        - Throw away your action handlers when forceStop() is called\\n        - Check actions.isActive() if you really need to\\n      \") : void 0;\n    }\n\n    return false;\n  }\n\n  if (expected !== phase) {\n    if (shouldWarn) {\n      process.env.NODE_ENV !== \"production\" ? warning(\"\\n        Cannot perform action.\\n        The actions you used belong to an outdated phase\\n\\n        Current phase: \" + expected + \"\\n        You called an action from outdated phase: \" + phase + \"\\n\\n        Tips:\\n\\n        - Do not use preDragActions actions after calling preDragActions.lift()\\n      \") : void 0;\n    }\n\n    return false;\n  }\n\n  return true;\n}\n\nfunction canStart(_ref2) {\n  var lockAPI = _ref2.lockAPI,\n      store = _ref2.store,\n      registry = _ref2.registry,\n      draggableId = _ref2.draggableId;\n\n  if (lockAPI.isClaimed()) {\n    return false;\n  }\n\n  var entry = registry.draggable.findById(draggableId);\n\n  if (!entry) {\n    process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find draggable with id: \" + draggableId) : void 0;\n    return false;\n  }\n\n  if (!entry.options.isEnabled) {\n    return false;\n  }\n\n  if (!canStartDrag(store.getState(), draggableId)) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction tryStart(_ref3) {\n  var lockAPI = _ref3.lockAPI,\n      contextId = _ref3.contextId,\n      store = _ref3.store,\n      registry = _ref3.registry,\n      draggableId = _ref3.draggableId,\n      forceSensorStop = _ref3.forceSensorStop,\n      sourceEvent = _ref3.sourceEvent;\n  var shouldStart = canStart({\n    lockAPI: lockAPI,\n    store: store,\n    registry: registry,\n    draggableId: draggableId\n  });\n\n  if (!shouldStart) {\n    return null;\n  }\n\n  var entry = registry.draggable.getById(draggableId);\n  var el = findDraggable(contextId, entry.descriptor.id);\n\n  if (!el) {\n    process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find draggable element with id: \" + draggableId) : void 0;\n    return null;\n  }\n\n  if (sourceEvent && !entry.options.canDragInteractiveElements && isEventInInteractiveElement(el, sourceEvent)) {\n    return null;\n  }\n\n  var lock = lockAPI.claim(forceSensorStop || noop);\n  var phase = 'PRE_DRAG';\n\n  function getShouldRespectForcePress() {\n    return entry.options.shouldRespectForcePress;\n  }\n\n  function isLockActive() {\n    return lockAPI.isActive(lock);\n  }\n\n  function tryDispatch(expected, getAction) {\n    if (_isActive({\n      expected: expected,\n      phase: phase,\n      isLockActive: isLockActive,\n      shouldWarn: true\n    })) {\n      store.dispatch(getAction());\n    }\n  }\n\n  var tryDispatchWhenDragging = tryDispatch.bind(null, 'DRAGGING');\n\n  function lift$1(args) {\n    function completed() {\n      lockAPI.release();\n      phase = 'COMPLETED';\n    }\n\n    if (phase !== 'PRE_DRAG') {\n      completed();\n      !(phase === 'PRE_DRAG') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot lift in phase \" + phase) : invariant(false) : void 0;\n    }\n\n    store.dispatch(lift(args.liftActionArgs));\n    phase = 'DRAGGING';\n\n    function finish(reason, options) {\n      if (options === void 0) {\n        options = {\n          shouldBlockNextClick: false\n        };\n      }\n\n      args.cleanup();\n\n      if (options.shouldBlockNextClick) {\n        var unbind = bindEvents(window, [{\n          eventName: 'click',\n          fn: preventDefault,\n          options: {\n            once: true,\n            passive: false,\n            capture: true\n          }\n        }]);\n        setTimeout(unbind);\n      }\n\n      completed();\n      store.dispatch(drop({\n        reason: reason\n      }));\n    }\n\n    return _extends({\n      isActive: function isActive() {\n        return _isActive({\n          expected: 'DRAGGING',\n          phase: phase,\n          isLockActive: isLockActive,\n          shouldWarn: false\n        });\n      },\n      shouldRespectForcePress: getShouldRespectForcePress,\n      drop: function drop(options) {\n        return finish('DROP', options);\n      },\n      cancel: function cancel(options) {\n        return finish('CANCEL', options);\n      }\n    }, args.actions);\n  }\n\n  function fluidLift(clientSelection) {\n    var move$1 = rafSchd(function (client) {\n      tryDispatchWhenDragging(function () {\n        return move({\n          client: client\n        });\n      });\n    });\n    var api = lift$1({\n      liftActionArgs: {\n        id: draggableId,\n        clientSelection: clientSelection,\n        movementMode: 'FLUID'\n      },\n      cleanup: function cleanup() {\n        return move$1.cancel();\n      },\n      actions: {\n        move: move$1\n      }\n    });\n    return _extends({}, api, {\n      move: move$1\n    });\n  }\n\n  function snapLift() {\n    var actions = {\n      moveUp: function moveUp$1() {\n        return tryDispatchWhenDragging(moveUp);\n      },\n      moveRight: function moveRight$1() {\n        return tryDispatchWhenDragging(moveRight);\n      },\n      moveDown: function moveDown$1() {\n        return tryDispatchWhenDragging(moveDown);\n      },\n      moveLeft: function moveLeft$1() {\n        return tryDispatchWhenDragging(moveLeft);\n      }\n    };\n    return lift$1({\n      liftActionArgs: {\n        id: draggableId,\n        clientSelection: getBorderBoxCenterPosition(el),\n        movementMode: 'SNAP'\n      },\n      cleanup: noop,\n      actions: actions\n    });\n  }\n\n  function abortPreDrag() {\n    var shouldRelease = _isActive({\n      expected: 'PRE_DRAG',\n      phase: phase,\n      isLockActive: isLockActive,\n      shouldWarn: true\n    });\n\n    if (shouldRelease) {\n      lockAPI.release();\n    }\n  }\n\n  var preDrag = {\n    isActive: function isActive() {\n      return _isActive({\n        expected: 'PRE_DRAG',\n        phase: phase,\n        isLockActive: isLockActive,\n        shouldWarn: false\n      });\n    },\n    shouldRespectForcePress: getShouldRespectForcePress,\n    fluidLift: fluidLift,\n    snapLift: snapLift,\n    abort: abortPreDrag\n  };\n  return preDrag;\n}\n\nvar defaultSensors = [useMouseSensor, useKeyboardSensor, useTouchSensor];\nfunction useSensorMarshal(_ref4) {\n  var contextId = _ref4.contextId,\n      store = _ref4.store,\n      registry = _ref4.registry,\n      customSensors = _ref4.customSensors,\n      enableDefaultSensors = _ref4.enableDefaultSensors;\n  var useSensors = [].concat(enableDefaultSensors ? defaultSensors : [], customSensors || []);\n  var lockAPI = useState(function () {\n    return create();\n  })[0];\n  var tryAbandonLock = useCallback(function tryAbandonLock(previous, current) {\n    if (previous.isDragging && !current.isDragging) {\n      lockAPI.tryAbandon();\n    }\n  }, [lockAPI]);\n  useIsomorphicLayoutEffect(function listenToStore() {\n    var previous = store.getState();\n    var unsubscribe = store.subscribe(function () {\n      var current = store.getState();\n      tryAbandonLock(previous, current);\n      previous = current;\n    });\n    return unsubscribe;\n  }, [lockAPI, store, tryAbandonLock]);\n  useIsomorphicLayoutEffect(function () {\n    return lockAPI.tryAbandon;\n  }, [lockAPI.tryAbandon]);\n  var canGetLock = useCallback(function (draggableId) {\n    return canStart({\n      lockAPI: lockAPI,\n      registry: registry,\n      store: store,\n      draggableId: draggableId\n    });\n  }, [lockAPI, registry, store]);\n  var tryGetLock = useCallback(function (draggableId, forceStop, options) {\n    return tryStart({\n      lockAPI: lockAPI,\n      registry: registry,\n      contextId: contextId,\n      store: store,\n      draggableId: draggableId,\n      forceSensorStop: forceStop,\n      sourceEvent: options && options.sourceEvent ? options.sourceEvent : null\n    });\n  }, [contextId, lockAPI, registry, store]);\n  var findClosestDraggableId = useCallback(function (event) {\n    return tryGetClosestDraggableIdFromEvent(contextId, event);\n  }, [contextId]);\n  var findOptionsForDraggable = useCallback(function (id) {\n    var entry = registry.draggable.findById(id);\n    return entry ? entry.options : null;\n  }, [registry.draggable]);\n  var tryReleaseLock = useCallback(function tryReleaseLock() {\n    if (!lockAPI.isClaimed()) {\n      return;\n    }\n\n    lockAPI.tryAbandon();\n\n    if (store.getState().phase !== 'IDLE') {\n      store.dispatch(flush());\n    }\n  }, [lockAPI, store]);\n  var isLockClaimed = useCallback(lockAPI.isClaimed, [lockAPI]);\n  var api = useMemo(function () {\n    return {\n      canGetLock: canGetLock,\n      tryGetLock: tryGetLock,\n      findClosestDraggableId: findClosestDraggableId,\n      findOptionsForDraggable: findOptionsForDraggable,\n      tryReleaseLock: tryReleaseLock,\n      isLockClaimed: isLockClaimed\n    };\n  }, [canGetLock, tryGetLock, findClosestDraggableId, findOptionsForDraggable, tryReleaseLock, isLockClaimed]);\n  useValidateSensorHooks(useSensors);\n\n  for (var i = 0; i < useSensors.length; i++) {\n    useSensors[i](api);\n  }\n}\n\nvar createResponders = function createResponders(props) {\n  return {\n    onBeforeCapture: props.onBeforeCapture,\n    onBeforeDragStart: props.onBeforeDragStart,\n    onDragStart: props.onDragStart,\n    onDragEnd: props.onDragEnd,\n    onDragUpdate: props.onDragUpdate\n  };\n};\n\nfunction getStore(lazyRef) {\n  !lazyRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find store from lazy ref') : invariant(false) : void 0;\n  return lazyRef.current;\n}\n\nfunction App(props) {\n  var contextId = props.contextId,\n      setCallbacks = props.setCallbacks,\n      sensors = props.sensors,\n      nonce = props.nonce,\n      dragHandleUsageInstructions = props.dragHandleUsageInstructions;\n  var lazyStoreRef = useRef(null);\n  useStartupValidation();\n  var lastPropsRef = usePrevious(props);\n  var getResponders = useCallback(function () {\n    return createResponders(lastPropsRef.current);\n  }, [lastPropsRef]);\n  var announce = useAnnouncer(contextId);\n  var dragHandleUsageInstructionsId = useHiddenTextElement({\n    contextId: contextId,\n    text: dragHandleUsageInstructions\n  });\n  var styleMarshal = useStyleMarshal(contextId, nonce);\n  var lazyDispatch = useCallback(function (action) {\n    getStore(lazyStoreRef).dispatch(action);\n  }, []);\n  var marshalCallbacks = useMemo(function () {\n    return bindActionCreators({\n      publishWhileDragging: publishWhileDragging,\n      updateDroppableScroll: updateDroppableScroll,\n      updateDroppableIsEnabled: updateDroppableIsEnabled,\n      updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,\n      collectionStarting: collectionStarting\n    }, lazyDispatch);\n  }, [lazyDispatch]);\n  var registry = useRegistry();\n  var dimensionMarshal = useMemo(function () {\n    return createDimensionMarshal(registry, marshalCallbacks);\n  }, [registry, marshalCallbacks]);\n  var autoScroller = useMemo(function () {\n    return createAutoScroller(_extends({\n      scrollWindow: scrollWindow,\n      scrollDroppable: dimensionMarshal.scrollDroppable\n    }, bindActionCreators({\n      move: move\n    }, lazyDispatch)));\n  }, [dimensionMarshal.scrollDroppable, lazyDispatch]);\n  var focusMarshal = useFocusMarshal(contextId);\n  var store = useMemo(function () {\n    return createStore({\n      announce: announce,\n      autoScroller: autoScroller,\n      dimensionMarshal: dimensionMarshal,\n      focusMarshal: focusMarshal,\n      getResponders: getResponders,\n      styleMarshal: styleMarshal\n    });\n  }, [announce, autoScroller, dimensionMarshal, focusMarshal, getResponders, styleMarshal]);\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (lazyStoreRef.current && lazyStoreRef.current !== store) {\n      process.env.NODE_ENV !== \"production\" ? warning('unexpected store change') : void 0;\n    }\n  }\n\n  lazyStoreRef.current = store;\n  var tryResetStore = useCallback(function () {\n    var current = getStore(lazyStoreRef);\n    var state = current.getState();\n\n    if (state.phase !== 'IDLE') {\n      current.dispatch(flush());\n    }\n  }, []);\n  var isDragging = useCallback(function () {\n    var state = getStore(lazyStoreRef).getState();\n    return state.isDragging || state.phase === 'DROP_ANIMATING';\n  }, []);\n  var appCallbacks = useMemo(function () {\n    return {\n      isDragging: isDragging,\n      tryAbort: tryResetStore\n    };\n  }, [isDragging, tryResetStore]);\n  setCallbacks(appCallbacks);\n  var getCanLift = useCallback(function (id) {\n    return canStartDrag(getStore(lazyStoreRef).getState(), id);\n  }, []);\n  var getIsMovementAllowed = useCallback(function () {\n    return isMovementAllowed(getStore(lazyStoreRef).getState());\n  }, []);\n  var appContext = useMemo(function () {\n    return {\n      marshal: dimensionMarshal,\n      focus: focusMarshal,\n      contextId: contextId,\n      canLift: getCanLift,\n      isMovementAllowed: getIsMovementAllowed,\n      dragHandleUsageInstructionsId: dragHandleUsageInstructionsId,\n      registry: registry\n    };\n  }, [contextId, dimensionMarshal, dragHandleUsageInstructionsId, focusMarshal, getCanLift, getIsMovementAllowed, registry]);\n  useSensorMarshal({\n    contextId: contextId,\n    store: store,\n    registry: registry,\n    customSensors: sensors,\n    enableDefaultSensors: props.enableDefaultSensors !== false\n  });\n  useEffect(function () {\n    return tryResetStore;\n  }, [tryResetStore]);\n  return React.createElement(AppContext.Provider, {\n    value: appContext\n  }, React.createElement(Provider, {\n    context: StoreContext,\n    store: store\n  }, props.children));\n}\n\nvar count$1 = 0;\nfunction reset$1() {\n  count$1 = 0;\n}\nfunction useInstanceCount() {\n  return useMemo(function () {\n    return \"\" + count$1++;\n  }, []);\n}\n\nfunction resetServerContext() {\n  reset$1();\n  reset();\n}\nfunction DragDropContext(props) {\n  var contextId = useInstanceCount();\n  var dragHandleUsageInstructions = props.dragHandleUsageInstructions || preset.dragHandleUsageInstructions;\n  return React.createElement(ErrorBoundary, null, function (setCallbacks) {\n    return React.createElement(App, {\n      nonce: props.nonce,\n      contextId: contextId,\n      setCallbacks: setCallbacks,\n      dragHandleUsageInstructions: dragHandleUsageInstructions,\n      enableDefaultSensors: props.enableDefaultSensors,\n      sensors: props.sensors,\n      onBeforeCapture: props.onBeforeCapture,\n      onBeforeDragStart: props.onBeforeDragStart,\n      onDragStart: props.onDragStart,\n      onDragUpdate: props.onDragUpdate,\n      onDragEnd: props.onDragEnd\n    }, props.children);\n  });\n}\n\nvar isEqual$1 = function isEqual(base) {\n  return function (value) {\n    return base === value;\n  };\n};\n\nvar isScroll = isEqual$1('scroll');\nvar isAuto = isEqual$1('auto');\nvar isVisible$1 = isEqual$1('visible');\n\nvar isEither = function isEither(overflow, fn) {\n  return fn(overflow.overflowX) || fn(overflow.overflowY);\n};\n\nvar isBoth = function isBoth(overflow, fn) {\n  return fn(overflow.overflowX) && fn(overflow.overflowY);\n};\n\nvar isElementScrollable = function isElementScrollable(el) {\n  var style = window.getComputedStyle(el);\n  var overflow = {\n    overflowX: style.overflowX,\n    overflowY: style.overflowY\n  };\n  return isEither(overflow, isScroll) || isEither(overflow, isAuto);\n};\n\nvar isBodyScrollable = function isBodyScrollable() {\n  if (process.env.NODE_ENV === 'production') {\n    return false;\n  }\n\n  var body = getBodyElement();\n  var html = document.documentElement;\n  !html ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n\n  if (!isElementScrollable(body)) {\n    return false;\n  }\n\n  var htmlStyle = window.getComputedStyle(html);\n  var htmlOverflow = {\n    overflowX: htmlStyle.overflowX,\n    overflowY: htmlStyle.overflowY\n  };\n\n  if (isBoth(htmlOverflow, isVisible$1)) {\n    return false;\n  }\n\n  process.env.NODE_ENV !== \"production\" ? warning(\"\\n    We have detected that your <body> element might be a scroll container.\\n    We have found no reliable way of detecting whether the <body> element is a scroll container.\\n    Under most circumstances a <body> scroll bar will be on the <html> element (document.documentElement)\\n\\n    Because we cannot determine if the <body> is a scroll container, and generally it is not one,\\n    we will be treating the <body> as *not* a scroll container\\n\\n    More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/how-we-detect-scroll-containers.md\\n  \") : void 0;\n  return false;\n};\n\nvar getClosestScrollable = function getClosestScrollable(el) {\n  if (el == null) {\n    return null;\n  }\n\n  if (el === document.body) {\n    return isBodyScrollable() ? el : null;\n  }\n\n  if (el === document.documentElement) {\n    return null;\n  }\n\n  if (!isElementScrollable(el)) {\n    return getClosestScrollable(el.parentElement);\n  }\n\n  return el;\n};\n\nvar checkForNestedScrollContainers = (function (scrollable) {\n  if (!scrollable) {\n    return;\n  }\n\n  var anotherScrollParent = getClosestScrollable(scrollable.parentElement);\n\n  if (!anotherScrollParent) {\n    return;\n  }\n\n  process.env.NODE_ENV !== \"production\" ? warning(\"\\n    Droppable: unsupported nested scroll container detected.\\n    A Droppable can only have one scroll parent (which can be itself)\\n    Nested scroll containers are currently not supported.\\n\\n    We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\\n  \") : void 0;\n});\n\nvar getScroll$1 = (function (el) {\n  return {\n    x: el.scrollLeft,\n    y: el.scrollTop\n  };\n});\n\nvar getIsFixed = function getIsFixed(el) {\n  if (!el) {\n    return false;\n  }\n\n  var style = window.getComputedStyle(el);\n\n  if (style.position === 'fixed') {\n    return true;\n  }\n\n  return getIsFixed(el.parentElement);\n};\n\nvar getEnv = (function (start) {\n  var closestScrollable = getClosestScrollable(start);\n  var isFixedOnPage = getIsFixed(start);\n  return {\n    closestScrollable: closestScrollable,\n    isFixedOnPage: isFixedOnPage\n  };\n});\n\nvar getDroppableDimension = (function (_ref) {\n  var descriptor = _ref.descriptor,\n      isEnabled = _ref.isEnabled,\n      isCombineEnabled = _ref.isCombineEnabled,\n      isFixedOnPage = _ref.isFixedOnPage,\n      direction = _ref.direction,\n      client = _ref.client,\n      page = _ref.page,\n      closest = _ref.closest;\n\n  var frame = function () {\n    if (!closest) {\n      return null;\n    }\n\n    var scrollSize = closest.scrollSize,\n        frameClient = closest.client;\n    var maxScroll = getMaxScroll({\n      scrollHeight: scrollSize.scrollHeight,\n      scrollWidth: scrollSize.scrollWidth,\n      height: frameClient.paddingBox.height,\n      width: frameClient.paddingBox.width\n    });\n    return {\n      pageMarginBox: closest.page.marginBox,\n      frameClient: frameClient,\n      scrollSize: scrollSize,\n      shouldClipSubject: closest.shouldClipSubject,\n      scroll: {\n        initial: closest.scroll,\n        current: closest.scroll,\n        max: maxScroll,\n        diff: {\n          value: origin,\n          displacement: origin\n        }\n      }\n    };\n  }();\n\n  var axis = direction === 'vertical' ? vertical : horizontal;\n  var subject = getSubject({\n    page: page,\n    withPlaceholder: null,\n    axis: axis,\n    frame: frame\n  });\n  var dimension = {\n    descriptor: descriptor,\n    isCombineEnabled: isCombineEnabled,\n    isFixedOnPage: isFixedOnPage,\n    axis: axis,\n    isEnabled: isEnabled,\n    client: client,\n    page: page,\n    frame: frame,\n    subject: subject\n  };\n  return dimension;\n});\n\nvar getClient = function getClient(targetRef, closestScrollable) {\n  var base = getBox(targetRef);\n\n  if (!closestScrollable) {\n    return base;\n  }\n\n  if (targetRef !== closestScrollable) {\n    return base;\n  }\n\n  var top = base.paddingBox.top - closestScrollable.scrollTop;\n  var left = base.paddingBox.left - closestScrollable.scrollLeft;\n  var bottom = top + closestScrollable.scrollHeight;\n  var right = left + closestScrollable.scrollWidth;\n  var paddingBox = {\n    top: top,\n    right: right,\n    bottom: bottom,\n    left: left\n  };\n  var borderBox = expand(paddingBox, base.border);\n  var client = createBox({\n    borderBox: borderBox,\n    margin: base.margin,\n    border: base.border,\n    padding: base.padding\n  });\n  return client;\n};\n\nvar getDimension = (function (_ref) {\n  var ref = _ref.ref,\n      descriptor = _ref.descriptor,\n      env = _ref.env,\n      windowScroll = _ref.windowScroll,\n      direction = _ref.direction,\n      isDropDisabled = _ref.isDropDisabled,\n      isCombineEnabled = _ref.isCombineEnabled,\n      shouldClipSubject = _ref.shouldClipSubject;\n  var closestScrollable = env.closestScrollable;\n  var client = getClient(ref, closestScrollable);\n  var page = withScroll(client, windowScroll);\n\n  var closest = function () {\n    if (!closestScrollable) {\n      return null;\n    }\n\n    var frameClient = getBox(closestScrollable);\n    var scrollSize = {\n      scrollHeight: closestScrollable.scrollHeight,\n      scrollWidth: closestScrollable.scrollWidth\n    };\n    return {\n      client: frameClient,\n      page: withScroll(frameClient, windowScroll),\n      scroll: getScroll$1(closestScrollable),\n      scrollSize: scrollSize,\n      shouldClipSubject: shouldClipSubject\n    };\n  }();\n\n  var dimension = getDroppableDimension({\n    descriptor: descriptor,\n    isEnabled: !isDropDisabled,\n    isCombineEnabled: isCombineEnabled,\n    isFixedOnPage: env.isFixedOnPage,\n    direction: direction,\n    client: client,\n    page: page,\n    closest: closest\n  });\n  return dimension;\n});\n\nvar immediate = {\n  passive: false\n};\nvar delayed = {\n  passive: true\n};\nvar getListenerOptions = (function (options) {\n  return options.shouldPublishImmediately ? immediate : delayed;\n});\n\nfunction useRequiredContext(Context) {\n  var result = useContext(Context);\n  !result ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find required context') : invariant(false) : void 0;\n  return result;\n}\n\nvar getClosestScrollableFromDrag = function getClosestScrollableFromDrag(dragging) {\n  return dragging && dragging.env.closestScrollable || null;\n};\n\nfunction useDroppablePublisher(args) {\n  var whileDraggingRef = useRef(null);\n  var appContext = useRequiredContext(AppContext);\n  var uniqueId = useUniqueId('droppable');\n  var registry = appContext.registry,\n      marshal = appContext.marshal;\n  var previousRef = usePrevious(args);\n  var descriptor = useMemo(function () {\n    return {\n      id: args.droppableId,\n      type: args.type,\n      mode: args.mode\n    };\n  }, [args.droppableId, args.mode, args.type]);\n  var publishedDescriptorRef = useRef(descriptor);\n  var memoizedUpdateScroll = useMemo(function () {\n    return memoizeOne(function (x, y) {\n      !whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only update scroll when dragging') : invariant(false) : void 0;\n      var scroll = {\n        x: x,\n        y: y\n      };\n      marshal.updateDroppableScroll(descriptor.id, scroll);\n    });\n  }, [descriptor.id, marshal]);\n  var getClosestScroll = useCallback(function () {\n    var dragging = whileDraggingRef.current;\n\n    if (!dragging || !dragging.env.closestScrollable) {\n      return origin;\n    }\n\n    return getScroll$1(dragging.env.closestScrollable);\n  }, []);\n  var updateScroll = useCallback(function () {\n    var scroll = getClosestScroll();\n    memoizedUpdateScroll(scroll.x, scroll.y);\n  }, [getClosestScroll, memoizedUpdateScroll]);\n  var scheduleScrollUpdate = useMemo(function () {\n    return rafSchd(updateScroll);\n  }, [updateScroll]);\n  var onClosestScroll = useCallback(function () {\n    var dragging = whileDraggingRef.current;\n    var closest = getClosestScrollableFromDrag(dragging);\n    !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;\n    var options = dragging.scrollOptions;\n\n    if (options.shouldPublishImmediately) {\n      updateScroll();\n      return;\n    }\n\n    scheduleScrollUpdate();\n  }, [scheduleScrollUpdate, updateScroll]);\n  var getDimensionAndWatchScroll = useCallback(function (windowScroll, options) {\n    !!whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect a droppable while a drag is occurring') : invariant(false) : void 0;\n    var previous = previousRef.current;\n    var ref = previous.getDroppableRef();\n    !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect without a droppable ref') : invariant(false) : void 0;\n    var env = getEnv(ref);\n    var dragging = {\n      ref: ref,\n      descriptor: descriptor,\n      env: env,\n      scrollOptions: options\n    };\n    whileDraggingRef.current = dragging;\n    var dimension = getDimension({\n      ref: ref,\n      descriptor: descriptor,\n      env: env,\n      windowScroll: windowScroll,\n      direction: previous.direction,\n      isDropDisabled: previous.isDropDisabled,\n      isCombineEnabled: previous.isCombineEnabled,\n      shouldClipSubject: !previous.ignoreContainerClipping\n    });\n    var scrollable = env.closestScrollable;\n\n    if (scrollable) {\n      scrollable.setAttribute(scrollContainer.contextId, appContext.contextId);\n      scrollable.addEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n\n      if (process.env.NODE_ENV !== 'production') {\n        checkForNestedScrollContainers(scrollable);\n      }\n    }\n\n    return dimension;\n  }, [appContext.contextId, descriptor, onClosestScroll, previousRef]);\n  var getScrollWhileDragging = useCallback(function () {\n    var dragging = whileDraggingRef.current;\n    var closest = getClosestScrollableFromDrag(dragging);\n    !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only recollect Droppable client for Droppables that have a scroll container') : invariant(false) : void 0;\n    return getScroll$1(closest);\n  }, []);\n  var dragStopped = useCallback(function () {\n    var dragging = whileDraggingRef.current;\n    !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop drag when no active drag') : invariant(false) : void 0;\n    var closest = getClosestScrollableFromDrag(dragging);\n    whileDraggingRef.current = null;\n\n    if (!closest) {\n      return;\n    }\n\n    scheduleScrollUpdate.cancel();\n    closest.removeAttribute(scrollContainer.contextId);\n    closest.removeEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n  }, [onClosestScroll, scheduleScrollUpdate]);\n  var scroll = useCallback(function (change) {\n    var dragging = whileDraggingRef.current;\n    !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll when there is no drag') : invariant(false) : void 0;\n    var closest = getClosestScrollableFromDrag(dragging);\n    !closest ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;\n    closest.scrollTop += change.y;\n    closest.scrollLeft += change.x;\n  }, []);\n  var callbacks = useMemo(function () {\n    return {\n      getDimensionAndWatchScroll: getDimensionAndWatchScroll,\n      getScrollWhileDragging: getScrollWhileDragging,\n      dragStopped: dragStopped,\n      scroll: scroll\n    };\n  }, [dragStopped, getDimensionAndWatchScroll, getScrollWhileDragging, scroll]);\n  var entry = useMemo(function () {\n    return {\n      uniqueId: uniqueId,\n      descriptor: descriptor,\n      callbacks: callbacks\n    };\n  }, [callbacks, descriptor, uniqueId]);\n  useIsomorphicLayoutEffect(function () {\n    publishedDescriptorRef.current = entry.descriptor;\n    registry.droppable.register(entry);\n    return function () {\n      if (whileDraggingRef.current) {\n        process.env.NODE_ENV !== \"production\" ? warning('Unsupported: changing the droppableId or type of a Droppable during a drag') : void 0;\n        dragStopped();\n      }\n\n      registry.droppable.unregister(entry);\n    };\n  }, [callbacks, descriptor, dragStopped, entry, marshal, registry.droppable]);\n  useIsomorphicLayoutEffect(function () {\n    if (!whileDraggingRef.current) {\n      return;\n    }\n\n    marshal.updateDroppableIsEnabled(publishedDescriptorRef.current.id, !args.isDropDisabled);\n  }, [args.isDropDisabled, marshal]);\n  useIsomorphicLayoutEffect(function () {\n    if (!whileDraggingRef.current) {\n      return;\n    }\n\n    marshal.updateDroppableIsCombineEnabled(publishedDescriptorRef.current.id, args.isCombineEnabled);\n  }, [args.isCombineEnabled, marshal]);\n}\n\nfunction noop$2() {}\n\nvar empty = {\n  width: 0,\n  height: 0,\n  margin: noSpacing\n};\n\nvar getSize = function getSize(_ref) {\n  var isAnimatingOpenOnMount = _ref.isAnimatingOpenOnMount,\n      placeholder = _ref.placeholder,\n      animate = _ref.animate;\n\n  if (isAnimatingOpenOnMount) {\n    return empty;\n  }\n\n  if (animate === 'close') {\n    return empty;\n  }\n\n  return {\n    height: placeholder.client.borderBox.height,\n    width: placeholder.client.borderBox.width,\n    margin: placeholder.client.margin\n  };\n};\n\nvar getStyle = function getStyle(_ref2) {\n  var isAnimatingOpenOnMount = _ref2.isAnimatingOpenOnMount,\n      placeholder = _ref2.placeholder,\n      animate = _ref2.animate;\n  var size = getSize({\n    isAnimatingOpenOnMount: isAnimatingOpenOnMount,\n    placeholder: placeholder,\n    animate: animate\n  });\n  return {\n    display: placeholder.display,\n    boxSizing: 'border-box',\n    width: size.width,\n    height: size.height,\n    marginTop: size.margin.top,\n    marginRight: size.margin.right,\n    marginBottom: size.margin.bottom,\n    marginLeft: size.margin.left,\n    flexShrink: '0',\n    flexGrow: '0',\n    pointerEvents: 'none',\n    transition: animate !== 'none' ? transitions.placeholder : null\n  };\n};\n\nfunction Placeholder(props) {\n  var animateOpenTimerRef = useRef(null);\n  var tryClearAnimateOpenTimer = useCallback(function () {\n    if (!animateOpenTimerRef.current) {\n      return;\n    }\n\n    clearTimeout(animateOpenTimerRef.current);\n    animateOpenTimerRef.current = null;\n  }, []);\n  var animate = props.animate,\n      onTransitionEnd = props.onTransitionEnd,\n      onClose = props.onClose,\n      contextId = props.contextId;\n\n  var _useState = useState(props.animate === 'open'),\n      isAnimatingOpenOnMount = _useState[0],\n      setIsAnimatingOpenOnMount = _useState[1];\n\n  useEffect(function () {\n    if (!isAnimatingOpenOnMount) {\n      return noop$2;\n    }\n\n    if (animate !== 'open') {\n      tryClearAnimateOpenTimer();\n      setIsAnimatingOpenOnMount(false);\n      return noop$2;\n    }\n\n    if (animateOpenTimerRef.current) {\n      return noop$2;\n    }\n\n    animateOpenTimerRef.current = setTimeout(function () {\n      animateOpenTimerRef.current = null;\n      setIsAnimatingOpenOnMount(false);\n    });\n    return tryClearAnimateOpenTimer;\n  }, [animate, isAnimatingOpenOnMount, tryClearAnimateOpenTimer]);\n  var onSizeChangeEnd = useCallback(function (event) {\n    if (event.propertyName !== 'height') {\n      return;\n    }\n\n    onTransitionEnd();\n\n    if (animate === 'close') {\n      onClose();\n    }\n  }, [animate, onClose, onTransitionEnd]);\n  var style = getStyle({\n    isAnimatingOpenOnMount: isAnimatingOpenOnMount,\n    animate: props.animate,\n    placeholder: props.placeholder\n  });\n  return React.createElement(props.placeholder.tagName, {\n    style: style,\n    'data-rbd-placeholder-context-id': contextId,\n    onTransitionEnd: onSizeChangeEnd,\n    ref: props.innerRef\n  });\n}\n\nvar Placeholder$1 = React.memo(Placeholder);\n\nvar DroppableContext = React.createContext(null);\n\nfunction checkIsValidInnerRef(el) {\n  !(el && isHtmlElement(el)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"\\n    provided.innerRef has not been provided with a HTMLElement.\\n\\n    You can find a guide on using the innerRef callback functions at:\\n    https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\\n  \") : invariant(false) : void 0;\n}\n\nfunction isBoolean(value) {\n  return typeof value === 'boolean';\n}\n\nfunction runChecks(args, checks) {\n  checks.forEach(function (check) {\n    return check(args);\n  });\n}\n\nvar shared = [function required(_ref) {\n  var props = _ref.props;\n  !props.droppableId ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A Droppable requires a droppableId prop') : invariant(false) : void 0;\n  !(typeof props.droppableId === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"A Droppable requires a [string] droppableId. Provided: [\" + typeof props.droppableId + \"]\") : invariant(false) : void 0;\n}, function _boolean(_ref2) {\n  var props = _ref2.props;\n  !isBoolean(props.isDropDisabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isDropDisabled must be a boolean') : invariant(false) : void 0;\n  !isBoolean(props.isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isCombineEnabled must be a boolean') : invariant(false) : void 0;\n  !isBoolean(props.ignoreContainerClipping) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'ignoreContainerClipping must be a boolean') : invariant(false) : void 0;\n}, function ref(_ref3) {\n  var getDroppableRef = _ref3.getDroppableRef;\n  checkIsValidInnerRef(getDroppableRef());\n}];\nvar standard = [function placeholder(_ref4) {\n  var props = _ref4.props,\n      getPlaceholderRef = _ref4.getPlaceholderRef;\n\n  if (!props.placeholder) {\n    return;\n  }\n\n  var ref = getPlaceholderRef();\n\n  if (ref) {\n    return;\n  }\n\n  process.env.NODE_ENV !== \"production\" ? warning(\"\\n      Droppable setup issue [droppableId: \\\"\" + props.droppableId + \"\\\"]:\\n      DroppableProvided > placeholder could not be found.\\n\\n      Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\\n      More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md\\n    \") : void 0;\n}];\nvar virtual = [function hasClone(_ref5) {\n  var props = _ref5.props;\n  !props.renderClone ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must provide a clone render function (renderClone) for virtual lists') : invariant(false) : void 0;\n}, function hasNoPlaceholder(_ref6) {\n  var getPlaceholderRef = _ref6.getPlaceholderRef;\n  !!getPlaceholderRef() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected virtual list to not have a placeholder') : invariant(false) : void 0;\n}];\nfunction useValidation(args) {\n  useDevSetupWarning(function () {\n    runChecks(args, shared);\n\n    if (args.props.mode === 'standard') {\n      runChecks(args, standard);\n    }\n\n    if (args.props.mode === 'virtual') {\n      runChecks(args, virtual);\n    }\n  });\n}\n\nvar AnimateInOut = function (_React$PureComponent) {\n  _inheritsLoose(AnimateInOut, _React$PureComponent);\n\n  function AnimateInOut() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n    _this.state = {\n      isVisible: Boolean(_this.props.on),\n      data: _this.props.on,\n      animate: _this.props.shouldAnimate && _this.props.on ? 'open' : 'none'\n    };\n\n    _this.onClose = function () {\n      if (_this.state.animate !== 'close') {\n        return;\n      }\n\n      _this.setState({\n        isVisible: false\n      });\n    };\n\n    return _this;\n  }\n\n  AnimateInOut.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n    if (!props.shouldAnimate) {\n      return {\n        isVisible: Boolean(props.on),\n        data: props.on,\n        animate: 'none'\n      };\n    }\n\n    if (props.on) {\n      return {\n        isVisible: true,\n        data: props.on,\n        animate: 'open'\n      };\n    }\n\n    if (state.isVisible) {\n      return {\n        isVisible: true,\n        data: state.data,\n        animate: 'close'\n      };\n    }\n\n    return {\n      isVisible: false,\n      animate: 'close',\n      data: null\n    };\n  };\n\n  var _proto = AnimateInOut.prototype;\n\n  _proto.render = function render() {\n    if (!this.state.isVisible) {\n      return null;\n    }\n\n    var provided = {\n      onClose: this.onClose,\n      data: this.state.data,\n      animate: this.state.animate\n    };\n    return this.props.children(provided);\n  };\n\n  return AnimateInOut;\n}(React.PureComponent);\n\nvar zIndexOptions = {\n  dragging: 5000,\n  dropAnimating: 4500\n};\n\nvar getDraggingTransition = function getDraggingTransition(shouldAnimateDragMovement, dropping) {\n  if (dropping) {\n    return transitions.drop(dropping.duration);\n  }\n\n  if (shouldAnimateDragMovement) {\n    return transitions.snap;\n  }\n\n  return transitions.fluid;\n};\n\nvar getDraggingOpacity = function getDraggingOpacity(isCombining, isDropAnimating) {\n  if (!isCombining) {\n    return null;\n  }\n\n  return isDropAnimating ? combine.opacity.drop : combine.opacity.combining;\n};\n\nvar getShouldDraggingAnimate = function getShouldDraggingAnimate(dragging) {\n  if (dragging.forceShouldAnimate != null) {\n    return dragging.forceShouldAnimate;\n  }\n\n  return dragging.mode === 'SNAP';\n};\n\nfunction getDraggingStyle(dragging) {\n  var dimension = dragging.dimension;\n  var box = dimension.client;\n  var offset = dragging.offset,\n      combineWith = dragging.combineWith,\n      dropping = dragging.dropping;\n  var isCombining = Boolean(combineWith);\n  var shouldAnimate = getShouldDraggingAnimate(dragging);\n  var isDropAnimating = Boolean(dropping);\n  var transform = isDropAnimating ? transforms.drop(offset, isCombining) : transforms.moveTo(offset);\n  var style = {\n    position: 'fixed',\n    top: box.marginBox.top,\n    left: box.marginBox.left,\n    boxSizing: 'border-box',\n    width: box.borderBox.width,\n    height: box.borderBox.height,\n    transition: getDraggingTransition(shouldAnimate, dropping),\n    transform: transform,\n    opacity: getDraggingOpacity(isCombining, isDropAnimating),\n    zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,\n    pointerEvents: 'none'\n  };\n  return style;\n}\n\nfunction getSecondaryStyle(secondary) {\n  return {\n    transform: transforms.moveTo(secondary.offset),\n    transition: secondary.shouldAnimateDisplacement ? null : 'none'\n  };\n}\n\nfunction getStyle$1(mapped) {\n  return mapped.type === 'DRAGGING' ? getDraggingStyle(mapped) : getSecondaryStyle(mapped);\n}\n\nfunction getDimension$1(descriptor, el, windowScroll) {\n  if (windowScroll === void 0) {\n    windowScroll = origin;\n  }\n\n  var computedStyles = window.getComputedStyle(el);\n  var borderBox = el.getBoundingClientRect();\n  var client = calculateBox(borderBox, computedStyles);\n  var page = withScroll(client, windowScroll);\n  var placeholder = {\n    client: client,\n    tagName: el.tagName.toLowerCase(),\n    display: computedStyles.display\n  };\n  var displaceBy = {\n    x: client.marginBox.width,\n    y: client.marginBox.height\n  };\n  var dimension = {\n    descriptor: descriptor,\n    placeholder: placeholder,\n    displaceBy: displaceBy,\n    client: client,\n    page: page\n  };\n  return dimension;\n}\n\nfunction useDraggablePublisher(args) {\n  var uniqueId = useUniqueId('draggable');\n  var descriptor = args.descriptor,\n      registry = args.registry,\n      getDraggableRef = args.getDraggableRef,\n      canDragInteractiveElements = args.canDragInteractiveElements,\n      shouldRespectForcePress = args.shouldRespectForcePress,\n      isEnabled = args.isEnabled;\n  var options = useMemo(function () {\n    return {\n      canDragInteractiveElements: canDragInteractiveElements,\n      shouldRespectForcePress: shouldRespectForcePress,\n      isEnabled: isEnabled\n    };\n  }, [canDragInteractiveElements, isEnabled, shouldRespectForcePress]);\n  var getDimension = useCallback(function (windowScroll) {\n    var el = getDraggableRef();\n    !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get dimension when no ref is set') : invariant(false) : void 0;\n    return getDimension$1(descriptor, el, windowScroll);\n  }, [descriptor, getDraggableRef]);\n  var entry = useMemo(function () {\n    return {\n      uniqueId: uniqueId,\n      descriptor: descriptor,\n      options: options,\n      getDimension: getDimension\n    };\n  }, [descriptor, getDimension, options, uniqueId]);\n  var publishedRef = useRef(entry);\n  var isFirstPublishRef = useRef(true);\n  useIsomorphicLayoutEffect(function () {\n    registry.draggable.register(publishedRef.current);\n    return function () {\n      return registry.draggable.unregister(publishedRef.current);\n    };\n  }, [registry.draggable]);\n  useIsomorphicLayoutEffect(function () {\n    if (isFirstPublishRef.current) {\n      isFirstPublishRef.current = false;\n      return;\n    }\n\n    var last = publishedRef.current;\n    publishedRef.current = entry;\n    registry.draggable.update(entry, last);\n  }, [entry, registry.draggable]);\n}\n\nfunction useValidation$1(props, contextId, getRef) {\n  useDevSetupWarning(function () {\n    function prefix(id) {\n      return \"Draggable[id: \" + id + \"]: \";\n    }\n\n    var id = props.draggableId;\n    !id ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable requires a draggableId') : invariant(false) : void 0;\n    !(typeof id === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Draggable requires a [string] draggableId.\\n      Provided: [type: \" + typeof id + \"] (value: \" + id + \")\") : invariant(false) : void 0;\n    !isInteger(props.index) ? process.env.NODE_ENV !== \"production\" ? invariant(false, prefix(id) + \" requires an integer index prop\") : invariant(false) : void 0;\n\n    if (props.mapped.type === 'DRAGGING') {\n      return;\n    }\n\n    checkIsValidInnerRef(getRef());\n\n    if (props.isEnabled) {\n      !findDragHandle(contextId, id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, prefix(id) + \" Unable to find drag handle\") : invariant(false) : void 0;\n    }\n  });\n}\nfunction useClonePropValidation(isClone) {\n  useDev(function () {\n    var initialRef = useRef(isClone);\n    useDevSetupWarning(function () {\n      !(isClone === initialRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable isClone prop value changed during component life') : invariant(false) : void 0;\n    }, [isClone]);\n  });\n}\n\nfunction preventHtml5Dnd(event) {\n  event.preventDefault();\n}\n\nfunction Draggable(props) {\n  var ref = useRef(null);\n  var setRef = useCallback(function (el) {\n    ref.current = el;\n  }, []);\n  var getRef = useCallback(function () {\n    return ref.current;\n  }, []);\n\n  var _useRequiredContext = useRequiredContext(AppContext),\n      contextId = _useRequiredContext.contextId,\n      dragHandleUsageInstructionsId = _useRequiredContext.dragHandleUsageInstructionsId,\n      registry = _useRequiredContext.registry;\n\n  var _useRequiredContext2 = useRequiredContext(DroppableContext),\n      type = _useRequiredContext2.type,\n      droppableId = _useRequiredContext2.droppableId;\n\n  var descriptor = useMemo(function () {\n    return {\n      id: props.draggableId,\n      index: props.index,\n      type: type,\n      droppableId: droppableId\n    };\n  }, [props.draggableId, props.index, type, droppableId]);\n  var children = props.children,\n      draggableId = props.draggableId,\n      isEnabled = props.isEnabled,\n      shouldRespectForcePress = props.shouldRespectForcePress,\n      canDragInteractiveElements = props.canDragInteractiveElements,\n      isClone = props.isClone,\n      mapped = props.mapped,\n      dropAnimationFinishedAction = props.dropAnimationFinished;\n  useValidation$1(props, contextId, getRef);\n  useClonePropValidation(isClone);\n\n  if (!isClone) {\n    var forPublisher = useMemo(function () {\n      return {\n        descriptor: descriptor,\n        registry: registry,\n        getDraggableRef: getRef,\n        canDragInteractiveElements: canDragInteractiveElements,\n        shouldRespectForcePress: shouldRespectForcePress,\n        isEnabled: isEnabled\n      };\n    }, [descriptor, registry, getRef, canDragInteractiveElements, shouldRespectForcePress, isEnabled]);\n    useDraggablePublisher(forPublisher);\n  }\n\n  var dragHandleProps = useMemo(function () {\n    return isEnabled ? {\n      tabIndex: 0,\n      role: 'button',\n      'aria-describedby': dragHandleUsageInstructionsId,\n      'data-rbd-drag-handle-draggable-id': draggableId,\n      'data-rbd-drag-handle-context-id': contextId,\n      draggable: false,\n      onDragStart: preventHtml5Dnd\n    } : null;\n  }, [contextId, dragHandleUsageInstructionsId, draggableId, isEnabled]);\n  var onMoveEnd = useCallback(function (event) {\n    if (mapped.type !== 'DRAGGING') {\n      return;\n    }\n\n    if (!mapped.dropping) {\n      return;\n    }\n\n    if (event.propertyName !== 'transform') {\n      return;\n    }\n\n    dropAnimationFinishedAction();\n  }, [dropAnimationFinishedAction, mapped]);\n  var provided = useMemo(function () {\n    var style = getStyle$1(mapped);\n    var onTransitionEnd = mapped.type === 'DRAGGING' && mapped.dropping ? onMoveEnd : null;\n    var result = {\n      innerRef: setRef,\n      draggableProps: {\n        'data-rbd-draggable-context-id': contextId,\n        'data-rbd-draggable-id': draggableId,\n        style: style,\n        onTransitionEnd: onTransitionEnd\n      },\n      dragHandleProps: dragHandleProps\n    };\n    return result;\n  }, [contextId, dragHandleProps, draggableId, mapped, onMoveEnd, setRef]);\n  var rubric = useMemo(function () {\n    return {\n      draggableId: descriptor.id,\n      type: descriptor.type,\n      source: {\n        index: descriptor.index,\n        droppableId: descriptor.droppableId\n      }\n    };\n  }, [descriptor.droppableId, descriptor.id, descriptor.index, descriptor.type]);\n  return children(provided, mapped.snapshot, rubric);\n}\n\nvar isStrictEqual = (function (a, b) {\n  return a === b;\n});\n\nvar whatIsDraggedOverFromResult = (function (result) {\n  var combine = result.combine,\n      destination = result.destination;\n\n  if (destination) {\n    return destination.droppableId;\n  }\n\n  if (combine) {\n    return combine.droppableId;\n  }\n\n  return null;\n});\n\nvar getCombineWithFromResult = function getCombineWithFromResult(result) {\n  return result.combine ? result.combine.draggableId : null;\n};\n\nvar getCombineWithFromImpact = function getCombineWithFromImpact(impact) {\n  return impact.at && impact.at.type === 'COMBINE' ? impact.at.combine.draggableId : null;\n};\n\nfunction getDraggableSelector() {\n  var memoizedOffset = memoizeOne(function (x, y) {\n    return {\n      x: x,\n      y: y\n    };\n  });\n  var getMemoizedSnapshot = memoizeOne(function (mode, isClone, draggingOver, combineWith, dropping) {\n    return {\n      isDragging: true,\n      isClone: isClone,\n      isDropAnimating: Boolean(dropping),\n      dropAnimation: dropping,\n      mode: mode,\n      draggingOver: draggingOver,\n      combineWith: combineWith,\n      combineTargetFor: null\n    };\n  });\n  var getMemoizedProps = memoizeOne(function (offset, mode, dimension, isClone, draggingOver, combineWith, forceShouldAnimate) {\n    return {\n      mapped: {\n        type: 'DRAGGING',\n        dropping: null,\n        draggingOver: draggingOver,\n        combineWith: combineWith,\n        mode: mode,\n        offset: offset,\n        dimension: dimension,\n        forceShouldAnimate: forceShouldAnimate,\n        snapshot: getMemoizedSnapshot(mode, isClone, draggingOver, combineWith, null)\n      }\n    };\n  });\n\n  var selector = function selector(state, ownProps) {\n    if (state.isDragging) {\n      if (state.critical.draggable.id !== ownProps.draggableId) {\n        return null;\n      }\n\n      var offset = state.current.client.offset;\n      var dimension = state.dimensions.draggables[ownProps.draggableId];\n      var draggingOver = whatIsDraggedOver(state.impact);\n      var combineWith = getCombineWithFromImpact(state.impact);\n      var forceShouldAnimate = state.forceShouldAnimate;\n      return getMemoizedProps(memoizedOffset(offset.x, offset.y), state.movementMode, dimension, ownProps.isClone, draggingOver, combineWith, forceShouldAnimate);\n    }\n\n    if (state.phase === 'DROP_ANIMATING') {\n      var completed = state.completed;\n\n      if (completed.result.draggableId !== ownProps.draggableId) {\n        return null;\n      }\n\n      var isClone = ownProps.isClone;\n      var _dimension = state.dimensions.draggables[ownProps.draggableId];\n      var result = completed.result;\n      var mode = result.mode;\n\n      var _draggingOver = whatIsDraggedOverFromResult(result);\n\n      var _combineWith = getCombineWithFromResult(result);\n\n      var duration = state.dropDuration;\n      var dropping = {\n        duration: duration,\n        curve: curves.drop,\n        moveTo: state.newHomeClientOffset,\n        opacity: _combineWith ? combine.opacity.drop : null,\n        scale: _combineWith ? combine.scale.drop : null\n      };\n      return {\n        mapped: {\n          type: 'DRAGGING',\n          offset: state.newHomeClientOffset,\n          dimension: _dimension,\n          dropping: dropping,\n          draggingOver: _draggingOver,\n          combineWith: _combineWith,\n          mode: mode,\n          forceShouldAnimate: null,\n          snapshot: getMemoizedSnapshot(mode, isClone, _draggingOver, _combineWith, dropping)\n        }\n      };\n    }\n\n    return null;\n  };\n\n  return selector;\n}\n\nfunction getSecondarySnapshot(combineTargetFor) {\n  return {\n    isDragging: false,\n    isDropAnimating: false,\n    isClone: false,\n    dropAnimation: null,\n    mode: null,\n    draggingOver: null,\n    combineTargetFor: combineTargetFor,\n    combineWith: null\n  };\n}\n\nvar atRest = {\n  mapped: {\n    type: 'SECONDARY',\n    offset: origin,\n    combineTargetFor: null,\n    shouldAnimateDisplacement: true,\n    snapshot: getSecondarySnapshot(null)\n  }\n};\n\nfunction getSecondarySelector() {\n  var memoizedOffset = memoizeOne(function (x, y) {\n    return {\n      x: x,\n      y: y\n    };\n  });\n  var getMemoizedSnapshot = memoizeOne(getSecondarySnapshot);\n  var getMemoizedProps = memoizeOne(function (offset, combineTargetFor, shouldAnimateDisplacement) {\n    if (combineTargetFor === void 0) {\n      combineTargetFor = null;\n    }\n\n    return {\n      mapped: {\n        type: 'SECONDARY',\n        offset: offset,\n        combineTargetFor: combineTargetFor,\n        shouldAnimateDisplacement: shouldAnimateDisplacement,\n        snapshot: getMemoizedSnapshot(combineTargetFor)\n      }\n    };\n  });\n\n  var getFallback = function getFallback(combineTargetFor) {\n    return combineTargetFor ? getMemoizedProps(origin, combineTargetFor, true) : null;\n  };\n\n  var getProps = function getProps(ownId, draggingId, impact, afterCritical) {\n    var visualDisplacement = impact.displaced.visible[ownId];\n    var isAfterCriticalInVirtualList = Boolean(afterCritical.inVirtualList && afterCritical.effected[ownId]);\n    var combine = tryGetCombine(impact);\n    var combineTargetFor = combine && combine.draggableId === ownId ? draggingId : null;\n\n    if (!visualDisplacement) {\n      if (!isAfterCriticalInVirtualList) {\n        return getFallback(combineTargetFor);\n      }\n\n      if (impact.displaced.invisible[ownId]) {\n        return null;\n      }\n\n      var change = negate(afterCritical.displacedBy.point);\n\n      var _offset = memoizedOffset(change.x, change.y);\n\n      return getMemoizedProps(_offset, combineTargetFor, true);\n    }\n\n    if (isAfterCriticalInVirtualList) {\n      return getFallback(combineTargetFor);\n    }\n\n    var displaceBy = impact.displacedBy.point;\n    var offset = memoizedOffset(displaceBy.x, displaceBy.y);\n    return getMemoizedProps(offset, combineTargetFor, visualDisplacement.shouldAnimate);\n  };\n\n  var selector = function selector(state, ownProps) {\n    if (state.isDragging) {\n      if (state.critical.draggable.id === ownProps.draggableId) {\n        return null;\n      }\n\n      return getProps(ownProps.draggableId, state.critical.draggable.id, state.impact, state.afterCritical);\n    }\n\n    if (state.phase === 'DROP_ANIMATING') {\n      var completed = state.completed;\n\n      if (completed.result.draggableId === ownProps.draggableId) {\n        return null;\n      }\n\n      return getProps(ownProps.draggableId, completed.result.draggableId, completed.impact, completed.afterCritical);\n    }\n\n    return null;\n  };\n\n  return selector;\n}\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var draggingSelector = getDraggableSelector();\n  var secondarySelector = getSecondarySelector();\n\n  var selector = function selector(state, ownProps) {\n    return draggingSelector(state, ownProps) || secondarySelector(state, ownProps) || atRest;\n  };\n\n  return selector;\n};\nvar mapDispatchToProps = {\n  dropAnimationFinished: dropAnimationFinished\n};\nvar ConnectedDraggable = connect(makeMapStateToProps, mapDispatchToProps, null, {\n  context: StoreContext,\n  pure: true,\n  areStatePropsEqual: isStrictEqual\n})(Draggable);\n\nfunction PrivateDraggable(props) {\n  var droppableContext = useRequiredContext(DroppableContext);\n  var isUsingCloneFor = droppableContext.isUsingCloneFor;\n\n  if (isUsingCloneFor === props.draggableId && !props.isClone) {\n    return null;\n  }\n\n  return React.createElement(ConnectedDraggable, props);\n}\nfunction PublicDraggable(props) {\n  var isEnabled = typeof props.isDragDisabled === 'boolean' ? !props.isDragDisabled : true;\n  var canDragInteractiveElements = Boolean(props.disableInteractiveElementBlocking);\n  var shouldRespectForcePress = Boolean(props.shouldRespectForcePress);\n  return React.createElement(PrivateDraggable, _extends({}, props, {\n    isClone: false,\n    isEnabled: isEnabled,\n    canDragInteractiveElements: canDragInteractiveElements,\n    shouldRespectForcePress: shouldRespectForcePress\n  }));\n}\n\nfunction Droppable(props) {\n  var appContext = useContext(AppContext);\n  !appContext ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find app context') : invariant(false) : void 0;\n  var contextId = appContext.contextId,\n      isMovementAllowed = appContext.isMovementAllowed;\n  var droppableRef = useRef(null);\n  var placeholderRef = useRef(null);\n  var children = props.children,\n      droppableId = props.droppableId,\n      type = props.type,\n      mode = props.mode,\n      direction = props.direction,\n      ignoreContainerClipping = props.ignoreContainerClipping,\n      isDropDisabled = props.isDropDisabled,\n      isCombineEnabled = props.isCombineEnabled,\n      snapshot = props.snapshot,\n      useClone = props.useClone,\n      updateViewportMaxScroll = props.updateViewportMaxScroll,\n      getContainerForClone = props.getContainerForClone;\n  var getDroppableRef = useCallback(function () {\n    return droppableRef.current;\n  }, []);\n  var setDroppableRef = useCallback(function (value) {\n    droppableRef.current = value;\n  }, []);\n  var getPlaceholderRef = useCallback(function () {\n    return placeholderRef.current;\n  }, []);\n  var setPlaceholderRef = useCallback(function (value) {\n    placeholderRef.current = value;\n  }, []);\n  useValidation({\n    props: props,\n    getDroppableRef: getDroppableRef,\n    getPlaceholderRef: getPlaceholderRef\n  });\n  var onPlaceholderTransitionEnd = useCallback(function () {\n    if (isMovementAllowed()) {\n      updateViewportMaxScroll({\n        maxScroll: getMaxWindowScroll()\n      });\n    }\n  }, [isMovementAllowed, updateViewportMaxScroll]);\n  useDroppablePublisher({\n    droppableId: droppableId,\n    type: type,\n    mode: mode,\n    direction: direction,\n    isDropDisabled: isDropDisabled,\n    isCombineEnabled: isCombineEnabled,\n    ignoreContainerClipping: ignoreContainerClipping,\n    getDroppableRef: getDroppableRef\n  });\n  var placeholder = React.createElement(AnimateInOut, {\n    on: props.placeholder,\n    shouldAnimate: props.shouldAnimatePlaceholder\n  }, function (_ref) {\n    var onClose = _ref.onClose,\n        data = _ref.data,\n        animate = _ref.animate;\n    return React.createElement(Placeholder$1, {\n      placeholder: data,\n      onClose: onClose,\n      innerRef: setPlaceholderRef,\n      animate: animate,\n      contextId: contextId,\n      onTransitionEnd: onPlaceholderTransitionEnd\n    });\n  });\n  var provided = useMemo(function () {\n    return {\n      innerRef: setDroppableRef,\n      placeholder: placeholder,\n      droppableProps: {\n        'data-rbd-droppable-id': droppableId,\n        'data-rbd-droppable-context-id': contextId\n      }\n    };\n  }, [contextId, droppableId, placeholder, setDroppableRef]);\n  var isUsingCloneFor = useClone ? useClone.dragging.draggableId : null;\n  var droppableContext = useMemo(function () {\n    return {\n      droppableId: droppableId,\n      type: type,\n      isUsingCloneFor: isUsingCloneFor\n    };\n  }, [droppableId, isUsingCloneFor, type]);\n\n  function getClone() {\n    if (!useClone) {\n      return null;\n    }\n\n    var dragging = useClone.dragging,\n        render = useClone.render;\n    var node = React.createElement(PrivateDraggable, {\n      draggableId: dragging.draggableId,\n      index: dragging.source.index,\n      isClone: true,\n      isEnabled: true,\n      shouldRespectForcePress: false,\n      canDragInteractiveElements: true\n    }, function (draggableProvided, draggableSnapshot) {\n      return render(draggableProvided, draggableSnapshot, dragging);\n    });\n    return ReactDOM.createPortal(node, getContainerForClone());\n  }\n\n  return React.createElement(DroppableContext.Provider, {\n    value: droppableContext\n  }, children(provided, snapshot), getClone());\n}\n\nvar isMatchingType = function isMatchingType(type, critical) {\n  return type === critical.droppable.type;\n};\n\nvar getDraggable = function getDraggable(critical, dimensions) {\n  return dimensions.draggables[critical.draggable.id];\n};\n\nvar makeMapStateToProps$1 = function makeMapStateToProps() {\n  var idleWithAnimation = {\n    placeholder: null,\n    shouldAnimatePlaceholder: true,\n    snapshot: {\n      isDraggingOver: false,\n      draggingOverWith: null,\n      draggingFromThisWith: null,\n      isUsingPlaceholder: false\n    },\n    useClone: null\n  };\n\n  var idleWithoutAnimation = _extends({}, idleWithAnimation, {\n    shouldAnimatePlaceholder: false\n  });\n\n  var getDraggableRubric = memoizeOne(function (descriptor) {\n    return {\n      draggableId: descriptor.id,\n      type: descriptor.type,\n      source: {\n        index: descriptor.index,\n        droppableId: descriptor.droppableId\n      }\n    };\n  });\n  var getMapProps = memoizeOne(function (id, isEnabled, isDraggingOverForConsumer, isDraggingOverForImpact, dragging, renderClone) {\n    var draggableId = dragging.descriptor.id;\n    var isHome = dragging.descriptor.droppableId === id;\n\n    if (isHome) {\n      var useClone = renderClone ? {\n        render: renderClone,\n        dragging: getDraggableRubric(dragging.descriptor)\n      } : null;\n      var _snapshot = {\n        isDraggingOver: isDraggingOverForConsumer,\n        draggingOverWith: isDraggingOverForConsumer ? draggableId : null,\n        draggingFromThisWith: draggableId,\n        isUsingPlaceholder: true\n      };\n      return {\n        placeholder: dragging.placeholder,\n        shouldAnimatePlaceholder: false,\n        snapshot: _snapshot,\n        useClone: useClone\n      };\n    }\n\n    if (!isEnabled) {\n      return idleWithoutAnimation;\n    }\n\n    if (!isDraggingOverForImpact) {\n      return idleWithAnimation;\n    }\n\n    var snapshot = {\n      isDraggingOver: isDraggingOverForConsumer,\n      draggingOverWith: draggableId,\n      draggingFromThisWith: null,\n      isUsingPlaceholder: true\n    };\n    return {\n      placeholder: dragging.placeholder,\n      shouldAnimatePlaceholder: true,\n      snapshot: snapshot,\n      useClone: null\n    };\n  });\n\n  var selector = function selector(state, ownProps) {\n    var id = ownProps.droppableId;\n    var type = ownProps.type;\n    var isEnabled = !ownProps.isDropDisabled;\n    var renderClone = ownProps.renderClone;\n\n    if (state.isDragging) {\n      var critical = state.critical;\n\n      if (!isMatchingType(type, critical)) {\n        return idleWithoutAnimation;\n      }\n\n      var dragging = getDraggable(critical, state.dimensions);\n      var isDraggingOver = whatIsDraggedOver(state.impact) === id;\n      return getMapProps(id, isEnabled, isDraggingOver, isDraggingOver, dragging, renderClone);\n    }\n\n    if (state.phase === 'DROP_ANIMATING') {\n      var completed = state.completed;\n\n      if (!isMatchingType(type, completed.critical)) {\n        return idleWithoutAnimation;\n      }\n\n      var _dragging = getDraggable(completed.critical, state.dimensions);\n\n      return getMapProps(id, isEnabled, whatIsDraggedOverFromResult(completed.result) === id, whatIsDraggedOver(completed.impact) === id, _dragging, renderClone);\n    }\n\n    if (state.phase === 'IDLE' && state.completed && !state.shouldFlush) {\n      var _completed = state.completed;\n\n      if (!isMatchingType(type, _completed.critical)) {\n        return idleWithoutAnimation;\n      }\n\n      var wasOver = whatIsDraggedOver(_completed.impact) === id;\n      var wasCombining = Boolean(_completed.impact.at && _completed.impact.at.type === 'COMBINE');\n      var isHome = _completed.critical.droppable.id === id;\n\n      if (wasOver) {\n        return wasCombining ? idleWithAnimation : idleWithoutAnimation;\n      }\n\n      if (isHome) {\n        return idleWithAnimation;\n      }\n\n      return idleWithoutAnimation;\n    }\n\n    return idleWithoutAnimation;\n  };\n\n  return selector;\n};\nvar mapDispatchToProps$1 = {\n  updateViewportMaxScroll: updateViewportMaxScroll\n};\n\nfunction getBody() {\n  !document.body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'document.body is not ready') : invariant(false) : void 0;\n  return document.body;\n}\n\nvar defaultProps = {\n  mode: 'standard',\n  type: 'DEFAULT',\n  direction: 'vertical',\n  isDropDisabled: false,\n  isCombineEnabled: false,\n  ignoreContainerClipping: false,\n  renderClone: null,\n  getContainerForClone: getBody\n};\nvar ConnectedDroppable = connect(makeMapStateToProps$1, mapDispatchToProps$1, null, {\n  context: StoreContext,\n  pure: true,\n  areStatePropsEqual: isStrictEqual\n})(Droppable);\nConnectedDroppable.defaultProps = defaultProps;\n\nexport { DragDropContext, PublicDraggable as Draggable, ConnectedDroppable as Droppable, resetServerContext, useKeyboardSensor, useMouseSensor, useTouchSensor };\n","/**\n * Sets the virtual parent of an element.\n * Pass `undefined` as the `parent` to clear the virtual parent.\n *\n * @public\n */\nexport function setVirtualParent(child, parent) {\n    var virtualChild = child;\n    var virtualParent = parent;\n    if (!virtualChild._virtual) {\n        virtualChild._virtual = {\n            children: [],\n        };\n    }\n    var oldParent = virtualChild._virtual.parent;\n    if (oldParent && oldParent !== parent) {\n        // Remove the child from its old parent.\n        var index = oldParent._virtual.children.indexOf(virtualChild);\n        if (index > -1) {\n            oldParent._virtual.children.splice(index, 1);\n        }\n    }\n    virtualChild._virtual.parent = virtualParent || undefined;\n    if (virtualParent) {\n        if (!virtualParent._virtual) {\n            virtualParent._virtual = {\n                children: [],\n            };\n        }\n        virtualParent._virtual.children.push(virtualChild);\n    }\n}\n//# sourceMappingURL=setVirtualParent.js.map","import _isNil from \"lodash/isNil\";\nexport var convertCssTimeToNumber = function convertCssTimeToNumber(time) {\n  if (_isNil(time) || time === 'initial' || time === 'inherit') {\n    return 0;\n  }\n\n  var lastTwoCharacters = time.slice(-2);\n\n  if (lastTwoCharacters !== 'ms' && lastTwoCharacters[1] !== 's') {\n    return 0;\n  }\n\n  var isMs = lastTwoCharacters === 'ms';\n  var multiplier = isMs ? 1 : 1000;\n  var stringNumber = isMs ? time.slice(0, -2) : time.slice(0, -1);\n  var number = parseFloat(stringNumber);\n  return isNaN(number) ? 0 : multiplier * number;\n};\n//# sourceMappingURL=convertCssTimeToNumber.js.map\n","export default {\n  disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var 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: 1 },\n *   entered:  { opacity: 1 },\n *   exiting:  { opacity: 0 },\n *   exited:  { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\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 *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\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\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; // 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  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  var _proto = Transition.prototype;\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      if (nextStatus === ENTERING) {\n        this.performEnter(mounting);\n      } else {\n        this.performExit();\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(mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context ? this.context.isMounting : mounting;\n\n    var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n        maybeNode = _ref2[0],\n        maybeAppearing = _ref2[1];\n\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 || config.disabled) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onEnter(maybeNode, maybeAppearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(maybeNode, maybeAppearing);\n\n      _this2.onTransitionEnd(enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(maybeNode, maybeAppearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit() {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts();\n    var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n    if (!exit || config.disabled) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onExit(maybeNode);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(maybeNode);\n\n      _this3.onTransitionEnd(timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(maybeNode);\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(timeout, handler) {\n    this.setNextCallback(handler);\n    var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\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      var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n          maybeNode = _ref3[0],\n          maybeNextCallback = _ref3[1];\n\n      this.props.addEndListener(maybeNode, maybeNextCallback);\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        _in = _this$props.in,\n        _mountOnEnter = _this$props.mountOnEnter,\n        _unmountOnExit = _this$props.unmountOnExit,\n        _appear = _this$props.appear,\n        _enter = _this$props.enter,\n        _exit = _this$props.exit,\n        _timeout = _this$props.timeout,\n        _addEndListener = _this$props.addEndListener,\n        _onEnter = _this$props.onEnter,\n        _onEntering = _this$props.onEntering,\n        _onEntered = _this$props.onEntered,\n        _onExit = _this$props.onExit,\n        _onExiting = _this$props.onExiting,\n        _onExited = _this$props.onExited,\n        _nodeRef = _this$props.nodeRef,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n    return (\n      /*#__PURE__*/\n      // allows for nested Transitions\n      React.createElement(TransitionGroupContext.Provider, {\n        value: null\n      }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n    );\n  };\n\n  return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * A React reference to DOM element that need to transition:\n   * https://stackoverflow.com/a/51127130/4671932\n   *\n   *   - When `nodeRef` prop is used, `node` is not passed to callback functions\n   *      (e.g. `onEnter`) because user already has direct access to the node.\n   *   - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n   *     `nodeRef` need to be provided to `Transition` with changed `key` prop\n   *     (see\n   *     [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n   */\n  nodeRef: PropTypes.shape({\n    current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n      var value = propValue[key];\n      return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n    }\n  }),\n\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'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\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   * By default the child component does not perform the enter transition when\n   * it first mounts, regardless of the value of `in`. If you want this\n   * behavior, set both `appear` and `in` to `true`.\n   *\n   * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n   * > only adds an additional enter transition. However, in the\n   * > `<CSSTransition>` component that first enter transition does result in\n   * > additional `.appear-*` classes, that way you can choose to style it\n   * > differently.\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 = 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. Timeouts are still used as a fallback if provided.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\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   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\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   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * 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   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\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   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\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   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\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   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\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 = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","// Notice:\n// This temporary lives here, will be remove once `animation` prop will be dropped\nexport var createAnimationStyles = function createAnimationStyles(animation, theme) {\n  var animationCSSProp = {};\n  var _theme$animations = theme.animations,\n      animations = _theme$animations === void 0 ? {} : _theme$animations;\n\n  if (animation) {\n    var animationName = typeof animation === 'string' ? animation : animation.name;\n\n    if (animations[animationName]) {\n      var _animations$animation = animations[animationName],\n          keyframe = _animations$animation.keyframe,\n          duration = _animations$animation.duration,\n          delay = _animations$animation.delay,\n          direction = _animations$animation.direction,\n          fillMode = _animations$animation.fillMode,\n          iterationCount = _animations$animation.iterationCount,\n          playState = _animations$animation.playState,\n          timingFunction = _animations$animation.timingFunction,\n          keyframeParams = _animations$animation.keyframeParams;\n      var animationThemeKeyframeParams = keyframeParams || {};\n      var animationPropKeyframeParams = animation.keyframeParams;\n      var mergedKeyframeParams = typeof animation === 'string' || !animationPropKeyframeParams ? animationThemeKeyframeParams : Object.assign({}, animationThemeKeyframeParams, animationPropKeyframeParams || {});\n      var keyframeDefinition = typeof keyframe === 'string' ? keyframe : {\n        keyframe: keyframe,\n        params: mergedKeyframeParams\n      };\n\n      if (typeof animation === 'string') {\n        animationCSSProp = {\n          animationName: keyframeDefinition,\n          animationDelay: delay,\n          animationDirection: direction,\n          animationDuration: duration,\n          animationFillMode: fillMode,\n          animationIterationCount: iterationCount,\n          animationPlayState: playState,\n          animationTimingFunction: timingFunction\n        };\n      } else {\n        animationCSSProp = {\n          animationName: keyframeDefinition,\n          animationDelay: animation.delay || delay,\n          animationDirection: animation.direction || direction,\n          animationDuration: animation.duration || duration,\n          animationFillMode: animation.fillMode || fillMode,\n          animationIterationCount: animation.iterationCount || iterationCount,\n          animationPlayState: animation.playState || playState,\n          animationTimingFunction: animation.timingFunction || timingFunction\n        };\n      }\n    } else {\n      // animations was not found in the theme object\n      // TS issue, it's impossible to assign without this condition\n      // eslint-disable-next-line no-lonely-if\n      if (typeof animation === 'string') {\n        animationCSSProp = {\n          animationName: animation\n        };\n      } else {\n        animationCSSProp = Object.assign({\n          animationName: animation.name\n        }, animation.delay && {\n          animationDelay: animation.delay\n        }, animation.direction && {\n          animationDirection: animation.direction\n        }, animation.duration && {\n          animationDuration: animation.duration\n        }, animation.fillMode && {\n          animationFillMode: animation.fillMode\n        }, animation.iterationCount && {\n          animationIterationCount: animation.iterationCount\n        }, animation.playState && {\n          animationPlayState: animation.playState\n        }, animation.timingFunction && {\n          animationTimingFunction: animation.timingFunction\n        });\n      }\n    }\n  }\n\n  return animationCSSProp;\n};\n//# sourceMappingURL=createAnimationStyles.js.map\n","import _noop from \"lodash/noop\";\nimport { unstable_getStyles as getStyles, unstable_createAnimationStyles as createAnimationStyles, useFluentContext } from '@fluentui/react-bindings';\nvar animationCache = new WeakMap();\nexport var animationClassName = 'ui-animation';\nexport var useAnimationStyles = function useAnimationStyles(displayName, props) {\n  var _useFluentContext = useFluentContext(),\n      theme = _useFluentContext.theme,\n      rtl = _useFluentContext.rtl,\n      disableAnimations = _useFluentContext.disableAnimations,\n      renderer = _useFluentContext.renderer,\n      performance = _useFluentContext.performance;\n\n  if (disableAnimations) {\n    return {\n      className: animationClassName,\n      animationDuration: '0ms',\n      animationDelay: '0ms'\n    };\n  }\n\n  var animation = {\n    name: props.name,\n    keyframeParams: props.keyframeParams,\n    duration: props.duration,\n    delay: props.delay,\n    iterationCount: props.iterationCount,\n    direction: props.direction,\n    fillMode: props.fillMode,\n    playState: props.playState,\n    timingFunction: props.timingFunction\n  };\n  var cacheEnabled = performance.enableStylesCaching;\n  var cachePerTheme = {};\n  var cacheKey = '';\n\n  if (cacheEnabled) {\n    if (!animationCache.has(theme)) {\n      animationCache.set(theme, {});\n    }\n\n    cachePerTheme = animationCache.get(theme);\n    cacheKey = JSON.stringify(animation);\n\n    if (cachePerTheme[cacheKey]) {\n      return cachePerTheme[cacheKey];\n    }\n  }\n\n  var _getStyles = getStyles({\n    allDisplayNames: [displayName],\n    className: animationClassName,\n    primaryDisplayName: displayName,\n    componentProps: {},\n    inlineStylesProps: {\n      styles: createAnimationStyles(animation, theme)\n    },\n    disableAnimations: disableAnimations,\n    renderer: renderer,\n    rtl: rtl,\n    performance: {\n      enableSanitizeCssPlugin: false,\n      enableStylesCaching: false,\n      enableVariablesCaching: false,\n      enableBooleanVariablesCaching: false\n    },\n    saveDebug: _noop,\n    theme: theme,\n    telemetry: undefined\n  }),\n      classes = _getStyles.classes,\n      styles = _getStyles.styles;\n\n  var result = {\n    className: classes.root,\n    animationDuration: styles.root.animationDuration,\n    animationDelay: styles.root.animationDelay\n  };\n\n  if (cacheEnabled) {\n    cachePerTheme[cacheKey] = result;\n    animationCache.set(theme, cachePerTheme);\n  }\n\n  return result;\n};\n//# sourceMappingURL=useAnimationStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _isNil from \"lodash/isNil\";\nimport _invoke from \"lodash/invoke\";\nimport { useUnhandledProps, unstable_calculateAnimationTimeout as calculateAnimationTimeout, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { Transition } from 'react-transition-group';\nimport { childrenExist, commonPropTypes } from '../../utils';\nimport { useAnimationStyles } from './useAnimationStyles';\n\n/**\n * An Animation provides animation effects to rendered elements.\n */\nexport var Animation = /*#__PURE__*/function () {\n  var Animation = function Animation(props) {\n    var _props;\n\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Animation.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var appear = props.appear,\n        children = props.children,\n        className = props.className,\n        mountOnEnter = props.mountOnEnter,\n        timeout = props.timeout,\n        visible = props.visible,\n        unmountOnExit = props.unmountOnExit;\n\n    var handleAnimationEvent = function handleAnimationEvent(event) {\n      return function () {\n        _invoke(props, event, null, props);\n      };\n    };\n\n    var _useAnimationStyles = useAnimationStyles(Animation.displayName, props),\n        animationClasses = _useAnimationStyles.className,\n        animationDuration = _useAnimationStyles.animationDuration,\n        animationDelay = _useAnimationStyles.animationDelay;\n\n    var timeoutResult = timeout || calculateAnimationTimeout(animationDuration, animationDelay) || 0;\n    var unhandledProps = useUnhandledProps(Animation.handledProps, props);\n\n    if (_isNil(children)) {\n      setEnd();\n      return null;\n    }\n\n    var isChildrenFunction = typeof children === 'function';\n    var child = childrenExist(children) && !isChildrenFunction && React.Children.only(children);\n    var element = /*#__PURE__*/React.createElement(Transition, _extends({\n      in: visible,\n      appear: appear,\n      mountOnEnter: mountOnEnter,\n      unmountOnExit: unmountOnExit,\n      timeout: timeoutResult,\n      onEnter: handleAnimationEvent('onEnter'),\n      onEntering: handleAnimationEvent('onEntering'),\n      onEntered: handleAnimationEvent('onEntered'),\n      onExit: handleAnimationEvent('onExit'),\n      onExiting: handleAnimationEvent('onExiting'),\n      onExited: handleAnimationEvent('onExited')\n    }, unhandledProps, {\n      className: !isChildrenFunction ? cx(animationClasses, className, child == null ? void 0 : (_props = child.props) == null ? void 0 : _props.className) : ''\n    }), isChildrenFunction ? function () {\n      return children({\n        classes: cx(animationClasses, className)\n      });\n    } : child);\n    setEnd();\n    return element;\n  };\n\n  Animation.displayName = 'Animation';\n  Animation.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    accessibility: false,\n    as: false,\n    content: false,\n    children: false\n  }), {\n    children: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),\n    name: PropTypes.string,\n    delay: PropTypes.string,\n    direction: PropTypes.string,\n    duration: PropTypes.string,\n    fillMode: PropTypes.string,\n    iterationCount: PropTypes.string,\n    keyframeParams: PropTypes.object,\n    playState: PropTypes.string,\n    timingFunction: PropTypes.string,\n    visible: PropTypes.bool,\n    appear: PropTypes.bool,\n    mountOnEnter: PropTypes.bool,\n    unmountOnExit: PropTypes.bool,\n    timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n      appear: PropTypes.number,\n      enter: PropTypes.number,\n      exit: PropTypes.number\n    })]),\n    onEnter: PropTypes.func,\n    onEntering: PropTypes.func,\n    onEntered: PropTypes.func,\n    onExit: PropTypes.func,\n    onExiting: PropTypes.func,\n    onExited: PropTypes.func\n  });\n  Animation.handledProps = Object.keys(Animation.propTypes);\n  return Animation;\n}();\n//# sourceMappingURL=Animation.js.map\n","import _isNil from \"lodash/isNil\";\nimport { convertCssTimeToNumber } from './convertCssTimeToNumber';\nexport var calculateAnimationTimeout = function calculateAnimationTimeout(duration, delay) {\n  if (_isNil(duration) || duration === 'inherit' || duration === 'initial') return 0;\n  if (delay === 'inherit' || delay === 'initial') return 0;\n  return convertCssTimeToNumber(duration) + convertCssTimeToNumber(delay);\n};\n//# sourceMappingURL=calculateAnimationTimeout.js.map\n","import _includes from \"lodash/includes\";\nimport _isArray from \"lodash/isArray\";\nimport _some from \"lodash/some\";\nimport _invoke from \"lodash/invoke\";\nimport { popupBehavior, getCode, keyboardKey, SpacebarKey } from '@fluentui/accessibility';\nimport { useAccessibility, useAutoControlled, useTelemetry, useFluentContext, useTriggerElement } from '@fluentui/react-bindings';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { Unstable_NestingAuto } from '@fluentui/react-component-nesting-registry';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { elementContains, setVirtualParent } from '@fluentui/dom-utilities';\nimport { commonPropTypes, isFromKeyboard, doesNodeContainClick, setWhatInputSource } from '../../utils';\nimport { ALIGNMENTS, POSITIONS, createReferenceFromClick, Popper, AUTOSIZES } from '../../utils/positioner';\nimport { PopupContent } from './PopupContent';\nimport { createShorthandFactory } from '../../utils/factories';\nimport { isRightClick } from '../../utils/isRightClick';\nimport { PortalInner } from '../Portal/PortalInner';\nimport { Animation } from '../Animation/Animation';\nexport var popupClassName = 'ui-popup';\n/**\n * A Popup displays a non-modal, often rich content, on top of its target element.\n */\n\nexport var Popup = /*#__PURE__*/function () {\n  var Popup = function Popup(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Popup.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        align = props.align,\n        autoFocus = props.autoFocus,\n        inline = props.inline,\n        contentRef = props.contentRef,\n        flipBoundary = props.flipBoundary,\n        on = props.on,\n        mountNode = props.mountNode,\n        mouseLeaveDelay = props.mouseLeaveDelay,\n        offset = props.offset,\n        overflowBoundary = props.overflowBoundary,\n        pointing = props.pointing,\n        popperRef = props.popperRef,\n        position = props.position,\n        positionFixed = props.positionFixed,\n        renderContent = props.renderContent,\n        tabbableTrigger = props.tabbableTrigger,\n        target = props.target,\n        trapFocus = props.trapFocus,\n        trigger = props.trigger,\n        unstable_disableTether = props.unstable_disableTether,\n        unstable_pinned = props.unstable_pinned,\n        autoSize = props.autoSize;\n\n    var _useAutoControlled = useAutoControlled({\n      initialValue: false,\n      defaultValue: props.defaultOpen,\n      value: props.open\n    }),\n        open = _useAutoControlled[0],\n        setOpen = _useAutoControlled[1];\n\n    var _React$useState = React.useState(false),\n        isOpenedByRightClick = _React$useState[0],\n        setIsOpenedByRightClick = _React$useState[1];\n\n    var closeTimeoutId = React.useRef();\n    var popupContentRef = React.useRef();\n    var pointerTargetRef = React.useRef();\n    var triggerRef = React.useRef(); // focusable element which has triggered Popup, can be either triggerDomElement or the element inside it\n\n    var triggerFocusableRef = React.useRef();\n    var rightClickReferenceObject = React.useRef();\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: Popup.displayName,\n      actionHandlers: {\n        closeAndFocusTrigger: function closeAndFocusTrigger(e) {\n          e.preventDefault();\n          close(e, function () {\n            return _invoke(triggerFocusableRef.current, 'focus');\n          });\n        },\n        close: function (_close) {\n          function close(_x) {\n            return _close.apply(this, arguments);\n          }\n\n          close.toString = function () {\n            return _close.toString();\n          };\n\n          return close;\n        }(function (e) {\n          close(e);\n        }),\n        toggle: function toggle(e) {\n          e.preventDefault();\n          trySetOpen(!open, e);\n        },\n        open: function open(e) {\n          e.preventDefault();\n          setPopupOpen(true, e);\n        },\n        click: function click(e) {\n          _invoke(triggerRef.current, 'click');\n        },\n        preventScroll: function preventScroll(e) {\n          e.preventDefault();\n        },\n        stopPropagation: function stopPropagation(e) {\n          e.stopPropagation();\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          isOpenedByRightClick: isOpenedByRightClick,\n          on: on,\n          trapFocus: trapFocus,\n          tabbableTrigger: tabbableTrigger,\n          trigger: trigger,\n          inline: inline\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var handleDocumentClick = function handleDocumentClick(getRefs) {\n      return function (e) {\n        if (isOpenedByRightClick && isOutsidePopupElement(getRefs(), e)) {\n          trySetOpen(false, e);\n          rightClickReferenceObject.current = null;\n          return;\n        }\n\n        if (isOutsidePopupElementAndOutsideTriggerElement(getRefs(), e)) {\n          trySetOpen(false, e);\n        }\n      };\n    };\n\n    var handleDocumentKeyDown = function handleDocumentKeyDown(getRefs) {\n      return function (e) {\n        var keyCode = getCode(e);\n        var isMatchingKey = keyCode === keyboardKey.Enter || keyCode === SpacebarKey;\n\n        if (isMatchingKey && isOutsidePopupElementAndOutsideTriggerElement(getRefs(), e)) {\n          trySetOpen(false, e);\n        } // if focus was lost from Popup and moved to body, for e.g. when click on popup content\n        // and ESC is pressed, the last opened Popup should get closed and the trigger should get focus\n\n\n        var lastContentRef = getRefs().pop();\n        var isLastOpenedPopup = lastContentRef && lastContentRef.current === popupContentRef.current;\n        var activeDocument = context.target;\n        var bodyHasFocus = activeDocument.activeElement === activeDocument.body;\n\n        if (keyCode === keyboardKey.Escape && bodyHasFocus && isLastOpenedPopup) {\n          close(e, function () {\n            return _invoke(triggerFocusableRef.current, 'focus');\n          });\n        }\n      };\n    };\n\n    var isOutsidePopupElementAndOutsideTriggerElement = function isOutsidePopupElementAndOutsideTriggerElement(refs, e) {\n      var isOutsidePopup = isOutsidePopupElement(refs, e);\n      var isInsideTrigger = triggerRef.current && doesNodeContainClick(triggerRef.current, e, context.target);\n      return isOutsidePopup && !isInsideTrigger;\n    };\n\n    var isOutsidePopupElement = function isOutsidePopupElement(refs, e) {\n      var isInsideNested = _some(refs, function (childRef) {\n        return doesNodeContainClick(childRef.current, e, context.target);\n      });\n\n      var isOutsidePopup = popupContentRef.current && !isInsideNested;\n      return isOutsidePopup;\n    };\n\n    var getTriggerProps = function getTriggerProps(triggerElement) {\n      var triggerProps = {};\n      var normalizedOn = _isArray(on) ? on : [on];\n      /**\n       * The focus is adding the focus, blur and click event (always opening on click)\n       * If focus and context are provided, there is no need to add onClick\n       */\n\n      if (_includes(normalizedOn, 'focus')) {\n        triggerProps.onFocus = function (e) {\n          if (isFromKeyboard()) {\n            trySetOpen(true, e);\n          }\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          _invoke.apply(void 0, [triggerElement, 'props.onFocus', e].concat(args));\n        };\n\n        triggerProps.onBlur = function (e) {\n          if (shouldBlurClose(e)) {\n            trySetOpen(false, e);\n          }\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          _invoke.apply(void 0, [triggerElement, 'props.onBlur', e].concat(args));\n        };\n\n        if (!_includes(normalizedOn, 'context')) {\n          triggerProps.onClick = function (e) {\n            setPopupOpen(true, e);\n\n            for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n              args[_key3 - 1] = arguments[_key3];\n            }\n\n            _invoke.apply(void 0, [triggerElement, 'props.onClick', e].concat(args));\n          };\n        }\n      }\n      /**\n       * The click is toggling the open state of the popup\n       */\n\n\n      if (_includes(normalizedOn, 'click')) {\n        triggerProps.onClick = function (e) {\n          trySetOpen(!open, e);\n\n          for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n            args[_key4 - 1] = arguments[_key4];\n          }\n\n          _invoke.apply(void 0, [triggerElement, 'props.onClick', e].concat(args));\n        };\n      }\n      /**\n       * The context is opening the popup\n       */\n\n\n      if (_includes(normalizedOn, 'context')) {\n        triggerProps.onContextMenu = function (e) {\n          setPopupOpen(!open, e);\n\n          for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n            args[_key5 - 1] = arguments[_key5];\n          }\n\n          _invoke.apply(void 0, [triggerElement, 'props.onContextMenu', e].concat(args));\n\n          e.preventDefault();\n        };\n      }\n      /**\n       * The hover is adding the mouseEnter, mouseLeave, blur and click event (always opening on click)\n       * If hover and context are provided, there is no need to add onClick\n       */\n\n\n      if (_includes(normalizedOn, 'hover')) {\n        triggerProps.onMouseEnter = function (e) {\n          setPopupOpen(true, e);\n          setWhatInputSource(context.target, 'mouse');\n\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          _invoke.apply(void 0, [triggerElement, 'props.onMouseEnter', e].concat(args));\n        };\n\n        triggerProps.onMouseLeave = function (e) {\n          setPopupOpen(false, e);\n\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          _invoke.apply(void 0, [triggerElement, 'props.onMouseLeave', e].concat(args));\n        };\n\n        if (!_includes(normalizedOn, 'context')) {\n          triggerProps.onClick = function (e) {\n            setPopupOpen(true, e);\n\n            for (var _len8 = arguments.length, args = new Array(_len8 > 1 ? _len8 - 1 : 0), _key8 = 1; _key8 < _len8; _key8++) {\n              args[_key8 - 1] = arguments[_key8];\n            }\n\n            _invoke.apply(void 0, [triggerElement, 'props.onClick', e].concat(args));\n          };\n        }\n\n        triggerProps.onBlur = function (e) {\n          if (shouldBlurClose(e)) {\n            trySetOpen(false, e);\n          }\n\n          for (var _len9 = arguments.length, args = new Array(_len9 > 1 ? _len9 - 1 : 0), _key9 = 1; _key9 < _len9; _key9++) {\n            args[_key9 - 1] = arguments[_key9];\n          }\n\n          _invoke.apply(void 0, [triggerElement, 'props.onBlur', e].concat(args));\n        };\n      }\n\n      return triggerProps;\n    };\n\n    var getContentProps = function getContentProps(predefinedProps) {\n      var contentHandlerProps = {};\n      var normalizedOn = _isArray(on) ? on : [on];\n      /**\n       * The focus is adding the focus and blur events on the content\n       */\n\n      if (_includes(normalizedOn, 'focus')) {\n        contentHandlerProps.onFocus = function (e, contentProps) {\n          trySetOpen(true, e);\n          predefinedProps && _invoke(predefinedProps, 'onFocus', e, contentProps);\n        };\n\n        contentHandlerProps.onBlur = function (e, contentProps) {\n          if (shouldBlurClose(e)) {\n            trySetOpen(false, e);\n          }\n\n          predefinedProps && _invoke(predefinedProps, 'onBlur', e, contentProps);\n        };\n      }\n      /**\n       * The hover is adding the mouseEnter, mouseLeave\n       */\n\n\n      if (_includes(normalizedOn, 'hover')) {\n        contentHandlerProps.onMouseEnter = function (e, contentProps) {\n          setPopupOpen(true, e);\n          predefinedProps && _invoke(predefinedProps, 'onMouseEnter', e, contentProps);\n        };\n\n        contentHandlerProps.onMouseLeave = function (e, contentProps) {\n          setPopupOpen(false, e);\n          predefinedProps && _invoke(predefinedProps, 'onMouseLeave', e, contentProps);\n        };\n      }\n\n      return contentHandlerProps;\n    };\n\n    var shouldBlurClose = function shouldBlurClose(e) {\n      var relatedTarget = e.relatedTarget;\n      var isInsideContent = elementContains(popupContentRef.current, relatedTarget);\n      var isInsideTarget = elementContains(e.currentTarget, relatedTarget); // When clicking in the popup content that has no tabIndex focus goes to body\n      // We shouldn't close the popup in this case\n\n      return relatedTarget && !(isInsideContent || isInsideTarget);\n    };\n\n    var renderPopperChildren = function renderPopperChildren(classes) {\n      return function (_ref) {\n        var placement = _ref.placement,\n            scheduleUpdate = _ref.scheduleUpdate;\n        var content = renderContent ? renderContent(scheduleUpdate) : props.content;\n        var popupContent = Popup.Content.create(content || {}, {\n          defaultProps: function defaultProps() {\n            return getA11yProps('popup', Object.assign({}, getContentProps(), {\n              placement: placement,\n              pointing: pointing,\n              pointerRef: pointerTargetRef,\n              trapFocus: trapFocus,\n              autoFocus: autoFocus,\n              autoSize: autoSize,\n              className: classes\n            }));\n          },\n          overrideProps: getContentProps\n        });\n        return /*#__PURE__*/React.createElement(Unstable_NestingAuto, null, function (getRefs, nestingRef) {\n          return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n            innerRef: function innerRef(domElement) {\n              popupContentRef.current = domElement;\n              handleRef(contentRef, domElement);\n              nestingRef.current = domElement;\n            }\n          }, popupContent), context.target && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EventListener, {\n            listener: handleDocumentClick(getRefs),\n            target: context.target,\n            type: \"click\",\n            capture: true\n          }), /*#__PURE__*/React.createElement(EventListener, {\n            listener: handleDocumentClick(getRefs),\n            target: context.target,\n            type: \"contextmenu\",\n            capture: true\n          }), /*#__PURE__*/React.createElement(EventListener, {\n            listener: handleDocumentKeyDown(getRefs),\n            target: context.target,\n            type: \"keydown\",\n            capture: true\n          }), isOpenedByRightClick && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EventListener, {\n            listener: dismissOnScroll,\n            target: context.target,\n            type: \"wheel\",\n            capture: true\n          }), /*#__PURE__*/React.createElement(EventListener, {\n            listener: dismissOnScroll,\n            target: context.target,\n            type: \"touchmove\",\n            capture: true\n          }))));\n        });\n      };\n    };\n\n    var dismissOnScroll = function dismissOnScroll(e) {\n      // we only need to dismiss if the scroll happens outside the popup\n      if (!popupContentRef.current.contains(e.target)) {\n        trySetOpen(false, e);\n      }\n    };\n\n    var trySetOpen = function trySetOpen(newValue, event) {\n      var isOpenedByRightClick = newValue && isRightClick(event); // when new state 'open' === 'true', save the last focused element\n\n      if (newValue) {\n        updateTriggerFocusableRef();\n        updateContextPosition(isOpenedByRightClick && event.nativeEvent);\n      }\n\n      setOpen(newValue);\n      setIsOpenedByRightClick(isOpenedByRightClick);\n\n      _invoke(props, 'onOpenChange', event, Object.assign({}, props, {\n        open: newValue\n      }));\n    };\n\n    var setPopupOpen = function setPopupOpen(newOpen, e) {\n      clearTimeout(closeTimeoutId.current);\n      newOpen ? trySetOpen(true, e) : schedulePopupClose(e);\n    };\n\n    var schedulePopupClose = function schedulePopupClose(e) {\n      closeTimeoutId.current = setTimeout(function () {\n        trySetOpen(false, e);\n      }, mouseLeaveDelay);\n    };\n\n    var close = function close(e, onClose) {\n      if (open) {\n        trySetOpen(false, e);\n        onClose && onClose();\n        e.stopPropagation();\n      }\n    };\n    /**\n     * Save DOM element which had focus before Popup opens.\n     * Can be either trigger DOM element itself or the element inside it.\n     */\n\n\n    var updateTriggerFocusableRef = function updateTriggerFocusableRef() {\n      var _context$target;\n\n      var activeElement = (_context$target = context.target) == null ? void 0 : _context$target.activeElement;\n\n      if (activeElement) {\n        triggerFocusableRef.current = triggerRef.current && elementContains(triggerRef.current, activeElement) ? activeElement : triggerRef.current;\n      }\n    };\n\n    var updateContextPosition = function updateContextPosition(nativeEvent) {\n      rightClickReferenceObject.current = nativeEvent ? createReferenceFromClick(nativeEvent) : null;\n    };\n\n    if (process.env.NODE_ENV !== 'production') {\n      // This is fine to violate there conditional rule as environment variables will never change during component\n      // lifecycle\n      // eslint-disable-next-line react-hooks/rules-of-hooks\n      React.useEffect(function () {\n        if (inline && trapFocus) {\n          // eslint-disable-next-line no-console\n          console.warn('Using \"trapFocus\" in inline popup leads to broken behavior for screen reader users.');\n        }\n\n        if (!inline && autoFocus) {\n          // eslint-disable-next-line no-console\n          console.warn('Beware, \"autoFocus\" prop will just grab focus at the moment of mount and will not trap it. As user is able to TAB out from popup, better use \"inline\" prop to keep correct tab order.');\n        }\n      }, [autoFocus, inline, trapFocus]);\n    }\n\n    React.useEffect(function () {\n      if (open) {\n        // when new state 'open' === 'true', save the last focused element\n        updateTriggerFocusableRef();\n      }\n    });\n    var triggerNode = useTriggerElement(props);\n    var triggerProps = getTriggerProps(triggerNode);\n    React.useEffect(function () {\n      if (open) {\n        setVirtualParent(popupContentRef.current, triggerRef.current);\n      }\n\n      return function () {\n        if (open && popupContentRef.current) {\n          setVirtualParent(popupContentRef.current, null);\n        }\n      };\n    }, [open]);\n    var contentElement = /*#__PURE__*/React.createElement(Animation, {\n      mountOnEnter: true,\n      unmountOnExit: true,\n      visible: open,\n      name: open ? 'popup-show' : 'popup-hide'\n    }, function (_ref2) {\n      var classes = _ref2.classes;\n      var content = /*#__PURE__*/React.createElement(Popper, {\n        pointerTargetRef: pointerTargetRef,\n        align: align,\n        flipBoundary: flipBoundary,\n        popperRef: popperRef,\n        position: position,\n        positionFixed: positionFixed,\n        offset: offset,\n        overflowBoundary: overflowBoundary,\n        rtl: context.rtl,\n        unstable_disableTether: unstable_disableTether,\n        unstable_pinned: unstable_pinned,\n        autoSize: autoSize,\n        targetRef: rightClickReferenceObject.current || target || triggerRef\n      }, renderPopperChildren(classes));\n      return inline ? content : /*#__PURE__*/React.createElement(PortalInner, {\n        mountNode: mountNode\n      }, content);\n    });\n    var triggerElement = triggerNode && /*#__PURE__*/React.createElement(Ref, {\n      innerRef: triggerRef\n    }, /*#__PURE__*/React.cloneElement(triggerNode, getA11yProps('trigger', triggerProps)));\n    var element = /*#__PURE__*/React.createElement(React.Fragment, null, triggerElement, contentElement);\n    setEnd();\n    return element;\n  };\n\n  Popup.displayName = 'Popup';\n  Popup.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    as: false,\n    content: false\n  }), {\n    align: PropTypes.oneOf(ALIGNMENTS),\n    defaultOpen: PropTypes.bool,\n    inline: PropTypes.bool,\n    mountNode: customPropTypes.domNode,\n    mouseLeaveDelay: PropTypes.number,\n    offset: PropTypes.oneOfType([PropTypes.func, PropTypes.arrayOf(PropTypes.number)]),\n    popperRef: customPropTypes.ref,\n    flipBoundary: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object), PropTypes.oneOf(['clippingParents', 'window', 'scrollParent'])]),\n    overflowBoundary: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object), PropTypes.oneOf(['clippingParents', 'window', 'scrollParent'])]),\n    on: PropTypes.oneOfType([PropTypes.oneOf(['hover', 'click', 'focus', 'context']), PropTypes.arrayOf(PropTypes.oneOf(['click', 'focus', 'context'])), PropTypes.arrayOf(PropTypes.oneOf(['hover', 'focus', 'context']))]),\n    open: PropTypes.bool,\n    onOpenChange: PropTypes.func,\n    pointing: PropTypes.bool,\n    position: PropTypes.oneOf(POSITIONS),\n    positionFixed: PropTypes.bool,\n    renderContent: PropTypes.func,\n    target: PropTypes.any,\n    trigger: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.any]),\n    tabbableTrigger: PropTypes.bool,\n    unstable_disableTether: PropTypes.oneOf([true, false, 'all']),\n    unstable_pinned: PropTypes.bool,\n    autoSize: PropTypes.oneOf(AUTOSIZES),\n    content: customPropTypes.shorthandAllowingChildren,\n    contentRef: customPropTypes.ref,\n    trapFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n    autoFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object])\n  });\n  Popup.defaultProps = {\n    accessibility: popupBehavior,\n    align: 'start',\n    position: 'above',\n    on: 'click',\n    mouseLeaveDelay: 500,\n    tabbableTrigger: true\n  };\n  Popup.handledProps = Object.keys(Popup.propTypes);\n  Popup.Content = PopupContent;\n  Popup.create = createShorthandFactory({\n    Component: Popup,\n    mappedProp: 'content'\n  });\n  Popup.shorthandConfig = {\n    mappedProp: 'content'\n  };\n  return Popup;\n}();\n//# sourceMappingURL=Popup.js.map\n","export var isRightClick = function isRightClick(eventArgs) {\n  return eventArgs.nativeEvent && eventArgs.nativeEvent.which === 3;\n};\n//# sourceMappingURL=isRightClick.js.map\n","export function createReferenceFromClick(nativeEvent) {\n  var left = nativeEvent.clientX;\n  var top = nativeEvent.clientY;\n  var right = left + 1;\n  var bottom = top + 1;\n\n  function getBoundingClientRect() {\n    return {\n      left: left,\n      top: top,\n      right: right,\n      bottom: bottom,\n      height: 0,\n      width: 0\n    };\n  }\n\n  return {\n    getBoundingClientRect: getBoundingClientRect\n  };\n}\n//# sourceMappingURL=createReferenceFromClick.js.map\n","var baseMerge = require('./_baseMerge'),\n    createAssigner = require('./_createAssigner');\n\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 */\nvar merge = createAssigner(function(object, source, srcIndex) {\n  baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","/**\n * The function that correctly handles passing refs.\n *\n * @param ref - An ref object or function\n * @param node - A node that should be passed by ref\n */\nexport var handleRef = function handleRef(ref, node) {\n  if (process.env.NODE_ENV !== 'production') {\n    if (typeof ref === 'string') {\n      throw new Error('We do not support refs as string, this is a legacy API and will be likely to be removed in one of the future releases of React.');\n    }\n  }\n\n  if (typeof ref === 'function') {\n    ref(node);\n    return;\n  }\n\n  if (ref !== null && typeof ref === 'object') {\n    // The `current` property is defined as readonly, however it's a valid way because\n    // `ref` is a mutable object\n    ref.current = node;\n  }\n};\n/** Checks that the passed object is a valid React ref object. */\n\nexport var isRefObject = function isRefObject(ref) {\n  return (// https://github.com/facebook/react/blob/v16.8.2/packages/react-reconciler/src/ReactFiberCommitWork.js#L665\n    ref !== null && typeof ref === 'object' && ref.hasOwnProperty('current')\n  );\n};\n//# sourceMappingURL=utils.js.map\n","export var callable = function callable(possibleFunction) {\n  return function () {\n    return typeof possibleFunction === 'function' ? possibleFunction.apply(void 0, arguments) : possibleFunction;\n  };\n};\n//# sourceMappingURL=callable.js.map\n","var isFunction = require('./isFunction'),\n    isLength = require('./isLength');\n\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 */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseMatches = require('./_baseMatches'),\n    baseMatchesProperty = require('./_baseMatchesProperty'),\n    identity = require('./identity'),\n    isArray = require('./isArray'),\n    property = require('./property');\n\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 */\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  if (value == null) {\n    return identity;\n  }\n  if (typeof value == 'object') {\n    return isArray(value)\n      ? baseMatchesProperty(value[0], value[1])\n      : baseMatches(value);\n  }\n  return property(value);\n}\n\nmodule.exports = baseIteratee;\n","/**\n * Returns an object consisting of props beyond the scope of the Component.\n * Useful for getting and spreading unknown props from the user.\n *\n * @param handledProps - An array with names of props\n * @param props - A ReactElement props object\n * @returns A shallow copy of the prop object\n */\nexport function getUnhandledProps(handledProps, props) {\n  return Object.keys(props).reduce(function (acc, prop) {\n    if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];\n    return acc;\n  }, {});\n}\n//# sourceMappingURL=getUnhandledProps.js.map\n","import * as React from 'react'; // useLayoutEffect() produces a warning with SSR rendering\n// https://medium.com/@alexandereardon/uselayouteffect-and-ssr-192986cdcf7a\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' ? React.useLayoutEffect : React.useEffect;\n//# sourceMappingURL=useIsomorphicLayoutEffect.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { indicatorBehavior } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { getElementType, useUnhandledProps, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport cx from 'classnames';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Box } from '../Box/Box';\nexport var dropdownItemClassName = 'ui-dropdown__item';\nexport var dropdownItemSlotClassNames = {\n  main: dropdownItemClassName + \"__main\",\n  content: dropdownItemClassName + \"__content\",\n  header: dropdownItemClassName + \"__header\",\n  image: dropdownItemClassName + \"__image\",\n  checkableIndicator: dropdownItemClassName + \"__checkable-indicator\"\n};\n/**\n * A DropdownItem represents an option of Dropdown list.\n * Displays an item with optional rich media metadata.\n */\n\nexport var DropdownItem = /*#__PURE__*/function () {\n  var DropdownItem = function DropdownItem(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(DropdownItem.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var active = props.active,\n        accessibilityItemProps = props.accessibilityItemProps,\n        className = props.className,\n        content = props.content,\n        design = props.design,\n        header = props.header,\n        image = props.image,\n        isFromKeyboard = props.isFromKeyboard,\n        styles = props.styles,\n        checkable = props.checkable,\n        checkableIndicator = props.checkableIndicator,\n        selected = props.selected,\n        variables = props.variables;\n\n    var _useStyles = useStyles(DropdownItem.displayName, {\n      className: dropdownItemClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          active: active,\n          isFromKeyboard: isFromKeyboard,\n          selected: selected,\n          hasContent: !!content,\n          hasHeader: !!header\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(DropdownItem.handledProps, props);\n\n    var handleClick = function handleClick(e) {\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var contentElement = Box.create(content, {\n      defaultProps: function defaultProps() {\n        return {\n          className: dropdownItemSlotClassNames.content,\n          styles: resolvedStyles.content\n        };\n      }\n    });\n    var headerElement = Box.create(header, {\n      defaultProps: function defaultProps() {\n        return {\n          className: dropdownItemSlotClassNames.header,\n          styles: resolvedStyles.header\n        };\n      }\n    });\n    var endMediaElement = selected && checkable ? Box.create(checkableIndicator, {\n      defaultProps: function defaultProps() {\n        return {\n          className: dropdownItemSlotClassNames.checkableIndicator,\n          styles: resolvedStyles.checkableIndicator,\n          accessibility: indicatorBehavior\n        };\n      }\n    }) : null;\n    var imageElement = Box.create(Image.create(image, {\n      defaultProps: function defaultProps() {\n        return {\n          avatar: true,\n          className: dropdownItemSlotClassNames.image,\n          styles: resolvedStyles.image\n        };\n      }\n    }), {\n      defaultProps: function defaultProps() {\n        return {\n          className: dropdownItemSlotClassNames.image,\n          styles: resolvedStyles.media\n        };\n      }\n    });\n    var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n      className: classes.root,\n      onClick: handleClick\n    }, accessibilityItemProps, unhandledProps), imageElement, /*#__PURE__*/React.createElement(\"div\", {\n      className: cx(dropdownItemSlotClassNames.main, classes.main)\n    }, headerElement, contentElement), endMediaElement);\n    setEnd();\n    return element;\n  };\n\n  DropdownItem.displayName = 'DropdownItem';\n  DropdownItem.defaultProps = {\n    as: 'li',\n    checkableIndicator: {}\n  };\n  DropdownItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    accessibility: false,\n    children: false,\n    content: false\n  }), {\n    accessibilityItemProps: PropTypes.object,\n    active: PropTypes.bool,\n    content: customPropTypes.itemShorthand,\n    checkable: PropTypes.bool,\n    checkableIndicator: customPropTypes.shorthandAllowingChildren,\n    disabled: PropTypes.bool,\n    header: customPropTypes.itemShorthand,\n    image: customPropTypes.itemShorthandWithoutJSX,\n    onClick: PropTypes.func,\n    isFromKeyboard: PropTypes.bool,\n    selected: PropTypes.bool\n  });\n  DropdownItem.handledProps = Object.keys(DropdownItem.propTypes);\n  DropdownItem.create = createShorthandFactory({\n    Component: DropdownItem,\n    mappedProp: 'header'\n  });\n  return DropdownItem;\n}();\n//# sourceMappingURL=DropdownItem.js.map\n","export var toCompactArray = function toCompactArray() {\n  var _ref;\n\n  return (_ref = []).concat.apply(_ref, arguments).filter(Boolean);\n};\n//# sourceMappingURL=toCompactArray.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _forEach from \"lodash/forEach\";\nimport _keys from \"lodash/keys\";\nimport _map from \"lodash/map\";\nimport _union from \"lodash/union\";\nimport _merge from \"lodash/merge\";\nimport { callable } from './callable';\nimport { isEnabled as isDebugEnabled } from './debugEnabled';\nimport { deepmerge } from './deepmerge';\nimport { objectKeyToValues } from './objectKeysToValues';\nimport { toCompactArray } from './toCompactArray';\nimport { withDebugId } from './withDebugId';\nexport var emptyTheme = {\n  siteVariables: {\n    fontSizes: {}\n  },\n  componentVariables: {},\n  componentStyles: {},\n  fontFaces: [],\n  staticStyles: [],\n  animations: {}\n}; // ----------------------------------------\n// Component level merge functions\n// ----------------------------------------\n\n/**\n * Merges a single component's styles (keyed by component part) with another component's styles.\n */\n\nexport var mergeComponentStyles__PROD = function mergeComponentStyles__PROD(stylesA, stylesB) {\n  var result = {};\n\n  if (stylesA) {\n    Object.keys(stylesA).forEach(function (partName) {\n      var slotA = stylesA[partName];\n      var slotB = stylesB == null ? void 0 : stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n      if (typeof slotA === 'undefined' || slotA === null) {\n        return;\n      } // no target means source doesn't need to merge onto anything\n      // just ensure source is callable (prepared format)\n\n\n      if (typeof slotB === 'undefined' || slotB === null) {\n        result[partName] = typeof slotA === 'function' ? slotA : function () {\n          return slotA;\n        };\n        return;\n      }\n\n      if (slotA === slotB) {\n        result[partName] = typeof slotA === 'function' ? slotA : function () {\n          return slotA;\n        };\n      }\n    });\n  }\n\n  if (stylesB) {\n    Object.keys(stylesB).forEach(function (partName) {\n      var slotA = stylesA == null ? void 0 : stylesA[partName];\n      var slotB = stylesB[partName]; // if there is no source, merging is a no-op, skip it\n\n      if (typeof slotB === 'undefined' || slotB === null) {\n        return;\n      } // no target means source doesn't need to merge onto anything\n      // just ensure source is callable (prepared format)\n\n\n      if (typeof slotA === 'undefined' || slotA === null) {\n        result[partName] = typeof slotB === 'function' ? slotB : function () {\n          return slotB;\n        };\n        return;\n      }\n\n      if (slotA === slotB) {\n        return;\n      } // We have both target and source, replace with merge fn\n\n\n      result[partName] = function mergedStyleFunction(styleParam) {\n        // originalTarget is always prepared, fn is guaranteed\n        return _merge(typeof slotA === 'function' ? slotA(styleParam) : slotA, typeof slotB === 'function' ? slotB(styleParam) : slotB);\n      };\n    });\n  }\n\n  return result;\n};\nexport var mergeComponentStyles__DEV = function mergeComponentStyles__DEV(stylesA, stylesB) {\n  if (!isDebugEnabled) {\n    return mergeComponentStyles__PROD(stylesA, stylesB);\n  }\n\n  var mergedKeys = [].concat(stylesA ? Object.keys(stylesA) : [], stylesB ? Object.keys(stylesB) : []);\n  var result = {};\n  mergedKeys.forEach(function (slotName) {\n    var slotA = function slotA(styleParam) {\n      var _ref = callable(stylesA == null ? void 0 : stylesA[slotName])(styleParam) || {},\n          _ref$_debug = _ref._debug,\n          _debug = _ref$_debug === void 0 ? undefined : _ref$_debug,\n          styles = _objectWithoutPropertiesLoose(_ref, [\"_debug\"]); // new object required to prevent circular JSON structure error in <Debug />\n\n\n      return Object.assign({}, styles, {\n        _debug: _debug || [{\n          styles: Object.assign({}, styles),\n          debugId: stylesA._debugId\n        }]\n      });\n    };\n\n    var slotB = function slotB(styleParam) {\n      var _ref2 = callable(stylesB == null ? void 0 : stylesB[slotName])(styleParam) || {},\n          _ref2$_debug = _ref2._debug,\n          _debug = _ref2$_debug === void 0 ? undefined : _ref2$_debug,\n          styles = _objectWithoutPropertiesLoose(_ref2, [\"_debug\"]); // new object required to prevent circular JSON structure error in <Debug />\n\n\n      return Object.assign({}, styles, {\n        _debug: _debug || [{\n          styles: Object.assign({}, styles),\n          debugId: stylesB._debugId\n        }]\n      });\n    };\n\n    if (stylesA != null && stylesA[slotName] && stylesB != null && stylesB[slotName]) {\n      // We have both, replace with merge fn\n      result[slotName] = function (styleParam) {\n        // slot* are always prepared, fn is guaranteed, _debug always exists\n        var _slotA = slotA(styleParam),\n            debugA = _slotA._debug,\n            resolvedStylesA = _objectWithoutPropertiesLoose(_slotA, [\"_debug\"]);\n\n        var _slotB = slotB(styleParam),\n            debugB = _slotB._debug,\n            resolvedStylesB = _objectWithoutPropertiesLoose(_slotB, [\"_debug\"]);\n\n        var merged = _merge(resolvedStylesA, resolvedStylesB);\n\n        merged._debug = debugA.concat(debugB || {\n          styles: resolvedStylesB,\n          debugId: resolvedStylesB._debugId\n        });\n        return merged;\n      };\n    } else if (stylesA != null && stylesA[slotName]) {\n      result[slotName] = slotA;\n    } else if (stylesB != null && stylesB[slotName]) {\n      result[slotName] = slotB;\n    }\n  });\n  return result;\n};\nexport var mergeComponentStyles = process.env.NODE_ENV === 'production' ? mergeComponentStyles__PROD : mergeComponentStyles__DEV;\n/**\n * Merges a single component's variables with another component's variables.\n */\n\nexport var mergeComponentVariables__PROD = function mergeComponentVariables__PROD() {\n  var initial = function initial() {\n    return {};\n  }; // filtering is required as some arguments can be undefined\n\n\n  for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n    sources[_key] = arguments[_key];\n  }\n\n  var filteredSources = sources.filter(Boolean); // a short circle to avoid calls of deepmerge()\n\n  if (filteredSources.length === 1) {\n    return typeof filteredSources[0] === 'function' ? filteredSources[0] : callable(filteredSources[0]);\n  }\n\n  return filteredSources.reduce(function (acc, next) {\n    return function mergeComponentVariables() {\n      var accumulatedVariables = acc.apply(void 0, arguments);\n      var fn = typeof next === 'function' ? next : callable(next);\n      var computedComponentVariables = fn.apply(void 0, arguments);\n      return deepmerge(accumulatedVariables, computedComponentVariables);\n    };\n  }, initial);\n};\nexport var mergeComponentVariables__DEV = function mergeComponentVariables__DEV() {\n  for (var _len2 = arguments.length, sources = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    sources[_key2] = arguments[_key2];\n  }\n\n  if (!isDebugEnabled) {\n    return mergeComponentVariables__PROD.apply(void 0, sources);\n  }\n\n  var initial = function initial() {\n    return {};\n  };\n\n  return sources.reduce(function (acc, next) {\n    return function (siteVariables) {\n      var _acc = acc(siteVariables),\n          _acc$_debug = _acc._debug,\n          _debug = _acc$_debug === void 0 ? [] : _acc$_debug,\n          accumulatedVariables = _objectWithoutPropertiesLoose(_acc, [\"_debug\"]);\n\n      var _ref3 = callable(next)(siteVariables) || {},\n          _ref3$_debug = _ref3._debug,\n          computedDebug = _ref3$_debug === void 0 ? undefined : _ref3$_debug,\n          _ref3$_debugId = _ref3._debugId,\n          _debugId = _ref3$_debugId === void 0 ? undefined : _ref3$_debugId,\n          computedComponentVariables = _objectWithoutPropertiesLoose(_ref3, [\"_debug\", \"_debugId\"]);\n\n      var merged = deepmerge(accumulatedVariables, computedComponentVariables);\n      merged._debug = _debug.concat(computedDebug || {\n        resolved: computedComponentVariables,\n        debugId: _debugId,\n        input: siteVariables ? siteVariables._invertedKeys && callable(next)(siteVariables._invertedKeys) : callable(next)()\n      });\n      return merged;\n    };\n  }, initial);\n};\nexport var mergeComponentVariables = process.env.NODE_ENV === 'production' ? mergeComponentVariables__PROD : mergeComponentVariables__DEV; // ----------------------------------------\n// Theme level merge functions\n// ----------------------------------------\n\n/**\n * Site variables can safely be merged at each Provider in the tree.\n * They are flat objects and do not depend on render-time values, such as props.\n */\n\nexport var mergeSiteVariables__PROD = function mergeSiteVariables__PROD() {\n  var initial = {\n    fontSizes: {}\n  };\n\n  for (var _len3 = arguments.length, sources = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n    sources[_key3] = arguments[_key3];\n  }\n\n  return deepmerge.apply(void 0, [initial].concat(sources));\n};\nexport var mergeSiteVariables__DEV = function mergeSiteVariables__DEV() {\n  for (var _len4 = arguments.length, sources = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n    sources[_key4] = arguments[_key4];\n  }\n\n  if (!isDebugEnabled) {\n    return mergeSiteVariables__PROD.apply(void 0, sources);\n  }\n\n  var initial = {\n    fontSizes: {}\n  };\n  return sources.reduce(function (acc, next) {\n    var _acc$_debug2 = acc._debug,\n        _debug = _acc$_debug2 === void 0 ? [] : _acc$_debug2,\n        accumulatedSiteVariables = _objectWithoutPropertiesLoose(acc, [\"_debug\"]);\n\n    var _ref4 = next || {},\n        _ref4$_debug = _ref4._debug,\n        computedDebug = _ref4$_debug === void 0 ? undefined : _ref4$_debug,\n        _ref4$_invertedKeys = _ref4._invertedKeys,\n        _invertedKeys = _ref4$_invertedKeys === void 0 ? undefined : _ref4$_invertedKeys,\n        _ref4$_debugId = _ref4._debugId,\n        _debugId = _ref4$_debugId === void 0 ? undefined : _ref4$_debugId,\n        nextSiteVariables = _objectWithoutPropertiesLoose(_ref4, [\"_debug\", \"_invertedKeys\", \"_debugId\"]);\n\n    var merged = deepmerge(Object.assign({}, accumulatedSiteVariables, {\n      _invertedKeys: undefined\n    }), nextSiteVariables);\n    merged._debug = _debug.concat(computedDebug || {\n      resolved: nextSiteVariables,\n      debugId: _debugId\n    });\n    merged._invertedKeys = _invertedKeys || objectKeyToValues(merged, function (key) {\n      return \"siteVariables.\" + key;\n    });\n    return merged;\n  }, initial);\n};\nexport var mergeSiteVariables = process.env.NODE_ENV === 'production' ? mergeSiteVariables__PROD : mergeSiteVariables__DEV;\n/**\n * Component variables can be objects, functions, or an array of these.\n * The functions must be called with the final result of siteVariables, otherwise\n *   the component variable objects would have no ability to apply siteVariables.\n * Therefore, componentVariables must be resolved by the component at render time.\n * We instead pass down call stack of component variable functions to be resolved later.\n */\n\nexport var mergeThemeVariables__PROD = function mergeThemeVariables__PROD() {\n  for (var _len5 = arguments.length, sources = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n    sources[_key5] = arguments[_key5];\n  }\n\n  var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n  return displayNames.reduce(function (componentVariables, displayName) {\n    componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, displayName));\n    return componentVariables;\n  }, {});\n};\nexport var mergeThemeVariables__DEV = function mergeThemeVariables__DEV() {\n  for (var _len6 = arguments.length, sources = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n    sources[_key6] = arguments[_key6];\n  }\n\n  if (!isDebugEnabled) {\n    return mergeThemeVariables__PROD.apply(void 0, sources);\n  }\n\n  var displayNames = _union.apply(void 0, _map(sources, _keys));\n\n  return displayNames.reduce(function (componentVariables, displayName) {\n    componentVariables[displayName] = mergeComponentVariables.apply(void 0, _map(sources, function (source) {\n      return source && withDebugId(source[displayName], source._debugId);\n    }));\n    return componentVariables;\n  }, {});\n};\nexport var mergeThemeVariables = process.env.NODE_ENV === 'production' ? mergeThemeVariables__PROD : mergeThemeVariables__DEV;\n/**\n * See mergeThemeVariables() description.\n * Component styles adhere to the same pattern as component variables, except\n *   that they return style objects.\n */\n\nexport var mergeThemeStyles = function mergeThemeStyles() {\n  var initial = {};\n\n  for (var _len7 = arguments.length, sources = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n    sources[_key7] = arguments[_key7];\n  }\n\n  return sources.reduce(function (themeComponentStyles, next) {\n    _forEach(next, function (stylesByPart, displayName) {\n      themeComponentStyles[displayName] = mergeComponentStyles(themeComponentStyles[displayName], withDebugId(stylesByPart, next._debugId));\n    });\n\n    return themeComponentStyles;\n  }, initial);\n};\nexport var mergeFontFaces = function mergeFontFaces() {\n  return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeStaticStyles = function mergeStaticStyles() {\n  return toCompactArray.apply(void 0, arguments);\n};\nexport var mergeAnimations = function mergeAnimations() {\n  for (var _len8 = arguments.length, sources = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n    sources[_key8] = arguments[_key8];\n  }\n\n  return Object.assign.apply(Object, [{}].concat(sources));\n};\nexport var mergeStyles = function mergeStyles() {\n  for (var _len9 = arguments.length, sources = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n    sources[_key9] = arguments[_key9];\n  }\n\n  return function () {\n    for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n      args[_key10] = arguments[_key10];\n    }\n\n    return sources.reduce(function (acc, next) {\n      return _merge(acc, callable(next).apply(void 0, args));\n    }, {});\n  };\n};\nexport var mergeThemes = function mergeThemes() {\n  for (var _len11 = arguments.length, themes = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n    themes[_key11] = arguments[_key11];\n  }\n\n  return themes.reduce(function (acc, next) {\n    if (!next) return acc;\n    var nextDebugId = next['_debugId'];\n    acc.siteVariables = mergeSiteVariables(acc.siteVariables, withDebugId(next.siteVariables, nextDebugId));\n    acc.componentVariables = mergeThemeVariables(acc.componentVariables, withDebugId(next.componentVariables, nextDebugId));\n    acc.componentStyles = mergeThemeStyles(acc.componentStyles, withDebugId(next.componentStyles, nextDebugId));\n    acc.fontFaces = mergeFontFaces.apply(void 0, acc.fontFaces.concat(next.fontFaces || []));\n    acc.staticStyles = mergeStaticStyles.apply(void 0, acc.staticStyles.concat(next.staticStyles || []));\n    acc.animations = mergeAnimations(acc.animations, next.animations);\n    return acc;\n  }, // .reduce() will modify \"emptyTheme\" object, so we should clone it before actual usage\n  Object.assign({}, emptyTheme));\n};\n//# sourceMappingURL=mergeThemes.js.map\n","/**\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;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\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 */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var arrayEach = require('./_arrayEach'),\n    baseEach = require('./_baseEach'),\n    castFunction = require('./_castFunction'),\n    isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\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|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n *   console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n *   console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n  var func = isArray(collection) ? arrayEach : baseEach;\n  return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;\n","var baseFindIndex = require('./_baseFindIndex'),\n    baseIteratee = require('./_baseIteratee'),\n    toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n *   { 'user': 'barney',  'active': false },\n *   { 'user': 'fred',    'active': false },\n *   { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n  var length = array == null ? 0 : array.length;\n  if (!length) {\n    return -1;\n  }\n  var index = fromIndex == null ? 0 : toInteger(fromIndex);\n  if (index < 0) {\n    index = nativeMax(length + index, 0);\n  }\n  return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n  return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","import React from \"react\";\nimport { Provider as FluentUIThemeProvider, mergeThemes, } from \"@fluentui/react-northstar\";\nimport { teamsNextVariableAssignments, themes } from \"../../lib/withTheme\";\nimport { TeamsTheme } from \"../../themes\";\nvar getLocalTheme = function (themeKey) {\n    return {\n        componentStyles: {\n            Avatar: {\n                root: {\n                    borderRadius: \"9999px\",\n                },\n                image: {\n                    borderWidth: \"1px\",\n                    borderStyle: \"solid\",\n                },\n                label: {\n                    borderWidth: \"1px\",\n                    borderStyle: \"solid\",\n                },\n            },\n            Box: {\n                root: function (_a) {\n                    var variables = _a.variables;\n                    return ({\n                        \"&::after\": {\n                            borderColor: variables.borderFocus,\n                            backgroundColor: variables.separatorColor,\n                        },\n                        \"&::before\": {\n                            borderColor: variables.borderFocusWithin,\n                        },\n                    });\n                },\n            },\n            Card: {\n                root: function (_a) {\n                    var variables = _a.variables, theme = _a.theme;\n                    return {\n                        padding: \"0\",\n                        backgroundColor: variables.backgroundColor,\n                        borderWidth: theme.siteVariables.theme === TeamsTheme.HighContrast ? \"1px\" : 0,\n                        \"--separator-color\": theme.siteVariables.colorScheme.default.border1,\n                        \"--content-color-secondary\": theme.siteVariables.colorScheme.default.foreground2,\n                        \"--surface-background-color\": theme.siteVariables.colorScheme.default.background,\n                        \"&:hover\": {\n                            \"--surface-background-color\": theme.siteVariables.theme === TeamsTheme.HighContrast\n                                ? theme.siteVariables.colorScheme.default.backgroundHover3\n                                : theme.siteVariables.colorScheme.default.backgroundHover1,\n                        },\n                    };\n                },\n            },\n            CardBody: {\n                root: {\n                    margin: \"0 1.25rem .75rem 1.25rem\",\n                },\n            },\n            CardFooter: {\n                root: {\n                    marginTop: \"1.625rem\",\n                    marginLeft: \"1.25rem\",\n                    marginRight: \"1.25rem\",\n                    marginBottom: 0,\n                    \"&::before\": {\n                        content: '\"\"',\n                        display: \"block\",\n                        height: \"1px\",\n                        backgroundColor: \"var(--separator-color)\",\n                        position: \"relative\",\n                        top: \"-.5rem\",\n                    },\n                },\n            },\n            PopupContent: {\n                content: {\n                    padding: \".5rem 0\",\n                },\n            },\n        },\n        staticStyles: [\n            \"html[data-whatinput=\\\"keyboard\\\"] .board__lane:focus::before {\\n        z-index: 2;\\n        top: 1px; bottom: 1px; left: 2px; right: 3px;\\n      }\",\n            \"html[data-whatinput=\\\"keyboard\\\"] .board__lane:focus::after {\\n        z-index: 2;\\n        top: 0; bottom: 0; left: 1px; right: 2px;\\n      }\",\n        ],\n    };\n};\nexport var BoardTheme = function (_a) {\n    var _b;\n    var globalTheme = _a.globalTheme, children = _a.children, style = _a.style;\n    var mainTheme = ((_b = globalTheme.siteVariables) === null || _b === void 0 ? void 0 : _b.theme) ? globalTheme\n        : themes.teamsTheme;\n    return (React.createElement(FluentUIThemeProvider, { theme: mergeThemes(mainTheme, teamsNextVariableAssignments, getLocalTheme(globalTheme.siteVariables.theme)), style: style }, children));\n};\n//# sourceMappingURL=BoardTheme.js.map","import set from \"lodash/set\";\nexport default (function (target, setMultiple) {\n    return Object.keys(setMultiple).reduce(function (acc, path) {\n        return set(acc, path, setMultiple[path]);\n    }, target);\n});\n//# sourceMappingURL=setMultiple.js.map","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var formMessageClassName = 'ui-form__message';\n/**\n * An FormMessage provides a slot for message in the FormField.\n */\n\nexport var FormMessage = /*#__PURE__*/function () {\n  var FormMessage = compose(Box, {\n    className: formMessageClassName,\n    displayName: 'FormMessage',\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var error = _ref.error;\n      return {\n        error: error\n      };\n    },\n    handledProps: ['error'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  FormMessage.defaultProps = {\n    as: 'span'\n  };\n  FormMessage.propTypes = commonPropTypes.createCommon();\n  return FormMessage;\n}();\n//# sourceMappingURL=FormMessage.js.map\n","import { formFieldBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, getOrGenerateIdFromShorthand, createShorthand } from '../../../utils';\nimport { Box } from '../../Box/Box';\nimport { getElementType, useUnhandledProps, useTelemetry, useAccessibility, useFluentContext, compose, useStyles } from '@fluentui/react-bindings';\nimport { FormLabel } from '../FormLabel';\nimport { FormMessage } from '../FormMessage';\nimport { FormFieldBaseProvider } from './formFieldBaseContext';\nexport var formFieldBaseClassName = 'ui-form__field__base';\n\n/**\n * A FormFiedBase represents a Form element containing a label and an input.\n */\nexport var _FormFieldBase = /*#__PURE__*/function () {\n  var _FormFieldBase = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var message = props.message,\n        inline = props.inline,\n        errorMessage = props.errorMessage,\n        control = props.control,\n        label = props.label,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var messageId = React.useRef();\n    messageId.current = getOrGenerateIdFromShorthand('error-message-', errorMessage || message, messageId.current);\n    var labelId = React.useRef();\n    labelId.current = getOrGenerateIdFromShorthand('form-label-', label, labelId.current);\n\n    var _useStyles = useStyles(_FormFieldBase.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: composeOptions.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          hasErrorMessage: !!errorMessage,\n          messageId: messageId.current,\n          labelId: labelId.current\n        };\n      },\n      rtl: context.rtl\n    });\n    var childProps = React.useMemo(function () {\n      return {\n        labelId: labelId.current\n      };\n    }, // TODO: create hooks for id to avoid disbaling esling for accessing the value of refs\n    // eslint-disable-next-line\n    [labelId.current]);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', {\n      className: classes.root\n    }), createShorthand(composeOptions.slots.label, label, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('label', Object.assign({\n          id: labelId.current,\n          inline: inline\n        }, slotProps.label));\n      }\n    }), /*#__PURE__*/React.createElement(FormFieldBaseProvider, {\n      value: childProps\n    }, createShorthand(composeOptions.slots.control, control || {}, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('control', Object.assign({\n          error: !!errorMessage || null,\n          ref: ref\n        }, unhandledProps, slotProps.control));\n      }\n    })), createShorthand(composeOptions.slots.message, errorMessage || message, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('message', Object.assign({\n          id: messageId.current\n        }, slotProps.message));\n      }\n    }));\n    setEnd();\n    return element;\n  }, {\n    className: formFieldBaseClassName,\n    displayName: 'FormFieldBase',\n    slots: {\n      label: FormLabel,\n      message: FormMessage,\n      control: Box\n    },\n    handledProps: ['as', 'accessibility', 'className', 'variables', 'design', 'styles', 'inline', 'errorMessage', 'message'],\n    shorthandConfig: {\n      mappedProp: 'control'\n    }\n  });\n\n  _FormFieldBase.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false\n  }), {\n    inline: PropTypes.bool,\n    message: customPropTypes.itemShorthand,\n    errorMessage: customPropTypes.itemShorthand\n  });\n  _FormFieldBase.defaultProps = {\n    accessibility: formFieldBehavior\n  };\n  return _FormFieldBase;\n}();\n//# sourceMappingURL=formFieldBase.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nexport var buttonBehavior = function buttonBehavior(props) {\n  var definition = {\n    attributes: {\n      root: {\n        role: props.as === 'button' ? undefined : 'button',\n        tabIndex: props.as === 'button' || props.disabled ? undefined : 0,\n        disabled: props.as === 'button' ? props.disabled : undefined,\n        'aria-disabled': props.disabledFocusable\n      }\n    },\n    keyActions: {\n      root: Object.assign({}, props.as !== 'button' && props.as !== 'a' && {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      })\n    }\n  };\n\n  if (process.env.NODE_ENV !== 'production') {\n    // Override the default trigger's accessibility schema class.\n    if (props.disabledFocusable) {\n      definition.attributes.root['data-aa-class'] = 'DisabledFocusableButton';\n    }\n  }\n\n  return definition;\n};\n//# sourceMappingURL=buttonBehavior.js.map\n","/**\n * @description\n * Loader is usually an element that displays the progress status for a task that take a long time or consists of several steps.\n * Adds attribute 'aria-labelledby' on 'root' when loader has 'tabIndex' prop. This can be overriden by providing 'aria-labelledby' or 'aria-label' property directly to the component.\n *\n * @specification\n * Adds role 'progressbar' to 'root' slot.\n */\nexport var loaderBehavior = function loaderBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'progressbar',\n        'aria-labelledby': getDefaultAriaLabelledBy(props)\n      }\n    }\n  };\n};\n\n/**\n * Returns the id of the loader label if user provide tabIndex prop. It is used when user does not provide aria-label or\n * aria-labelledby as prop.\n */\nvar getDefaultAriaLabelledBy = function getDefaultAriaLabelledBy(props) {\n  if (props['aria-label'] || props['aria-labelledby']) {\n    return undefined;\n  }\n\n  return props['tabIndex'] === undefined ? undefined : props.labelId;\n};\n//# sourceMappingURL=loaderBehavior.js.map\n","import { loaderBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { useTelemetry, useFluentContext, getElementType, useUnhandledProps, useStyles, useAccessibility } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, getOrGenerateIdFromShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Text } from '../Text/Text';\nexport var loaderClassName = 'ui-loader';\nexport var loaderSlotClassNames = {\n  indicator: loaderClassName + \"__indicator\",\n  label: loaderClassName + \"__label\",\n  svg: loaderClassName + \"__svg\"\n};\n\n/**\n * A loader alerts a user that content is being loaded or processed and they should wait for the activity to complete.\n *\n * @accessibility\n * Implements [ARIA progressbar](https://www.w3.org/TR/wai-aria-1.1/#progressbar) role.\n */\nexport var Loader = /*#__PURE__*/function () {\n  var Loader = function Loader(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Loader.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var delay = props.delay,\n        label = props.label,\n        indicator = props.indicator,\n        svg = props.svg,\n        inline = props.inline,\n        labelPosition = props.labelPosition,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        size = props.size;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Loader.handledProps, props);\n    var delayTimer = React.useRef();\n\n    var _React$useState = React.useState(props.delay === 0),\n        visible = _React$useState[0],\n        setVisible = _React$useState[1];\n\n    var labelId = React.useRef();\n    labelId.current = getOrGenerateIdFromShorthand('loader-label-', label, labelId.current);\n\n    var _useStyles = useStyles(Loader.displayName, {\n      className: loaderClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          inline: inline,\n          labelPosition: labelPosition,\n          size: size\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: Loader.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          labelId: labelId.current\n        };\n      },\n      rtl: context.rtl\n    });\n    React.useEffect(function () {\n      if (delay > 0) {\n        // @ts-ignore We have a collision between types from DOM and @types/node\n        delayTimer.current = setTimeout(function () {\n          setVisible(true);\n        }, delay);\n      }\n\n      return function () {\n        return clearTimeout(delayTimer.current);\n      };\n    }, [delay]);\n    var svgElement = Box.create(svg, {\n      defaultProps: function defaultProps() {\n        return {\n          className: loaderSlotClassNames.svg,\n          styles: resolvedStyles.svg\n        };\n      }\n    });\n    var element = visible && /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), Box.create(indicator, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('indicator', {\n          children: svgElement,\n          className: loaderSlotClassNames.indicator,\n          styles: resolvedStyles.indicator\n        });\n      }\n    }), Text.create(label, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('label', {\n          className: loaderSlotClassNames.label,\n          styles: resolvedStyles.label,\n          id: labelId.current\n        });\n      }\n    }));\n    setEnd();\n    return element;\n  };\n\n  Loader.displayName = 'Loader';\n  Loader.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: false\n  }), {\n    delay: PropTypes.number,\n    indicator: customPropTypes.itemShorthand,\n    inline: PropTypes.bool,\n    label: customPropTypes.itemShorthand,\n    labelPosition: PropTypes.oneOf(['above', 'below', 'start', 'end']),\n    size: customPropTypes.size,\n    svg: customPropTypes.itemShorthand\n  });\n  Loader.defaultProps = {\n    accessibility: loaderBehavior,\n    delay: 0,\n    indicator: {},\n    labelPosition: 'below',\n    svg: '',\n    size: 'medium'\n  };\n  Loader.handledProps = Object.keys(Loader.propTypes);\n  Loader.create = createShorthandFactory({\n    Component: Loader,\n    mappedProp: 'label'\n  });\n  Loader.shorthandConfig = {\n    mappedProp: 'label'\n  };\n  return Loader;\n}();\n//# sourceMappingURL=Loader.js.map\n","import { isEnabled as isDebugEnabled } from './debugEnabled';\nexport var withDebugId = process.env.NODE_ENV === 'production' ? function (data, debugId) {\n  return data;\n} : function (data, debugId) {\n  if (!isDebugEnabled || debugId === undefined) {\n    return data;\n  }\n\n  if (typeof data === 'object' && data !== null) {\n    if (!Object.prototype.hasOwnProperty.call(data, '_debugId')) {\n      var copy = Object.assign({}, data);\n      Object.defineProperty(copy, '_debugId', {\n        value: debugId,\n        writable: false,\n        enumerable: false\n      });\n      return copy;\n    }\n  }\n\n  if (typeof data === 'function') {\n    return function () {\n      var result = data.apply(void 0, arguments);\n      return withDebugId(result, debugId);\n    };\n  }\n\n  return data;\n};\n//# sourceMappingURL=withDebugId.js.map\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nimport React from \"react\";\nimport { mergeThemes, Provider as FluentUIThemeProvider, } from \"@fluentui/react-northstar\";\nimport { teamsNextVariableAssignments, themes } from \"../../lib/withTheme\";\nimport { TeamsTheme } from \"../../themes\";\nimport { Surface } from \"../../types/types\";\nvar getLocalTheme = function (themeName, surface) {\n    return {\n        componentStyles: {\n            Dropdown: {\n                container: function () {\n                    var border = {\n                        borderTopWidth: themeName === TeamsTheme.HighContrast ? \"1px\" : 0,\n                        borderRightWidth: themeName === TeamsTheme.HighContrast ? \"1px\" : 0,\n                        borderBottomWidth: themeName === TeamsTheme.HighContrast ? \"2px\" : 0,\n                        borderLeftWidth: themeName === TeamsTheme.HighContrast ? \"1px\" : 0,\n                    };\n                    return __assign(__assign({ backgroundColor: \"var(--input-background)\" }, border), { \"&:hover\": __assign({ backgroundColor: \"var(--input-background)\" }, border), \"&:focus\": __assign({ backgroundColor: \"var(--input-background)\" }, border) });\n                },\n                triggerButton: function () { return ({\n                    \"&:hover\": { backgroundColor: \"inherit\", borderColor: \"transparent\" },\n                }); },\n            },\n            FormLabel: {\n                root: function (_a) {\n                    var theme = _a.theme;\n                    return ({\n                        color: theme.siteVariables.colorScheme.default.foreground1,\n                        fontSize: \".75rem\",\n                    });\n                },\n            },\n            Input: {\n                input: function () { return ({ backgroundColor: \"var(--input-background)\" }); },\n            },\n            InputLabel: {\n                root: function (_a) {\n                    var theme = _a.theme;\n                    return ({\n                        color: theme.siteVariables.colorScheme.default.foreground1,\n                        fontSize: \".75rem\",\n                    });\n                },\n            },\n            TextArea: {\n                root: function () { return ({ backgroundColor: \"var(--input-background)\" }); },\n            },\n        },\n    };\n};\nexport var FormTheme = function (_a) {\n    var _b;\n    var globalTheme = _a.globalTheme, children = _a.children, surface = _a.surface, styles = _a.styles;\n    var mainTheme = ((_b = globalTheme.siteVariables) === null || _b === void 0 ? void 0 : _b.theme) ? globalTheme\n        : themes.teamsTheme;\n    var cssProperties = (function () {\n        switch (surface) {\n            case Surface.base:\n                return {\n                    background: \"transparent\",\n                    \"--surface-background\": globalTheme.siteVariables.colorScheme.default.background2,\n                    \"--overlay-background\": globalTheme.siteVariables.colorScheme.default.background,\n                    \"--shadow-background\": globalTheme.siteVariables.colorScheme.default.border2,\n                    \"--input-background\": globalTheme.siteVariables.colorScheme.default.background,\n                };\n            case Surface.raised:\n                return {\n                    background: \"transparent\",\n                    \"--surface-background\": \"transparent\",\n                    \"--overlay-background\": globalTheme.siteVariables.colorScheme.default.background,\n                    \"--shadow-background\": globalTheme.siteVariables.colorScheme.default.border1,\n                    \"--input-background\": (function () {\n                        var _a;\n                        switch ((_a = mainTheme.siteVariables) === null || _a === void 0 ? void 0 : _a.theme) {\n                            case TeamsTheme.Dark:\n                                return globalTheme.siteVariables.colorScheme.default\n                                    .background1;\n                            default:\n                                return globalTheme.siteVariables.colorScheme.default\n                                    .background2;\n                        }\n                    })(),\n                };\n        }\n    })();\n    return (React.createElement(FluentUIThemeProvider, { theme: mergeThemes(mainTheme, teamsNextVariableAssignments, getLocalTheme(globalTheme.siteVariables.theme, surface)), styles: __assign(__assign({}, cssProperties), styles) }, children));\n};\n//# sourceMappingURL=FormTheme.js.map","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n  ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n  callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n  return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n  return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar nullListeners = {\n  notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n  var batch = getBatch();\n  var first = null;\n  var last = null;\n  return {\n    clear: function clear() {\n      first = null;\n      last = null;\n    },\n    notify: function notify() {\n      batch(function () {\n        var listener = first;\n\n        while (listener) {\n          listener.callback();\n          listener = listener.next;\n        }\n      });\n    },\n    get: function get() {\n      var listeners = [];\n      var listener = first;\n\n      while (listener) {\n        listeners.push(listener);\n        listener = listener.next;\n      }\n\n      return listeners;\n    },\n    subscribe: function subscribe(callback) {\n      var isSubscribed = true;\n      var listener = last = {\n        callback: callback,\n        next: null,\n        prev: last\n      };\n\n      if (listener.prev) {\n        listener.prev.next = listener;\n      } else {\n        first = listener;\n      }\n\n      return function unsubscribe() {\n        if (!isSubscribed || first === null) return;\n        isSubscribed = false;\n\n        if (listener.next) {\n          listener.next.prev = listener.prev;\n        } else {\n          last = listener.prev;\n        }\n\n        if (listener.prev) {\n          listener.prev.next = listener.next;\n        } else {\n          first = listener.next;\n        }\n      };\n    }\n  };\n}\n\nvar Subscription = /*#__PURE__*/function () {\n  function Subscription(store, parentSub) {\n    this.store = store;\n    this.parentSub = parentSub;\n    this.unsubscribe = null;\n    this.listeners = nullListeners;\n    this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n  }\n\n  var _proto = Subscription.prototype;\n\n  _proto.addNestedSub = function addNestedSub(listener) {\n    this.trySubscribe();\n    return this.listeners.subscribe(listener);\n  };\n\n  _proto.notifyNestedSubs = function notifyNestedSubs() {\n    this.listeners.notify();\n  };\n\n  _proto.handleChangeWrapper = function handleChangeWrapper() {\n    if (this.onStateChange) {\n      this.onStateChange();\n    }\n  };\n\n  _proto.isSubscribed = function isSubscribed() {\n    return Boolean(this.unsubscribe);\n  };\n\n  _proto.trySubscribe = function trySubscribe() {\n    if (!this.unsubscribe) {\n      this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n      this.listeners = createListenerCollection();\n    }\n  };\n\n  _proto.tryUnsubscribe = function tryUnsubscribe() {\n    if (this.unsubscribe) {\n      this.unsubscribe();\n      this.unsubscribe = null;\n      this.listeners.clear();\n      this.listeners = nullListeners;\n    }\n  };\n\n  return Subscription;\n}();\n\nexport { Subscription as default };","import { useEffect, useLayoutEffect } from 'react'; // 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. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n  var store = _ref.store,\n      context = _ref.context,\n      children = _ref.children;\n  var contextValue = useMemo(function () {\n    var subscription = new Subscription(store);\n    subscription.onStateChange = subscription.notifyNestedSubs;\n    return {\n      store: store,\n      subscription: subscription\n    };\n  }, [store]);\n  var previousState = useMemo(function () {\n    return store.getState();\n  }, [store]);\n  useIsomorphicLayoutEffect(function () {\n    var subscription = contextValue.subscription;\n    subscription.trySubscribe();\n\n    if (previousState !== store.getState()) {\n      subscription.notifyNestedSubs();\n    }\n\n    return function () {\n      subscription.tryUnsubscribe();\n      subscription.onStateChange = null;\n    };\n  }, [contextValue, previousState]);\n  var Context = context || ReactReduxContext;\n  return /*#__PURE__*/React.createElement(Context.Provider, {\n    value: contextValue\n  }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  Provider.propTypes = {\n    store: PropTypes.shape({\n      subscribe: PropTypes.func.isRequired,\n      dispatch: PropTypes.func.isRequired,\n      getState: PropTypes.func.isRequired\n    }),\n    context: PropTypes.object,\n    children: PropTypes.any\n  };\n}\n\nexport default Provider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n  try {\n    return JSON.stringify(Comp);\n  } catch (err) {\n    return String(Comp);\n  }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n  var updateCount = state[1];\n  return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n  useIsomorphicLayoutEffect(function () {\n    return effectFunc.apply(void 0, effectArgs);\n  }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n  // We want to capture the wrapper props and child props we used for later comparisons\n  lastWrapperProps.current = wrapperProps;\n  lastChildProps.current = actualChildProps;\n  renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n  if (childPropsFromStoreUpdate.current) {\n    childPropsFromStoreUpdate.current = null;\n    notifyNestedSubs();\n  }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n  // If we're not subscribed to the store, nothing to do here\n  if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n  var didUnsubscribe = false;\n  var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n  var checkForUpdates = function checkForUpdates() {\n    if (didUnsubscribe) {\n      // Don't run stale listeners.\n      // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n      return;\n    }\n\n    var latestStoreState = store.getState();\n    var newChildProps, error;\n\n    try {\n      // Actually run the selector with the most recent store state and wrapper props\n      // to determine what the child props should be\n      newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n    } catch (e) {\n      error = e;\n      lastThrownError = e;\n    }\n\n    if (!error) {\n      lastThrownError = null;\n    } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n    if (newChildProps === lastChildProps.current) {\n      if (!renderIsScheduled.current) {\n        notifyNestedSubs();\n      }\n    } else {\n      // Save references to the new child props.  Note that we track the \"child props from store update\"\n      // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n      // been processed.  If this went into useState/useReducer, we couldn't clear out the value without\n      // forcing another re-render, which we don't want.\n      lastChildProps.current = newChildProps;\n      childPropsFromStoreUpdate.current = newChildProps;\n      renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n      forceComponentUpdateDispatch({\n        type: 'STORE_UPDATED',\n        payload: {\n          error: error\n        }\n      });\n    }\n  }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n  subscription.onStateChange = checkForUpdates;\n  subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n  // changed since we began.\n\n  checkForUpdates();\n\n  var unsubscribeWrapper = function unsubscribeWrapper() {\n    didUnsubscribe = true;\n    subscription.tryUnsubscribe();\n    subscription.onStateChange = null;\n\n    if (lastThrownError) {\n      // It's possible that we caught an error due to a bad mapState function, but the\n      // parent re-rendered without this component and we're about to unmount.\n      // This shouldn't happen as long as we do top-down subscriptions correctly, but\n      // if we ever do those wrong, this throw will surface the error in our tests.\n      // In that case, throw the error from here so it doesn't get lost.\n      throw lastThrownError;\n    }\n  };\n\n  return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n  return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n  selectorFactory is a func that is responsible for returning the selector function used to\r\n  compute new props from state, props, and dispatch. For example:\r\n      export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n      thing: state.things[props.thingId],\r\n      saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n    }))(YourComponent)\r\n    Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n  outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n  the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n    Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n  props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n  selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n  if (_ref === void 0) {\n    _ref = {};\n  }\n\n  var _ref2 = _ref,\n      _ref2$getDisplayName = _ref2.getDisplayName,\n      getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n    return \"ConnectAdvanced(\" + name + \")\";\n  } : _ref2$getDisplayName,\n      _ref2$methodName = _ref2.methodName,\n      methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n      _ref2$renderCountProp = _ref2.renderCountProp,\n      renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n      _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n      shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n      _ref2$storeKey = _ref2.storeKey,\n      storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n      _ref2$withRef = _ref2.withRef,\n      withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n      _ref2$forwardRef = _ref2.forwardRef,\n      forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n      _ref2$context = _ref2.context,\n      context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n      connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (renderCountProp !== undefined) {\n      throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n    }\n\n    if (withRef) {\n      throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n    }\n\n    var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect';\n\n    if (storeKey !== 'store') {\n      throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n    }\n  }\n\n  var Context = context;\n  return function wrapWithConnect(WrappedComponent) {\n    if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n      throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n    }\n\n    var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n    var displayName = getDisplayName(wrappedComponentName);\n\n    var selectorFactoryOptions = _extends({}, connectOptions, {\n      getDisplayName: getDisplayName,\n      methodName: methodName,\n      renderCountProp: renderCountProp,\n      shouldHandleStateChanges: shouldHandleStateChanges,\n      storeKey: storeKey,\n      displayName: displayName,\n      wrappedComponentName: wrappedComponentName,\n      WrappedComponent: WrappedComponent\n    });\n\n    var pure = connectOptions.pure;\n\n    function createChildSelector(store) {\n      return selectorFactory(store.dispatch, selectorFactoryOptions);\n    } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n    // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n    // that just executes the given callback immediately.\n\n\n    var usePureOnlyMemo = pure ? useMemo : function (callback) {\n      return callback();\n    };\n\n    function ConnectFunction(props) {\n      var _useMemo = useMemo(function () {\n        // Distinguish between actual \"data\" props that were passed to the wrapper component,\n        // and values needed to control behavior (forwarded refs, alternate context instances).\n        // To maintain the wrapperProps object reference, memoize this destructuring.\n        var reactReduxForwardedRef = props.reactReduxForwardedRef,\n            wrapperProps = _objectWithoutPropertiesLoose(props, [\"reactReduxForwardedRef\"]);\n\n        return [props.context, reactReduxForwardedRef, wrapperProps];\n      }, [props]),\n          propsContext = _useMemo[0],\n          reactReduxForwardedRef = _useMemo[1],\n          wrapperProps = _useMemo[2];\n\n      var ContextToUse = useMemo(function () {\n        // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n        // Memoize the check that determines which context instance we should use.\n        return propsContext && propsContext.Consumer && isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n      }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n      var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n      // We'll check to see if it _looks_ like a Redux store first.\n      // This allows us to pass through a `store` prop that is just a plain value.\n\n      var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n      var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n      if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n        throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a <Provider>, \") + \"or pass a custom React context provider to <Provider> and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n      } // Based on the previous check, one of these must be true\n\n\n      var store = didStoreComeFromProps ? props.store : contextValue.store;\n      var childPropsSelector = useMemo(function () {\n        // The child props selector needs the store reference as an input.\n        // Re-create this selector whenever the store changes.\n        return createChildSelector(store);\n      }, [store]);\n\n      var _useMemo2 = useMemo(function () {\n        if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n        // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n        var subscription = new Subscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n        // the middle of the notification loop, where `subscription` will then be null. This can\n        // probably be avoided if Subscription's listeners logic is changed to not call listeners\n        // that have been unsubscribed in the  middle of the notification loop.\n\n        var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n        return [subscription, notifyNestedSubs];\n      }, [store, didStoreComeFromProps, contextValue]),\n          subscription = _useMemo2[0],\n          notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n      // and memoize that value to avoid unnecessary context updates.\n\n\n      var overriddenContextValue = useMemo(function () {\n        if (didStoreComeFromProps) {\n          // This component is directly subscribed to a store from props.\n          // We don't want descendants reading from this store - pass down whatever\n          // the existing context value is from the nearest connected ancestor.\n          return contextValue;\n        } // Otherwise, put this component's subscription instance into context, so that\n        // connected descendants won't update until after this component is done\n\n\n        return _extends({}, contextValue, {\n          subscription: subscription\n        });\n      }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n      // causes a change to the calculated child component props (or we caught an error in mapState)\n\n      var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n          _useReducer$ = _useReducer[0],\n          previousStateUpdateResult = _useReducer$[0],\n          forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n      if (previousStateUpdateResult && previousStateUpdateResult.error) {\n        throw previousStateUpdateResult.error;\n      } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n      var lastChildProps = useRef();\n      var lastWrapperProps = useRef(wrapperProps);\n      var childPropsFromStoreUpdate = useRef();\n      var renderIsScheduled = useRef(false);\n      var actualChildProps = usePureOnlyMemo(function () {\n        // Tricky logic here:\n        // - This render may have been triggered by a Redux store update that produced new child props\n        // - However, we may have gotten new wrapper props after that\n        // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n        // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n        // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n        if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n          return childPropsFromStoreUpdate.current;\n        } // TODO We're reading the store directly in render() here. Bad idea?\n        // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n        // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n        // to determine what the child props should be.\n\n\n        return childPropsSelector(store.getState(), wrapperProps);\n      }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n      // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n      // just useEffect instead to avoid the warning, since neither will run anyway.\n\n      useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n      useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n      // We memoize the elements for the rendered child component as an optimization.\n\n      var renderedWrappedComponent = useMemo(function () {\n        return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n          ref: reactReduxForwardedRef\n        }));\n      }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n      // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n      var renderedChild = useMemo(function () {\n        if (shouldHandleStateChanges) {\n          // If this component is subscribed to store updates, we need to pass its own\n          // subscription instance down to our descendants. That means rendering the same\n          // Context instance, and putting a different value into the context.\n          return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n            value: overriddenContextValue\n          }, renderedWrappedComponent);\n        }\n\n        return renderedWrappedComponent;\n      }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n      return renderedChild;\n    } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n    var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n    Connect.WrappedComponent = WrappedComponent;\n    Connect.displayName = ConnectFunction.displayName = displayName;\n\n    if (forwardRef) {\n      var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n        return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n          reactReduxForwardedRef: ref\n        }));\n      });\n      forwarded.displayName = displayName;\n      forwarded.WrappedComponent = WrappedComponent;\n      return hoistStatics(forwarded, WrappedComponent);\n    }\n\n    return hoistStatics(Connect, WrappedComponent);\n  };\n}","function is(x, y) {\n  if (x === y) {\n    return x !== 0 || y !== 0 || 1 / x === 1 / y;\n  } else {\n    return x !== x && y !== y;\n  }\n}\n\nexport default function shallowEqual(objA, objB) {\n  if (is(objA, objB)) return true;\n\n  if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n    return false;\n  }\n\n  var keysA = Object.keys(objA);\n  var keysB = Object.keys(objB);\n  if (keysA.length !== keysB.length) return false;\n\n  for (var i = 0; i < keysA.length; i++) {\n    if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n      return false;\n    }\n  }\n\n  return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n  return function initConstantSelector(dispatch, options) {\n    var constant = getConstant(dispatch, options);\n\n    function constantSelector() {\n      return constant;\n    }\n\n    constantSelector.dependsOnOwnProps = false;\n    return constantSelector;\n  };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n  return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n//  * Detects whether the mapToProps function being called depends on props, which\n//    is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n//  * On first call, handles mapToProps if returns another function, and treats that\n//    new function as the true mapToProps for subsequent calls.\n//\n//  * On first call, verifies the first result is a plain object, in order to warn\n//    the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n  return function initProxySelector(dispatch, _ref) {\n    var displayName = _ref.displayName;\n\n    var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n      return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n    }; // allow detectFactoryAndVerify to get ownProps\n\n\n    proxy.dependsOnOwnProps = true;\n\n    proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n      proxy.mapToProps = mapToProps;\n      proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n      var props = proxy(stateOrDispatch, ownProps);\n\n      if (typeof props === 'function') {\n        proxy.mapToProps = props;\n        proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n        props = proxy(stateOrDispatch, ownProps);\n      }\n\n      if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n      return props;\n    };\n\n    return proxy;\n  };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n  return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n  return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n    return {\n      dispatch: dispatch\n    };\n  }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n  return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n    return bindActionCreators(mapDispatchToProps, dispatch);\n  }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","export default function bindActionCreators(actionCreators, dispatch) {\n  var boundActionCreators = {};\n\n  var _loop = function _loop(key) {\n    var actionCreator = actionCreators[key];\n\n    if (typeof actionCreator === 'function') {\n      boundActionCreators[key] = function () {\n        return dispatch(actionCreator.apply(void 0, arguments));\n      };\n    }\n  };\n\n  for (var key in actionCreators) {\n    _loop(key);\n  }\n\n  return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n  return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n  return !mapStateToProps ? wrapMapToPropsConstant(function () {\n    return {};\n  }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n  return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n  return function initMergePropsProxy(dispatch, _ref) {\n    var displayName = _ref.displayName,\n        pure = _ref.pure,\n        areMergedPropsEqual = _ref.areMergedPropsEqual;\n    var hasRunOnce = false;\n    var mergedProps;\n    return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n      var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n      if (hasRunOnce) {\n        if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n      } else {\n        hasRunOnce = true;\n        mergedProps = nextMergedProps;\n        if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n      }\n\n      return mergedProps;\n    };\n  };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n  return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n  return !mergeProps ? function () {\n    return defaultMergeProps;\n  } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n  return function impureFinalPropsSelector(state, ownProps) {\n    return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n  };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n  var areStatesEqual = _ref.areStatesEqual,\n      areOwnPropsEqual = _ref.areOwnPropsEqual,\n      areStatePropsEqual = _ref.areStatePropsEqual;\n  var hasRunAtLeastOnce = false;\n  var state;\n  var ownProps;\n  var stateProps;\n  var dispatchProps;\n  var mergedProps;\n\n  function handleFirstCall(firstState, firstOwnProps) {\n    state = firstState;\n    ownProps = firstOwnProps;\n    stateProps = mapStateToProps(state, ownProps);\n    dispatchProps = mapDispatchToProps(dispatch, ownProps);\n    mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n    hasRunAtLeastOnce = true;\n    return mergedProps;\n  }\n\n  function handleNewPropsAndNewState() {\n    stateProps = mapStateToProps(state, ownProps);\n    if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n    mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n    return mergedProps;\n  }\n\n  function handleNewProps() {\n    if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n    if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n    mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n    return mergedProps;\n  }\n\n  function handleNewState() {\n    var nextStateProps = mapStateToProps(state, ownProps);\n    var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n    stateProps = nextStateProps;\n    if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n    return mergedProps;\n  }\n\n  function handleSubsequentCalls(nextState, nextOwnProps) {\n    var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n    var stateChanged = !areStatesEqual(nextState, state);\n    state = nextState;\n    ownProps = nextOwnProps;\n    if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n    if (propsChanged) return handleNewProps();\n    if (stateChanged) return handleNewState();\n    return mergedProps;\n  }\n\n  return function pureFinalPropsSelector(nextState, nextOwnProps) {\n    return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n  };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n  var initMapStateToProps = _ref2.initMapStateToProps,\n      initMapDispatchToProps = _ref2.initMapDispatchToProps,\n      initMergeProps = _ref2.initMergeProps,\n      options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n  var mapStateToProps = initMapStateToProps(dispatch, options);\n  var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n  var mergeProps = initMergeProps(dispatch, options);\n\n  if (process.env.NODE_ENV !== 'production') {\n    verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n  }\n\n  var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n  return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n  connect is a facade over connectAdvanced. It turns its args into a compatible\r\n  selectorFactory, which has the signature:\r\n\r\n    (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n  \r\n  connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n  selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n  selectorFactory returns a final props selector from its mapStateToProps,\r\n  mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n  mergePropsFactories, and pure args.\r\n\r\n  The resulting final props selector is called by the Connect component instance whenever\r\n  it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n  for (var i = factories.length - 1; i >= 0; i--) {\n    var result = factories[i](arg);\n    if (result) return result;\n  }\n\n  return function (dispatch, options) {\n    throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n  };\n}\n\nfunction strictEqual(a, b) {\n  return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n  var _ref = _temp === void 0 ? {} : _temp,\n      _ref$connectHOC = _ref.connectHOC,\n      connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n      _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n      mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n      _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n      mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n      _ref$mergePropsFactor = _ref.mergePropsFactories,\n      mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n      _ref$selectorFactory = _ref.selectorFactory,\n      selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n  return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n    if (_ref2 === void 0) {\n      _ref2 = {};\n    }\n\n    var _ref3 = _ref2,\n        _ref3$pure = _ref3.pure,\n        pure = _ref3$pure === void 0 ? true : _ref3$pure,\n        _ref3$areStatesEqual = _ref3.areStatesEqual,\n        areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n        _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n        areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n        _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n        areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n        _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n        areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n        extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n    var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n    var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n    var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n    return connectHOC(selectorFactory, _extends({\n      // used in error messages\n      methodName: 'connect',\n      // used to compute Connect's displayName from the wrapped component's displayName.\n      getDisplayName: function getDisplayName(name) {\n        return \"Connect(\" + name + \")\";\n      },\n      // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n      shouldHandleStateChanges: Boolean(mapStateToProps),\n      // passed through to selectorFactory\n      initMapStateToProps: initMapStateToProps,\n      initMapDispatchToProps: initMapDispatchToProps,\n      initMergeProps: initMergeProps,\n      pure: pure,\n      areStatesEqual: areStatesEqual,\n      areOwnPropsEqual: areOwnPropsEqual,\n      areStatePropsEqual: areStatePropsEqual,\n      areMergedPropsEqual: areMergedPropsEqual\n    }, extraOptions));\n  };\n}\nexport default /*#__PURE__*/createConnect();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n  return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n  var _useReducer = useReducer(function (s) {\n    return s + 1;\n  }, 0),\n      forceRender = _useReducer[1];\n\n  var subscription = useMemo(function () {\n    return new Subscription(store, contextSub);\n  }, [store, contextSub]);\n  var latestSubscriptionCallbackError = useRef();\n  var latestSelector = useRef();\n  var latestStoreState = useRef();\n  var latestSelectedState = useRef();\n  var storeState = store.getState();\n  var selectedState;\n\n  try {\n    if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n      var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n      if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n        selectedState = newSelectedState;\n      } else {\n        selectedState = latestSelectedState.current;\n      }\n    } else {\n      selectedState = latestSelectedState.current;\n    }\n  } catch (err) {\n    if (latestSubscriptionCallbackError.current) {\n      err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n    }\n\n    throw err;\n  }\n\n  useIsomorphicLayoutEffect(function () {\n    latestSelector.current = selector;\n    latestStoreState.current = storeState;\n    latestSelectedState.current = selectedState;\n    latestSubscriptionCallbackError.current = undefined;\n  });\n  useIsomorphicLayoutEffect(function () {\n    function checkForUpdates() {\n      try {\n        var newStoreState = store.getState();\n\n        var _newSelectedState = latestSelector.current(newStoreState);\n\n        if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n          return;\n        }\n\n        latestSelectedState.current = _newSelectedState;\n        latestStoreState.current = newStoreState;\n      } catch (err) {\n        // we ignore all errors here, since when the component\n        // is re-rendered, the selectors are called again, and\n        // will throw again, if neither props nor store state\n        // changed\n        latestSubscriptionCallbackError.current = err;\n      }\n\n      forceRender();\n    }\n\n    subscription.onStateChange = checkForUpdates;\n    subscription.trySubscribe();\n    checkForUpdates();\n    return function () {\n      return subscription.tryUnsubscribe();\n    };\n  }, [store, subscription]);\n  return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n  if (context === void 0) {\n    context = ReactReduxContext;\n  }\n\n  var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n    return useContext(context);\n  };\n  return function useSelector(selector, equalityFn) {\n    if (equalityFn === void 0) {\n      equalityFn = refEquality;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (!selector) {\n        throw new Error(\"You must pass a selector to useSelector\");\n      }\n\n      if (typeof selector !== 'function') {\n        throw new Error(\"You must pass a function as a selector to useSelector\");\n      }\n\n      if (typeof equalityFn !== 'function') {\n        throw new Error(\"You must pass a function as an equality function to useSelector\");\n      }\n    }\n\n    var _useReduxContext = useReduxContext(),\n        store = _useReduxContext.store,\n        contextSub = _useReduxContext.subscription;\n\n    var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n    useDebugValue(selectedState);\n    return selectedState;\n  };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n *   const counter = useSelector(state => state.counter)\r\n *   return <div>{counter}</div>\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","import * as React from 'react';\nexport var rtlTextContainer = {\n  getAttributes: function getAttributes(_ref) {\n    var _ref$condition = _ref.condition,\n        condition = _ref$condition === void 0 ? true : _ref$condition,\n        _ref$forElements = _ref.forElements,\n        forElements = _ref$forElements === void 0 ? [] : _ref$forElements;\n    return condition && forElements.some(function (child) {\n      return child && typeof child === 'string';\n    }) ? {\n      dir: 'auto'\n    } : {};\n  },\n  createFor: function createFor(_ref2) {\n    var element = _ref2.element,\n        _ref2$condition = _ref2.condition,\n        condition = _ref2$condition === void 0 ? true : _ref2$condition;\n\n    if (condition && element && typeof element === 'string') {\n      return /*#__PURE__*/React.createElement(\"span\", {\n        dir: \"auto\"\n      }, element);\n    }\n\n    return element;\n  }\n};\n//# sourceMappingURL=rtlTextContainer.js.map\n","var baseIsNative = require('./_baseIsNative'),\n    getValue = require('./_getValue');\n\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 */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var identity = require('./identity'),\n    overRest = require('./_overRest'),\n    setToString = require('./_setToString');\n\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 */\nfunction baseRest(func, start) {\n  return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var isArray = require('./isArray'),\n    isKey = require('./_isKey'),\n    stringToPath = require('./_stringToPath'),\n    toString = require('./toString');\n\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 */\nfunction castPath(value, object) {\n  if (isArray(value)) {\n    return value;\n  }\n  return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\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 */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\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  return result;\n}\n\nmodule.exports = arrayMap;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n  var result = toFinite(value),\n      remainder = result % 1;\n\n  return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\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 */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","import { _isSSR } from './setSSR';\nvar _window = undefined;\n// Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\ntry {\n    _window = window;\n}\ncatch (e) {\n    /* no-op */\n}\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11. Note that in popup scenarios the\n * window object won't match the \"global\" window object, and for these scenarios, you should\n * pass in an element hosted within the popup.\n *\n * @public\n */\nexport function getWindow(rootElement) {\n    if (_isSSR || typeof _window === 'undefined') {\n        return undefined;\n    }\n    else {\n        var el = rootElement;\n        return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n    }\n}\n//# sourceMappingURL=getWindow.js.map","import * as React from 'react';\nimport { unstable_NormalPriority as NormalPriority, unstable_runWithPriority as runWithPriority } from 'scheduler';\nvar isSSR = typeof window === 'undefined' || /ServerSideRendering/.test(window.navigator && window.navigator.userAgent);\nexport var useIsomorphicLayoutEffect = isSSR ? React.useEffect : React.useLayoutEffect;\nexport function runWithNormalPriority(thunk) {\n  return runWithPriority(NormalPriority, thunk);\n}\n//# sourceMappingURL=utils.js.map\n","// Visually hides elements which remain visible for screen reader\nexport var screenReaderContainerStyles = {\n  border: '0',\n  clip: 'rect(0 0 0 0)',\n  height: '1px',\n  margin: '-1px',\n  overflow: 'hidden',\n  padding: '0',\n  position: 'absolute',\n  width: '1px'\n};\n//# sourceMappingURL=accessibilityStyles.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemEndMediaClassName = 'ui-list__itemendmedia';\n/**\n * Provides a header media for the ListItem.\n */\n\nexport var ListItemEndMedia = /*#__PURE__*/function () {\n  var ListItemEndMedia = compose(Box, {\n    className: listItemEndMediaClassName,\n    displayName: 'ListItemEndMedia',\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var navigable = _ref.navigable,\n          selectable = _ref.selectable;\n      return {\n        navigable: navigable,\n        selectable: selectable\n      };\n    },\n    handledProps: ['navigable', 'selectable'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ListItemEndMedia.propTypes = commonPropTypes.createCommon();\n  return ListItemEndMedia;\n}();\n//# sourceMappingURL=ListItemEndMedia.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var skeletonLineClassName = 'ui-skeleton__line';\n/**\n * A SkeletonLine represents a text line that will be loaded\n */\n\nexport var SkeletonLine = /*#__PURE__*/function () {\n  var SkeletonLine = compose(Box, {\n    className: skeletonLineClassName,\n    displayName: 'SkeletonLine',\n    overrideStyles: true,\n    shorthandConfig: {},\n    handledProps: ['width', 'height'],\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var width = _ref.width,\n          height = _ref.height;\n      return {\n        width: width,\n        height: height\n      };\n    }\n  });\n  SkeletonLine.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    width: PropTypes.string,\n    height: PropTypes.string\n  });\n  SkeletonLine.defaultProps = {\n    as: 'span',\n    width: '100%',\n    height: '1rem'\n  };\n  return SkeletonLine;\n}();\n//# sourceMappingURL=SkeletonLine.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemSubmenuIndicatorClassName = 'ui-toolbar__menuitemsubmenuindicator';\n/**\n * A ToolbarMenuItemSubmenuIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemSubmenuIndicator = /*#__PURE__*/function () {\n  var ToolbarMenuItemSubmenuIndicator = compose(Box, {\n    className: toolbarMenuItemSubmenuIndicatorClassName,\n    displayName: 'ToolbarMenuItemSubmenuIndicator',\n    mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n      return {\n        hasContent: props.hasContent\n      };\n    },\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    overrideStyles: true\n  });\n  ToolbarMenuItemSubmenuIndicator.defaultProps = {\n    as: 'span'\n  };\n  ToolbarMenuItemSubmenuIndicator.propTypes = commonPropTypes.createCommon();\n  return ToolbarMenuItemSubmenuIndicator;\n}();\n//# sourceMappingURL=ToolbarMenuItemSubmenuIndicator.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemActiveIndicatorClassName = 'ui-toolbar__menuitemactiveindicator';\n/**\n * A ToolbarMenuItemActiveIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemActiveIndicator = /*#__PURE__*/function () {\n  var ToolbarMenuItemActiveIndicator = compose(Box, {\n    className: toolbarMenuItemActiveIndicatorClassName,\n    displayName: 'ToolbarMenuItemActiveIndicator',\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    overrideStyles: true\n  });\n  ToolbarMenuItemActiveIndicator.defaultProps = {\n    as: 'span'\n  };\n  ToolbarMenuItemActiveIndicator.propTypes = commonPropTypes.createCommon();\n  return ToolbarMenuItemActiveIndicator;\n}();\n//# sourceMappingURL=ToolbarMenuItemActiveIndicator.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nexport var alertDismissActionClassName = 'ui-alert__dismissaction';\nexport var alertDismissActionSlotClassNames = {\n  content: alertDismissActionClassName + \"__content\"\n};\n/**\n * A AlertDismissAction allows users to customize the dismissAction slot  inside the Alert component.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var AlertDismissAction = /*#__PURE__*/function () {\n  var AlertDismissAction = function AlertDismissAction(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(AlertDismissAction.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        as = props.as,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        disabled = props.disabled,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        danger = props.danger,\n        warning = props.warning,\n        info = props.info,\n        success = props.success;\n    var hasChildren = childrenExist(children);\n    var hasContent = !!content && !_isEmpty(content);\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: AlertDismissAction.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          as: String(as),\n          disabled: disabled\n        };\n      },\n      actionHandlers: {\n        performClick: function performClick(event) {\n          event.preventDefault();\n          handleClick(event);\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(AlertDismissAction.displayName, {\n      className: alertDismissActionClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          disabled: disabled,\n          danger: danger,\n          warning: warning,\n          info: info,\n          success: success,\n          hasContent: hasContent || hasChildren\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var unhandledProps = useUnhandledProps(AlertDismissAction.handledProps, props);\n    var ElementType = getElementType(props);\n\n    var handleClick = function handleClick(e) {\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), getA11Props('root', Object.assign({\n      onClick: handleClick,\n      disabled: disabled,\n      className: classes.root\n    }, unhandledProps))), hasChildren ? children : Box.create(content, {\n      defaultProps: function defaultProps() {\n        return getA11Props('content', {\n          as: 'span',\n          className: alertDismissActionSlotClassNames.content,\n          styles: resolvedStyles.content\n        });\n      }\n    }));\n    setEnd();\n    return result;\n  };\n\n  AlertDismissAction.defaultProps = {\n    as: 'button',\n    accessibility: buttonBehavior,\n    content: {}\n  };\n  AlertDismissAction.displayName = 'AlertDismissAction';\n  AlertDismissAction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: 'shorthand'\n  }), {\n    disabled: PropTypes.bool,\n    danger: PropTypes.bool,\n    warning: PropTypes.bool,\n    info: PropTypes.bool,\n    onClick: PropTypes.func,\n    success: PropTypes.bool\n  });\n  AlertDismissAction.handledProps = Object.keys(AlertDismissAction.propTypes);\n  AlertDismissAction.create = createShorthandFactory({\n    Component: AlertDismissAction,\n    mappedProp: 'content'\n  });\n  return AlertDismissAction;\n}();\n//# sourceMappingURL=AlertDismissAction.js.map\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var assignValue = require('./_assignValue'),\n    baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  var isNew = !object;\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    if (newValue === undefined) {\n      newValue = source[key];\n    }\n    if (isNew) {\n      baseAssignValue(object, key, newValue);\n    } else {\n      assignValue(object, key, newValue);\n    }\n  }\n  return object;\n}\n\nmodule.exports = copyObject;\n","var DataView = require('./_DataView'),\n    Map = require('./_Map'),\n    Promise = require('./_Promise'),\n    Set = require('./_Set'),\n    WeakMap = require('./_WeakMap'),\n    baseGetTag = require('./_baseGetTag'),\n    toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    setTag = '[object Set]',\n    weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = baseGetTag(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : '';\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\nmodule.exports = getTag;\n","import { pxToRem } from '../../utils';\nimport { colors } from './colors'; //\n// COLORS\n//\n\nexport { categoryColors, categoryColorScheme } from './categoryColors';\nexport { colors, contextualColors, naturalColors, primitiveColors, colorScheme, transparentColors } from './colors'; //\n// BORDER STYLES\n//\n\nexport var borderWidth = '1px';\nexport var borderRadius = '2px';\nexport var focusInnerBorderColor = colors.white;\nexport var focusOuterBorderColor = colors.black; //\n// SHADOW LEVELS\n//\n\nexport var shadowLevel1 = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .1)';\nexport var shadowLevel2 = '0 .4rem .7rem -.1rem rgba(0, 0, 0, .1)';\nexport var shadowLevel3 = '0 .8rem 1rem -.2rem rgba(0, 0, 0, .1)';\nexport var shadowLevel4 = '0 1.6rem 1.8rem -.4rem rgba(0, 0, 0, .1)';\nexport var shadowLevel1Dark = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .25)'; //\n// FONT SIZES\n//\n\nexport var fontSizes = {\n  smaller: pxToRem(10),\n  small: pxToRem(12),\n  medium: pxToRem(14),\n  large: pxToRem(18),\n  larger: pxToRem(24),\n  largest: pxToRem(28)\n}; //\n// FONT WEIGHTS\n//\n\nexport var fontWeightLight = 200;\nexport var fontWeightSemilight = 300;\nexport var fontWeightRegular = 400;\nexport var fontWeightSemibold = 600;\nexport var fontWeightBold = 700; //\n// LINE HEIGHTS\n//\n\nexport var lineHeightDefault = 1;\nexport var lineHeightSmaller = 1.2;\nexport var lineHeightSmall = 1.3333;\nexport var lineHeightMedium = 1.4286;\nexport var lineHeightLarge = 1.3333;\nexport var lineHeightLarger = 1.3333;\nexport var lineHeightLargest = 1.3333; //\n// Z-INDEX\n// Used to maintain proper stack order of components\n//\n\nexport var zIndexes = {\n  background: 0,\n  // Default value\n  foreground: 1,\n  // Put a component in front\n  menuItem: 2,\n  // Currently used only for menu item beak element\n  overlay: 1000,\n  // Dialog/popup/menu overlays\n  overlayPriority: 1001,\n  // for nested overlays, like tooltip in dialog.\n  debug: 999999999 // for debug purposes\n\n}; //\n// SEMANTIC ASSIGNMENTS\n//\n\nexport var bodyPadding = 0;\nexport var bodyMargin = 0;\nexport var bodyFontFamily = '\"Segoe UI\", system-ui, \"Apple Color Emoji\", \"Segoe UI Emoji\", sans-serif';\nexport var bodyFontSize = fontSizes.medium;\nexport var bodyBackground = colors.white;\nexport var bodyColor = colors.grey[750];\nexport var bodyLineHeight = lineHeightMedium;\n//# sourceMappingURL=siteVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuColorAreas = stringLiteralsArray('border', 'borderActive', 'foregroundActive', 'foregroundFocus', 'foregroundHover', 'backgroundHover', 'backgroundActive', 'backgroundFocus', 'foregroundDisabled');\nexport var menuVariables = function menuVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n      default: {\n        borderActive: siteVars.colorScheme.default.border2,\n        backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n        backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n        foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n      },\n      brand: {\n        foregroundHover: siteVars.colors.white,\n        backgroundHover: siteVars.colors.brand[300],\n        foregroundActive: siteVars.colors.white,\n        borderActive: siteVars.colors.brand[600],\n        backgroundActive: siteVars.colors.brand[500],\n        // it's 600 in the color scheme\n        foregroundFocus: siteVars.colors.white,\n        backgroundFocus: siteVars.colors.brand[300],\n        foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n      }\n    }), menuColorAreas),\n    color: siteVars.colors.grey[500],\n    colorActive: siteVars.colors.black,\n    colorFocus: undefined,\n    colorHover: 'inherit',\n    colorDisabled: undefined,\n    borderColor: undefined,\n    borderColorHover: undefined,\n    borderColorActive: undefined,\n    borderColorFocus: siteVars.colors.white,\n    outlineColorFocus: siteVars.colors.black,\n    backgroundColor: undefined,\n    backgroundColorFocus: undefined,\n    backgroundColorHover: undefined,\n    backgroundColorActive: undefined,\n    iconSize: pxToRem(16),\n    iconOnlyColorActive: siteVars.colors.brand[600],\n    iconOnlyColorFocus: siteVars.colors.brand[600],\n    iconOnlyWrapperBackgroundColorFocus: undefined,\n    activeIconOnlyWrapperBackgroundColor: undefined,\n    iconOnlyBackgroundColorHover: undefined,\n    iconOnlyColorHover: siteVars.colors.brand[600],\n    underlinedBorderColor: siteVars.colors.grey[200],\n    lineHeightBase: siteVars.lineHeightMedium,\n    horizontalPadding: pxToRem(14) + \" \" + pxToRem(18),\n    verticalBackgroundColor: siteVars.colorScheme.default.background,\n    verticalItemPadding: pxToRem(7) + \" \" + pxToRem(14),\n    verticalBoxShadow: siteVars.shadowLevel3,\n    verticalDividerMargin: pxToRem(8) + \" 0\",\n    verticalItemBorderWidth: pxToRem(2),\n    verticalItemBorderColor: 'transparent',\n    verticalPointingBorderColor: siteVars.colorScheme.brand.borderActive,\n    verticalBackgroundColorFocus: undefined,\n    activeUnderlinedColor: undefined,\n    activeUnderlinedPrimaryColor: siteVars.colors.brand[600],\n    activeUnderlinedBorderBottomColor: siteVars.colors.black,\n    activeUnderlinedWrapperColor: undefined,\n    pointingIndicatorBackgroundColor: siteVars.colors.brand[600],\n    underlinedBottomBorderWidth: pxToRem(2),\n    underlinedColorHover: 'inherit',\n    primaryBorderColor: siteVars.colorScheme.default.border2,\n    primaryWrapperColorFocus: siteVars.colors.white,\n    primaryWrapperBackgroundColorFocus: siteVars.colors.brand[500],\n    underlinedWrapperColorHover: siteVars.colors.black,\n    underlinedWrapperBackgroundHover: 'transparent',\n    dividerHeight: pxToRem(1),\n    borderWidth: pxToRem(1),\n    menuZIndex: siteVars.zIndexes.overlay,\n    beakZIndex: siteVars.zIndexes.menuItem,\n    wrapperColorActive: siteVars.colors.grey[500],\n    wrapperColorFocus: siteVars.colors.grey[500],\n    wrapperColorHover: undefined,\n    primaryWrapperColorHover: siteVars.colors.white,\n    wrapperBackgroundColorFocus: siteVars.colors.grey[150],\n    activeWrapperBackgroundColorHover: undefined,\n    indicatorColor: siteVars.colors.grey[500],\n    activeIndicatorColor: siteVars.colors.grey[750],\n    activePrimaryIndicatorColor: siteVars.colors.grey[750],\n    activePrimaryVerticalIndicatorColor: siteVars.colors.white,\n    primaryIndicatorColorHover: siteVars.colors.white,\n    indicatorColorHover: siteVars.colors.grey[500]\n  };\n};\n//# sourceMappingURL=menuVariables.js.map\n","var baseKeys = require('./_baseKeys'),\n    getTag = require('./_getTag'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isArrayLike = require('./isArrayLike'),\n    isBuffer = require('./isBuffer'),\n    isPrototype = require('./_isPrototype'),\n    isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\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 empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n  if (value == null) {\n    return true;\n  }\n  if (isArrayLike(value) &&\n      (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n        isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n    return !value.length;\n  }\n  var tag = getTag(value);\n  if (tag == mapTag || tag == setTag) {\n    return !value.size;\n  }\n  if (isPrototype(value)) {\n    return !baseKeys(value).length;\n  }\n  for (var key in value) {\n    if (hasOwnProperty.call(value, key)) {\n      return false;\n    }\n  }\n  return true;\n}\n\nmodule.exports = isEmpty;\n","var arrayFilter = require('./_arrayFilter'),\n    baseFilter = require('./_baseFilter'),\n    baseIteratee = require('./_baseIteratee'),\n    isArray = require('./isArray');\n\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 */\nfunction filter(collection, predicate) {\n  var func = isArray(collection) ? arrayFilter : baseFilter;\n  return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;\n","import { createContext } from '@fluentui/react-bindings';\nexport var MenuContext = createContext({\n  activeIndex: -1,\n  variables: {},\n  onItemClick: null,\n  onItemSelect: null,\n  slotProps: {\n    item: {},\n    divider: {}\n  },\n  behaviors: {\n    item: undefined,\n    divider: undefined\n  },\n  slots: {\n    menu: null\n  }\n});\nexport var MenuContextProvider = MenuContext.Provider;\n//# sourceMappingURL=menuContext.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @description\n * The behavior is designed for particular structure of menu item. The item consists of root element and anchor inside the root element.\n *\n * @specification\n * Adds role 'presentation' to 'wrapper' slot.\n * Adds role 'menuitem' to 'root' slot.\n * Adds attribute 'tabIndex=0' to 'root' slot.\n * Adds attribute 'data-is-focusable=false' to 'root' slot if 'disabled' property is true. Sets the attribute to 'true' otherwise.\n * Adds attribute 'aria-label' based on the property 'aria-label' to 'root' slot.\n * Adds attribute 'aria-labelledby' based on the property 'aria-labelledby' to 'root' slot.\n * Adds attribute 'aria-describedby' based on the property 'aria-describedby' to 'root' slot.\n * Adds attribute 'aria-expanded=true' based on the property 'menuOpen' if the component has 'hasMenu' property to 'root' slot.\n * Adds attribute 'aria-haspopup=true' to 'root' slot if 'hasMenu' property is set.\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'. This can be overriden by providing 'aria-disabled' property directly to the component.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n * Triggers 'closeMenuAndFocusTrigger' action with 'Escape' on 'wrapper'.\n * Triggers 'closeAllMenusAndFocusNextParentItem' action with 'ArrowRight' on 'wrapper'.\n * Triggers 'closeMenu' action with 'ArrowLeft' on 'wrapper'.\n * Triggers 'openMenu' action with 'ArrowDown' on 'wrapper', when orientation is horizontal.\n * Triggers 'openMenu' action with 'ArrowRight' on 'wrapper', when orientation is vertical.\n */\nexport var menuItemBehavior = function menuItemBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      wrapper: {\n        role: 'presentation'\n      },\n      root: (_root = {\n        role: 'menuitem',\n        tabIndex: 0,\n        'aria-expanded': props.hasMenu ? props.menuOpen || false : undefined,\n        'aria-haspopup': props.hasMenu ? 'true' : undefined,\n        'aria-label': props['aria-label'],\n        'aria-labelledby': props['aria-labelledby'],\n        'aria-describedby': props['aria-describedby'],\n        'aria-disabled': props.disabled\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = !props.disabled, _root)\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      },\n      wrapper: {\n        closeAllMenus: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        },\n        closeAllMenusAndFocusNextParentItem: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowRight\n          }]\n        },\n        closeMenuAndFocusTrigger: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        },\n        closeMenu: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowLeft\n          }]\n        },\n        openMenu: {\n          keyCombinations: [{\n            keyCode: props.vertical ? keyboardKey.ArrowRight : keyboardKey.ArrowDown\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=menuItemBehavior.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { indicatorBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var menuItemIndicatorClassName = 'ui-menu__itemindicator';\n/**\n * A MenuItemIndicator allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var MenuItemIndicator = /*#__PURE__*/function () {\n  var MenuItemIndicator = compose(Box, {\n    className: menuItemIndicatorClassName,\n    displayName: 'MenuItemIndicator',\n    mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n      return {\n        iconOnly: props.iconOnly,\n        vertical: props.vertical,\n        inSubmenu: props.inSubmenu,\n        active: props.active,\n        primary: props.primary,\n        underlined: props.underlined\n      };\n    },\n    handledProps: ['iconOnly', 'vertical', 'inSubmenu', 'active', 'primary', 'underlined'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  MenuItemIndicator.defaultProps = {\n    as: 'span',\n    accessibility: indicatorBehavior\n  };\n  MenuItemIndicator.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    iconOnly: PropTypes.bool,\n    vertical: PropTypes.bool,\n    inSubmenu: PropTypes.bool,\n    active: PropTypes.bool,\n    primary: PropTypes.bool,\n    underlined: PropTypes.bool\n  });\n  return MenuItemIndicator;\n}();\n//# sourceMappingURL=MenuItemIndicator.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemContentClassName = 'ui-list__itemcontent';\n/**\n * Provides a content for the ListItem.\n */\n\nexport var ListItemContent = /*#__PURE__*/function () {\n  var ListItemContent = compose(Box, {\n    className: listItemContentClassName,\n    displayName: 'ListItemContent',\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var hasContentMedia = _ref.hasContentMedia,\n          hasHeader = _ref.hasHeader,\n          truncate = _ref.truncate;\n      return {\n        hasContentMedia: hasContentMedia,\n        hasHeader: hasHeader,\n        truncate: truncate\n      };\n    },\n    handledProps: ['hasContentMedia', 'hasHeader', 'truncate'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ListItemContent.propTypes = commonPropTypes.createCommon();\n  return ListItemContent;\n}();\n//# sourceMappingURL=ListItemContent.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemContentMediaClassName = 'ui-list__itemcontentmedia';\n/**\n * Provides a content media for the ListItem.\n */\n\nexport var ListItemContentMedia = /*#__PURE__*/function () {\n  var ListItemContentMedia = compose(Box, {\n    className: listItemContentMediaClassName,\n    displayName: 'ListItemContentMedia',\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ListItemContentMedia.propTypes = commonPropTypes.createCommon();\n  return ListItemContentMedia;\n}();\n//# sourceMappingURL=ListItemContentMedia.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemHeaderClassName = 'ui-list__itemheader';\n/**\n * Provides a header for the ListItem.\n */\n\nexport var ListItemHeader = /*#__PURE__*/function () {\n  var ListItemHeader = compose(Box, {\n    className: listItemHeaderClassName,\n    displayName: 'ListItemHeader',\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var hasContent = _ref.hasContent,\n          hasHeaderMedia = _ref.hasHeaderMedia,\n          truncate = _ref.truncate;\n      return {\n        hasContent: hasContent,\n        hasHeaderMedia: hasHeaderMedia,\n        truncate: truncate\n      };\n    },\n    handledProps: ['hasContent', 'hasHeaderMedia', 'truncate'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ListItemHeader.propTypes = commonPropTypes.createCommon();\n  return ListItemHeader;\n}();\n//# sourceMappingURL=ListItemHeader.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemHeaderMediaClassName = 'ui-list__itemheadermedia';\n/**\n * Provides a header media for the ListItem.\n */\n\nexport var ListItemHeaderMedia = /*#__PURE__*/function () {\n  var ListItemHeaderMedia = compose(Box, {\n    className: listItemHeaderMediaClassName,\n    displayName: 'ListItemHeaderMedia',\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ListItemHeaderMedia.propTypes = commonPropTypes.createCommon();\n  return ListItemHeaderMedia;\n}();\n//# sourceMappingURL=ListItemHeaderMedia.js.map\n","import _invoke from \"lodash/invoke\";\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { isBrowser, commonPropTypes } from '../../utils';\nimport { PortalBoxContext } from '../Provider/usePortalBox';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-bindings';\n\n/**\n * A PortalInner is a container for Portal's content.\n */\nexport var PortalInner = /*#__PURE__*/function () {\n  var PortalInner = function PortalInner(props) {\n    var context = React.useContext(PortalBoxContext);\n    var children = props.children,\n        mountNode = props.mountNode; // PortalInner should render elements even without a context\n    // eslint-disable-next-line\n\n    var target = isBrowser() ? context || document.body : null;\n    var container = mountNode || target;\n    useIsomorphicLayoutEffect(function () {\n      _invoke(props, 'onMount', props);\n\n      return function () {\n        return _invoke(props, 'onUnmount', props);\n      };\n    }, []);\n    return container && /*#__PURE__*/ReactDOM.createPortal(children, container);\n  };\n\n  PortalInner.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    accessibility: false,\n    as: false,\n    className: false,\n    content: false,\n    styled: false\n  }), {\n    mountNode: customPropTypes.domNode,\n    onMount: PropTypes.func,\n    onUnmount: PropTypes.func\n  });\n  return PortalInner;\n}();\n//# sourceMappingURL=PortalInner.js.map\n","import _noop from \"lodash/noop\";\nimport * as React from 'react';\nexport var TreeContext = /*#__PURE__*/React.createContext({\n  getItemById: function getItemById(id) {\n    return {\n      id: id\n    };\n  },\n  registerItemRef: _noop,\n  toggleItemActive: _noop,\n  focusItemById: _noop,\n  expandSiblings: _noop,\n  toggleItemSelect: _noop,\n  getToFocusIDByFirstCharacter: function getToFocusIDByFirstCharacter(e, id) {\n    return id;\n  }\n});\n//# sourceMappingURL=context.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = cssifyObject;\n\nvar _cssifyDeclaration = require(\"./cssifyDeclaration\");\n\nvar _cssifyDeclaration2 = _interopRequireDefault(_cssifyDeclaration);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction cssifyObject(style) {\n  var css = '';\n\n  for (var property in style) {\n    var value = style[property];\n\n    if (typeof value !== 'string' && typeof value !== 'number') {\n      continue;\n    } // prevents the semicolon after\n    // the last rule declaration\n\n\n    if (css) {\n      css += ';';\n    }\n\n    css += (0, _cssifyDeclaration2[\"default\"])(property, value);\n  }\n\n  return css;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = objectEach;\n\nfunction objectEach(obj, iterator) {\n  for (var key in obj) {\n    iterator(obj[key], key, obj);\n  }\n}","var createRange = require('./_createRange');\n\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 */\nvar range = createRange();\n\nmodule.exports = range;\n","var baseSlice = require('./_baseSlice'),\n    isIterateeCall = require('./_isIterateeCall'),\n    toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n    nativeMax = Math.max;\n\n/**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\nfunction chunk(array, size, guard) {\n  if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n    size = 1;\n  } else {\n    size = nativeMax(toInteger(size), 0);\n  }\n  var length = array == null ? 0 : array.length;\n  if (!length || size < 1) {\n    return [];\n  }\n  var index = 0,\n      resIndex = 0,\n      result = Array(nativeCeil(length / size));\n\n  while (index < length) {\n    result[resIndex++] = baseSlice(array, index, (index += size));\n  }\n  return result;\n}\n\nmodule.exports = chunk;\n","/**\n * @description\n * Behavior for menu divider\n *\n * @specification\n * Adds role 'presentation' to 'root' slot.\n */\nexport var menuDividerBehavior = function menuDividerBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'presentation'\n      }\n    }\n  };\n};\n//# sourceMappingURL=menuDividerBehavior.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\nimport { menuItemBehavior } from './menuItemBehavior';\nimport { menuDividerBehavior } from './menuDividerBehavior';\n/**\n * @description\n * Implements ARIA Menu design pattern.\n * The 'menu' role is used to identify an element that creates a list of common actions or functions that a user can invoke.\n *\n * @specification\n * Adds role='menu'.\n * Provides arrow key navigation in horizontal direction.\n * When 'vertical' prop is used, provides keyboard navigation in vertical direction.\n * Keyboard navigation is circular.\n */\n\nexport var menuBehavior = function menuBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'menu'\n      }\n    },\n    focusZone: {\n      props: {\n        isCircularNavigation: true,\n        shouldFocusInnerElementWhenReceivedFocus: true,\n        direction: props.vertical ? FocusZoneDirection.vertical : FocusZoneDirection.horizontal\n      }\n    },\n    childBehaviors: {\n      item: menuItemBehavior,\n      divider: menuDividerBehavior\n    }\n  };\n};\n//# sourceMappingURL=menuBehavior.js.map\n","export var getKindProp = function getKindProp(item, defaultValue) {\n  return typeof item === 'object' && item.kind ? item.kind : defaultValue;\n};\n//# sourceMappingURL=getKindProp.js.map\n","import { menuDividerBehavior } from '@fluentui/accessibility';\nimport { compose, getElementType, mergeVariablesOverrides, useFluentContext, useAccessibility, useTelemetry, useStyles, useUnhandledProps, useContextSelectors } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, childrenExist, rtlTextContainer } from '../../utils';\nimport { MenuContext } from './menuContext';\nexport var menuDividerClassName = 'ui-menu__divider';\n/**\n * A MenuDivider is non-actionable element that visually segments items of Menu.\n */\n\nexport var MenuDivider = /*#__PURE__*/function () {\n  var MenuDivider = compose(function (inputProps, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var parentProps = useContextSelectors(MenuContext, {\n      variables: function variables(v) {\n        return v.variables;\n      },\n      slotProps: function slotProps(v) {\n        return v.slotProps.divider;\n      },\n      accessibility: function accessibility(v) {\n        return v.behaviors.divider;\n      }\n    }); // TODO: we should improve typings for the useContextSelectors\n\n    var props = Object.assign({}, parentProps.slotProps, {\n      accessibility: parentProps.accessibility,\n      variables: parentProps.variables\n    }, inputProps);\n    var _props$accessibility = props.accessibility,\n        accessibility = _props$accessibility === void 0 ? menuDividerBehavior : _props$accessibility,\n        children = props.children,\n        content = props.content,\n        vertical = props.vertical,\n        inSubmenu = props.inSubmenu,\n        pills = props.pills,\n        pointing = props.pointing,\n        primary = props.primary,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        secondary = props.secondary,\n        variables = props.variables;\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          hasContent: !!content || !!children,\n          pills: pills,\n          pointing: pointing,\n          vertical: vertical,\n          inSubmenu: inSubmenu,\n          primary: primary,\n          secondary: secondary\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergeVariablesOverrides(variables, parentProps.variables)\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }), unhandledProps, {\n      ref: ref\n    })), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  }, {\n    className: menuDividerClassName,\n    displayName: 'MenuDivider',\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'styles', 'variables', 'pointing', 'inSubmenu', 'primary', 'secondary', 'vertical'],\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  MenuDivider.defaultProps = {\n    as: 'li'\n  };\n  MenuDivider.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    primary: PropTypes.bool,\n    secondary: PropTypes.bool,\n    vertical: PropTypes.bool,\n    inSubmenu: PropTypes.bool,\n    pointing: PropTypes.oneOf(['start', 'end', true, false])\n  });\n  MenuDivider.create = createShorthandFactory({\n    Component: MenuDivider,\n    mappedProp: 'content'\n  });\n  return MenuDivider;\n}();\n//# sourceMappingURL=MenuDivider.js.map\n","import _map from \"lodash/map\";\nimport _filter from \"lodash/filter\";\nimport _invoke from \"lodash/invoke\";\nimport _values from \"lodash/values\";\nimport { menuBehavior } from '@fluentui/accessibility';\nimport { compose, getElementType, mergeVariablesOverrides, useAccessibility, useFluentContext, useAutoControlled, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthand, createShorthandFactory, commonPropTypes, getKindProp, rtlTextContainer } from '../../utils';\nimport { MenuItem } from './MenuItem';\nimport { MenuDivider } from './MenuDivider';\nimport { MenuItemIcon } from './MenuItemIcon';\nimport { MenuItemContent } from './MenuItemContent';\nimport { MenuItemIndicator } from './MenuItemIndicator';\nimport { MenuItemWrapper } from './MenuItemWrapper';\nimport { MenuContextProvider } from './menuContext';\nexport var menuClassName = 'ui-menu';\n\nfunction useActualProps(props) {\n  var actualProps = React.useRef(props);\n  React.useEffect(function () {\n    actualProps.current = props;\n  });\n  return actualProps;\n}\n\nfunction useSlotProps(slotName, slotsProps) {\n  var slotProps = slotsProps[slotName];\n  return React.useMemo(function () {\n    return slotProps;\n  }, // `slotProps` has a stable order of keys so an amount of dependencies will not change between renders\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  _values(slotProps));\n}\n/**\n * A Menu is a component that offers a grouped list of choices to the user.\n *\n * @accessibility\n * Implements ARIA [Menu](https://www.w3.org/TR/wai-aria-practices-1.1/#menu), [Toolbar](https://www.w3.org/TR/wai-aria-practices-1.1/#toolbar) or [Tabs](https://www.w3.org/TR/wai-aria-practices-1.1/#tabpanel) design pattern, depending on the behavior used.\n * @accessibilityIssues\n * [JAWS - navigation instruction for menubar](https://github.com/FreedomScientific/VFO-standards-support/issues/203)\n * [JAWS - navigation instruction for menu with aria-orientation=\"horizontal\"](https://github.com/FreedomScientific/VFO-standards-support/issues/204)\n * [JAWS [VC] doesn't narrate menu item, when it is open from menu button](https://github.com/FreedomScientific/VFO-standards-support/issues/324)\n * [JAWS [app mode] focus moves to second menu item, when it is open from menu button](https://github.com/FreedomScientific/VFO-standards-support/issues/325)\n * [Enter into a tablist JAWS narrates: To switch pages, press Control+PageDown](https://github.com/FreedomScientific/VFO-standards-support/issues/337)\n * 51114083 VoiceOver+Web narrate wrong position in menu / total count of menu items, when pseudo element ::after or ::before is used\n */\n\n\nexport var Menu = /*#__PURE__*/function () {\n  var Menu = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var iconOnly = props.iconOnly,\n        items = props.items,\n        pills = props.pills,\n        pointing = props.pointing,\n        primary = props.primary,\n        underlined = props.underlined,\n        vertical = props.vertical,\n        submenu = props.submenu,\n        children = props.children,\n        variables = props.variables,\n        styles = props.styles,\n        fluid = props.fluid,\n        className = props.className,\n        design = props.design,\n        secondary = props.secondary,\n        accessibility = props.accessibility;\n    var ElementType = getElementType(props);\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var itemProps = useSlotProps('item', slotProps);\n    var dividerProps = useSlotProps('divider', slotProps);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: composeOptions.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          vertical: vertical\n        };\n      },\n      rtl: context.rtl\n    });\n    var actualProps = useActualProps(props);\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          iconOnly: iconOnly,\n          fluid: fluid,\n          pointing: pointing,\n          pills: pills,\n          primary: primary,\n          underlined: underlined,\n          vertical: vertical,\n          secondary: secondary,\n          submenu: submenu\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultActiveIndex,\n      value: props.activeIndex,\n      initialValue: undefined\n    }),\n        activeIndex = _useAutoControlled[0],\n        setIndex = _useAutoControlled[1];\n\n    var setActiveIndex = React.useCallback(function (e, activeIndex) {\n      _invoke(actualProps.current, 'onActiveIndexChange', e, Object.assign({}, actualProps.current, {\n        activeIndex: activeIndex\n      }));\n\n      setIndex(activeIndex);\n    }, [actualProps, setIndex]);\n    var handleClick = React.useCallback(function (e, itemProps) {\n      var index = itemProps.index;\n      setActiveIndex(e, index);\n\n      _invoke(actualProps.current, 'onItemClick', e, itemProps);\n    }, [actualProps, setActiveIndex]);\n    var handleSelect = React.useCallback(function (e, index) {\n      setActiveIndex(e, index);\n    }, [setActiveIndex]);\n\n    var handleItemOverrides = function handleItemOverrides(predefinedProps) {\n      return {\n        onActiveChanged: function onActiveChanged(e, props) {\n          var index = props.index,\n              active = props.active;\n\n          if (active) {\n            setActiveIndex(e, index);\n          } else if (activeIndex === index) {\n            setActiveIndex(e, null);\n          }\n\n          _invoke(predefinedProps, 'onActiveChanged', e, props);\n        },\n        variables: mergeVariablesOverrides(variables, predefinedProps.variables)\n      };\n    };\n\n    var handleDividerOverrides = function handleDividerOverrides(predefinedProps) {\n      return {\n        variables: mergeVariablesOverrides(variables, predefinedProps.variables)\n      };\n    };\n\n    var renderItems = function renderItems() {\n      var itemsCount = _filter(items, function (item) {\n        return getKindProp(item, 'item') !== 'divider';\n      }).length;\n\n      var itemPosition = 0;\n      return _map(items, function (item, index) {\n        var kind = getKindProp(item, 'item');\n\n        if (kind === 'divider') {\n          return createShorthand(composeOptions.slots.divider, item, {\n            defaultProps: function defaultProps() {\n              return getA11yProps('divider', {});\n            },\n            overrideProps: handleDividerOverrides\n          });\n        }\n\n        itemPosition++;\n        return createShorthand(composeOptions.slots.item, item, {\n          defaultProps: function defaultProps() {\n            return getA11yProps('item', {\n              index: index,\n              itemPosition: itemPosition,\n              itemsCount: itemsCount\n            });\n          },\n          overrideProps: handleItemOverrides\n        });\n      });\n    };\n\n    var childBehaviors = accessibility && accessibility(props).childBehaviors;\n    var childProps = {\n      activeIndex: +activeIndex,\n      onItemClick: handleClick,\n      onItemSelect: handleSelect,\n      variables: variables,\n      slotProps: {\n        item: itemProps,\n        divider: dividerProps\n      },\n      behaviors: {\n        item: childBehaviors == null ? void 0 : childBehaviors.item,\n        divider: childBehaviors == null ? void 0 : childBehaviors.divider\n      },\n      slots: {\n        menu: composeOptions.slots.__self\n      }\n    };\n    var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), /*#__PURE__*/React.createElement(MenuContextProvider, {\n      value: childProps\n    }, childrenExist(children) ? children : renderItems())));\n    var wrappedElement = ref ? /*#__PURE__*/React.createElement(Ref, {\n      innerRef: ref\n    }, element) : element;\n    setEnd();\n    return wrappedElement;\n  }, {\n    className: menuClassName,\n    displayName: 'Menu',\n    slots: {\n      divider: MenuDivider,\n      item: MenuItem\n    },\n    slotProps: function slotProps(props) {\n      return {\n        divider: {\n          inSubmenu: props.submenu,\n          pills: props.pills,\n          pointing: props.pointing,\n          primary: props.primary,\n          secondary: props.secondary,\n          vertical: props.vertical\n        },\n        item: {\n          iconOnly: props.iconOnly,\n          indicator: props.indicator,\n          inSubmenu: props.submenu,\n          pills: props.pills,\n          pointing: props.pointing,\n          primary: props.primary,\n          secondary: props.secondary,\n          vertical: props.vertical,\n          underlined: props.underlined\n        }\n      };\n    },\n    handledProps: ['accessibility', 'as', 'className', 'children', 'design', 'styles', 'variables', 'activeIndex', 'defaultActiveIndex', 'fluid', 'iconOnly', 'items', 'onItemClick', 'onActiveIndexChange', 'pills', 'pointing', 'primary', 'secondary', 'underlined', 'vertical', 'submenu', 'indicator'],\n    shorthandConfig: {\n      mappedArrayProp: 'items'\n    }\n  });\n  Menu.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    activeIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n    defaultActiveIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n    fluid: PropTypes.bool,\n    iconOnly: PropTypes.bool,\n    items: customPropTypes.collectionShorthandWithKindProp(['divider', 'item']),\n    onItemClick: PropTypes.func,\n    onActiveIndexChange: PropTypes.func,\n    pills: PropTypes.bool,\n    pointing: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['start', 'end'])]),\n    primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n    secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n    underlined: PropTypes.bool,\n    vertical: PropTypes.bool,\n    submenu: PropTypes.bool,\n    indicator: customPropTypes.shorthandAllowingChildren\n  });\n  Menu.defaultProps = {\n    as: 'ul',\n    accessibility: menuBehavior\n  };\n  Menu.Item = MenuItem;\n  Menu.ItemIcon = MenuItemIcon;\n  Menu.ItemContent = MenuItemContent;\n  Menu.ItemWrapper = MenuItemWrapper;\n  Menu.ItemIndicator = MenuItemIndicator;\n  Menu.Divider = MenuDivider;\n  Menu.create = createShorthandFactory({\n    Component: Menu,\n    mappedArrayProp: 'items'\n  });\n  return Menu;\n}();\n//# sourceMappingURL=Menu.js.map\n","import { getVirtualParent } from './getVirtualParent';\n/**\n * Gets the element which is the parent of a given element.\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\n * real DOM parent when present.\n *\n * @public\n */\nexport function getParent(child, allowVirtualParents) {\n    if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n    return (child &&\n        ((allowVirtualParents && getVirtualParent(child)) || (child.parentNode && child.parentNode)));\n}\n//# sourceMappingURL=getParent.js.map","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\nexport function getVirtualParent(child) {\n    var parent;\n    if (child && isVirtualElement(child)) {\n        parent = child._virtual.parent;\n    }\n    return parent;\n}\n//# sourceMappingURL=getVirtualParent.js.map","/**\n * Determines whether or not an element has the virtual hierarchy extension.\n *\n * @public\n */\nexport function isVirtualElement(element) {\n    return element && !!element._virtual;\n}\n//# sourceMappingURL=isVirtualElement.js.map","export var buttonGroupBehavior = function buttonGroupBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'group'\n      }\n    }\n  };\n};\n//# sourceMappingURL=buttonGroupBehavior.js.map\n","import _map from \"lodash/map\";\nimport _isNil from \"lodash/isNil\";\nimport { buttonGroupBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory, createShorthand } from '../../utils';\nimport { Button } from './Button';\nimport { getElementType, useAccessibility, useUnhandledProps, useTelemetry, useStyles, useFluentContext } from '@fluentui/react-bindings';\nexport var buttonGroupClassName = 'ui-buttons';\n/**\n * A ButtonGroup represents multiple related actions as a group.\n */\n\nexport var ButtonGroup = /*#__PURE__*/function () {\n  var ButtonGroup = function ButtonGroup(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(ButtonGroup.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        buttons = props.buttons,\n        circular = props.circular,\n        content = props.content,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(ButtonGroup.handledProps, props);\n\n    var _useStyles = useStyles(ButtonGroup.displayName, {\n      className: buttonGroupClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          circular: circular\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: ButtonGroup.displayName,\n      rtl: context.rtl\n    });\n\n    var getStyleForButtonIndex = function getStyleForButtonIndex(styles, isFirst, isLast) {\n      var resultStyles = {};\n\n      if (isFirst) {\n        resultStyles = styles.firstButton;\n      }\n\n      if (isLast) {\n        resultStyles = Object.assign({}, resultStyles, styles.lastButton);\n      }\n\n      if (!isFirst && !isLast) {\n        resultStyles = styles.middleButton;\n      }\n\n      return resultStyles;\n    };\n\n    var emptyButtons = _isNil(buttons);\n\n    var element = /*#__PURE__*/React.createElement(ElementType, Object.assign({}, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), emptyButtons && Object.assign({}, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }))), emptyButtons ? childrenExist(children) ? children : content : _map(buttons, function (button, idx) {\n      return createShorthand(Button, button, {\n        defaultProps: function defaultProps() {\n          return {\n            circular: circular,\n            styles: getStyleForButtonIndex(resolvedStyles, idx === 0, idx === buttons.length - 1)\n          };\n        }\n      });\n    }));\n    setEnd();\n    return element;\n  };\n\n  ButtonGroup.displayName = 'ButtonGroup';\n  ButtonGroup.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    buttons: customPropTypes.collectionShorthand,\n    circular: PropTypes.bool\n  });\n  ButtonGroup.defaultProps = {\n    accessibility: buttonGroupBehavior\n  };\n  ButtonGroup.handledProps = Object.keys(ButtonGroup.propTypes);\n  ButtonGroup.create = createShorthandFactory({\n    Component: ButtonGroup,\n    mappedProp: 'content',\n    mappedArrayProp: 'buttons'\n  });\n  return ButtonGroup;\n}();\n//# sourceMappingURL=ButtonGroup.js.map\n","/**\n * @description\n * Behavior for a datepicker calendar grid cell button.\n * The aria roles need to be explicitly added so that VPC mode is turned off when navigating the grid.\n * Thus the keyboard navigation works properly.\n * @specification\n * Adds attribute 'aria-selected=true' based on the property 'selected'.\n * Adds role='gridcell'.\n */\nexport var datepickerCalendarCellButtonBehavior = function datepickerCalendarCellButtonBehavior(props) {\n  return {\n    attributes: {\n      root: Object.assign({\n        role: 'gridcell'\n      }, props.selected && {\n        'aria-selected': true\n      }, props.disabled && {\n        'aria-disabled': true\n      }, props.today && {\n        'aria-current': 'date'\n      })\n    }\n  };\n};\n//# sourceMappingURL=datepickerCalendarCellButtonBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport { datepickerCalendarCellButtonBehavior } from '@fluentui/accessibility';\nimport { getElementType, useAccessibility, useStyles, useFluentContext, useTelemetry, useUnhandledProps, compose } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\nexport var datepickerCalendarCellButtonClassName = 'ui-datepicker__calendarcellbutton';\n/**\n * A Datepicker cell is used to display calendar grid cell button.\n */\n\nexport var DatepickerCalendarCellButton = /*#__PURE__*/function () {\n  var DatepickerCalendarCellButton = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        disabled = props.disabled,\n        selected = props.selected,\n        quiet = props.quiet,\n        today = props.today,\n        content = props.content;\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var ElementType = getElementType(props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: composeOptions.displayName,\n      actionHandlers: {\n        performClick: function performClick(e) {\n          // prevent Spacebar from scrolling\n          e.preventDefault();\n          handleClick(e);\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          selected: selected,\n          disabled: disabled,\n          quiet: quiet,\n          today: today\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(DatepickerCalendarCellButton.displayName, {\n      className: composeOptions.className,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          disabled: disabled,\n          selected: selected,\n          quiet: quiet,\n          today: today\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl,\n      composeOptions: composeOptions,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var handleClick = function handleClick(e) {\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick,\n      ref: ref\n    }, unhandledProps)), content);\n    setEnd();\n    return element;\n  }, {\n    className: datepickerCalendarCellButtonClassName,\n    displayName: 'DatepickerCalendarCellButton',\n    handledProps: ['accessibility', 'as', 'className', 'content', 'design', 'disabled', 'onClick', 'selected', 'styles', 'variables', 'quiet', 'today']\n  });\n  DatepickerCalendarCellButton.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false\n  }), {\n    onClick: PropTypes.func,\n    disabled: PropTypes.bool,\n    selected: PropTypes.bool,\n    quiet: PropTypes.bool,\n    today: PropTypes.bool\n  });\n  DatepickerCalendarCellButton.defaultProps = {\n    accessibility: datepickerCalendarCellButtonBehavior,\n    as: 'button'\n  };\n  return DatepickerCalendarCellButton;\n}();\n//# sourceMappingURL=DatepickerCalendarCellButton.js.map\n","var baseFlatten = require('./_baseFlatten'),\n    baseRest = require('./_baseRest'),\n    baseUniq = require('./_baseUniq'),\n    isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\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 combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n  return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","var isDebugEnabled = function isDebugEnabled() {\n  var enabled = false;\n\n  if (process.env.NODE_ENV !== 'production') {\n    try {\n      // eslint-disable-next-line no-undef\n      var fluentUIDebugEnabled = !!window.localStorage.fluentUIDebug;\n\n      if (process.env.NODE_ENV !== 'test') {\n        if (fluentUIDebugEnabled) {\n          /* eslint-disable-next-line no-console */\n          console.warn(['@fluentui/react-northstar:', \"CSSinJS Debug data collection is enabled.\", 'To remove this override paste `delete window.localStorage.fluentUIDebug` to your browser console and reload the page.'].join(' '));\n        } else {\n          /* eslint-disable-next-line no-console */\n          console.warn(['@fluentui/react-northstar:', \"CSSinJS Debug data collection is disabled.\", 'To enable data collection paste `window.localStorage.fluentUIDebug = true` to your browser console and reload the page.'].join(' '));\n        }\n      }\n\n      enabled = fluentUIDebugEnabled;\n    } catch (_unused) {}\n  }\n\n  return enabled;\n};\n\nexport var isEnabled = isDebugEnabled();\n//# sourceMappingURL=debugEnabled.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var cardExpandableBoxClassName = 'ui-card__expandablebox';\n/**\n * A CardExpandableBox is used to display data in which is partially hidden and shown on focus/hover.\n */\n\nexport var CardExpandableBox = /*#__PURE__*/function () {\n  var CardExpandableBox = compose(Box, {\n    className: cardExpandableBoxClassName,\n    displayName: 'CardExpandableBox',\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  CardExpandableBox.propTypes = commonPropTypes.createCommon();\n  return CardExpandableBox;\n}();\n//# sourceMappingURL=CardExpandableBox.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = arrayEach;\n\nfunction arrayEach(arr, iterator) {\n  for (var i = 0, len = arr.length; i < len; ++i) {\n    iterator(arr[i], i, len, arr);\n  }\n}","var isObject = function isObject(o) {\n  return o !== null && typeof o === 'object' && !Array.isArray(o);\n};\n\nvar isValid = function isValid(k) {\n  return k !== '__proto__' && k !== 'prototype' && k !== 'constructor';\n}; // Heads Up!\n// Changes here need to consider breaking all object references.\n// Merging should result in a themes that are non-mutated and have broken references.\n\n\nexport var deepmerge = function deepmerge() {\n  var inner = function inner(target, source) {\n    Object.keys(source).forEach(function (k) {\n      if (isValid(k)) {\n        if (isObject(source[k])) {\n          if (!isObject(target[k])) {\n            target[k] = {};\n          }\n\n          inner(target[k], source[k]);\n        } else {\n          target[k] = source[k]; // TODO: do deep clone for arrays? We currently do not have any deep arrays in variables\n        }\n      }\n    });\n    return target;\n  };\n\n  for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n    sources[_key] = arguments[_key];\n  }\n\n  return sources.filter(Boolean).reduce(function (acc, src) {\n    return inner(acc, src);\n  }, {});\n};\n//# sourceMappingURL=deepmerge.js.map\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;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\nmodule.exports = copyArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n    isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\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 */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var isArrayLike = require('./isArrayLike'),\n    isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n *  else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n  return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n    stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\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 */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/**\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","var arrayLikeKeys = require('./_arrayLikeKeys'),\n    baseKeysIn = require('./_baseKeysIn'),\n    isArrayLike = require('./isArrayLike');\n\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 */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\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 */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n    isArrayLike = require('./isArrayLike'),\n    isIndex = require('./_isIndex'),\n    isObject = require('./isObject');\n\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 */\nfunction isIterateeCall(value, index, object) {\n  if (!isObject(object)) {\n    return false;\n  }\n  var type = typeof index;\n  if (type == 'number'\n        ? (isArrayLike(object) && isIndex(index, object.length))\n        : (type == 'string' && index in object)\n      ) {\n    return eq(object[index], value);\n  }\n  return false;\n}\n\nmodule.exports = isIterateeCall;\n","var castPath = require('./_castPath'),\n    toKey = require('./_toKey');\n\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 */\nfunction baseGet(object, path) {\n  path = castPath(path, object);\n\n  var index = 0,\n      length = path.length;\n\n  while (object != null && index < length) {\n    object = object[toKey(path[index++])];\n  }\n  return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var baseForOwn = require('./_baseForOwn'),\n    createBaseEach = require('./_createBaseEach');\n\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 */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var arrayPush = require('./_arrayPush'),\n    isFlattenable = require('./_isFlattenable');\n\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 */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n  var index = -1,\n      length = array.length;\n\n  predicate || (predicate = isFlattenable);\n  result || (result = []);\n\n  while (++index < length) {\n    var value = array[index];\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  return result;\n}\n\nmodule.exports = baseFlatten;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = cssifyDeclaration;\n\nvar _hyphenateProperty = require(\"./hyphenateProperty\");\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction cssifyDeclaration(property, value) {\n  return (0, _hyphenateProperty2[\"default\"])(property) + ':' + value;\n}","var baseUniq = require('./_baseUniq');\n\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 */\nfunction uniq(array) {\n  return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","var PlacementParts;\n\n(function (PlacementParts) {\n  PlacementParts[\"top\"] = \"top\";\n  PlacementParts[\"bottom\"] = \"bottom\";\n  PlacementParts[\"start\"] = \"start\";\n  PlacementParts[\"end\"] = \"end\";\n  PlacementParts[\"left\"] = \"left\";\n  PlacementParts[\"right\"] = \"right\";\n  PlacementParts[\"center\"] = \"\";\n})(PlacementParts || (PlacementParts = {}));\n\nvar getPositionMap = function getPositionMap(rtl) {\n  return {\n    above: PlacementParts.top,\n    below: PlacementParts.bottom,\n    before: rtl ? PlacementParts.right : PlacementParts.left,\n    after: rtl ? PlacementParts.left : PlacementParts.right\n  };\n};\n\nvar getAlignmentMap = function getAlignmentMap(rtl) {\n  return {\n    start: rtl ? PlacementParts.end : PlacementParts.start,\n    end: rtl ? PlacementParts.start : PlacementParts.end,\n    top: PlacementParts.start,\n    bottom: PlacementParts.end,\n    center: PlacementParts.center\n  };\n};\n\nvar shouldAlignToCenter = function shouldAlignToCenter(p, a) {\n  var positionedVertically = p === 'above' || p === 'below';\n  var alignedVertically = a === 'top' || a === 'bottom';\n  return positionedVertically && alignedVertically || !positionedVertically && !alignedVertically;\n};\n/**\n * | position | alignment | placement       | placement RTL\n * -----------------------------------------------------------------\n * | above    | start     |  top-start      |  top-end\n * | above    | center    |  top            |  top\n * | above    | end       |  top-end        |  top-start\n * | below    | start     |  bottom-start   |  bottom-end\n * | below    | center    |  bottom         |  bottom\n * | below    | end       |  bottom-end     |  bottom-start\n * | before   | top       |  left-start     |  right-start\n * | before   | center    |  left           |  right\n * | before   | bottom    |  left-end       |  right-end\n * | after    | top       |  right-start    |  left-start\n * | after    | center    |  right          |  left\n * | after    | bottom    |  right-end      |  left-end\n */\n\n\nexport var getPlacement = function getPlacement(align, position, rtl) {\n  var alignment = shouldAlignToCenter(position, align) ? 'center' : align;\n  var computedPosition = getPositionMap(rtl)[position];\n  var computedAlignment = getAlignmentMap(rtl)[alignment];\n  var stringifiedAlignment = computedAlignment && \"-\" + computedAlignment;\n  return \"\" + computedPosition + stringifiedAlignment;\n};\nexport var applyRtlToOffset = function applyRtlToOffset(offset) {\n  if (typeof offset === 'undefined') {\n    return undefined;\n  }\n\n  if (Array.isArray(offset)) {\n    offset[0] = offset[0] * -1;\n    return offset;\n  }\n\n  return function (param) {\n    return applyRtlToOffset(offset(param));\n  };\n};\n//# sourceMappingURL=positioningHelper.js.map\n","import { useIsomorphicLayoutEffect } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport { isBrowser } from '../../utils/isBrowser';\nexport var PortalBoxContext = /*#__PURE__*/React.createContext(null);\nexport var usePortalBox = function usePortalBox(options) {\n  var className = options.className,\n      rtl = options.rtl,\n      target = options.target;\n  var element = React.useMemo(function () {\n    var newElement = isBrowser() ? target.createElement('div') : null; // Element should be attached to DOM during render to make elements that will be rendered\n    // inside accessible in effects of child components\n\n    if (newElement) {\n      target.body.appendChild(newElement);\n    }\n\n    return newElement;\n  }, [target]);\n  useIsomorphicLayoutEffect(function () {\n    if (element) {\n      element.setAttribute('class', className);\n\n      if (rtl) {\n        element.setAttribute('dir', 'rtl');\n      } else {\n        element.removeAttribute('dir');\n      }\n    }\n  }, [className, element, rtl]); // This effect should always last as it removes element from HTML tree\n\n  useIsomorphicLayoutEffect(function () {\n    return function () {\n      if (element) {\n        target.body.removeChild(element);\n      }\n    };\n  }, [element, target]);\n  return element;\n};\n//# sourceMappingURL=usePortalBox.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonButtonClassName = 'ui-skeleton__button';\n/**\n * An SkeletonButton represents a buton component that will be loaded\n */\n\nexport var SkeletonButton = /*#__PURE__*/function () {\n  var SkeletonButton = compose(SkeletonShape, {\n    className: skeletonButtonClassName,\n    displayName: 'SkeletonButton',\n    overrideStyles: true,\n    shorthandConfig: {},\n    handledProps: ['size', 'circular', 'iconOnly', 'fluid'],\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var size = _ref.size,\n          fluid = _ref.fluid,\n          iconOnly = _ref.iconOnly,\n          circular = _ref.circular;\n      return {\n        size: size,\n        fluid: fluid,\n        iconOnly: iconOnly,\n        circular: circular\n      };\n    }\n  });\n  SkeletonButton.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    size: customPropTypes.size,\n    circular: PropTypes.bool,\n    iconOnly: PropTypes.bool,\n    fluid: PropTypes.bool\n  });\n  SkeletonButton.defaultProps = {\n    as: 'span',\n    size: 'medium'\n  };\n  return SkeletonButton;\n}();\n//# sourceMappingURL=SkeletonButton.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonAvatarClassName = 'ui-skeleton__avatar';\n/**\n * An SkeletonAvatar represents an avatar component that will be loaded\n */\n\nexport var SkeletonAvatar = /*#__PURE__*/function () {\n  var SkeletonAvatar = compose(SkeletonShape, {\n    className: skeletonAvatarClassName,\n    displayName: 'SkeletonAvatar',\n    overrideStyles: true,\n    shorthandConfig: {},\n    handledProps: ['size'],\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var size = _ref.size;\n      return {\n        size: size\n      };\n    }\n  });\n  SkeletonAvatar.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    size: customPropTypes.size\n  });\n  SkeletonAvatar.defaultProps = {\n    as: 'span',\n    size: 'medium'\n  };\n  return SkeletonAvatar;\n}();\n//# sourceMappingURL=SkeletonAvatar.js.map\n","import * as PropTypes from 'prop-types';\nimport { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { SkeletonShape } from './SkeletonShape';\nexport var skeletonInputClassName = 'ui-skeleton__input';\n/**\n * An SkeletonInput represents a input component that will be loaded\n */\n\nexport var SkeletonInput = /*#__PURE__*/function () {\n  var SkeletonInput = compose(SkeletonShape, {\n    className: skeletonInputClassName,\n    displayName: 'SkeletonInput',\n    overrideStyles: true,\n    shorthandConfig: {},\n    handledProps: ['fluid'],\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var fluid = _ref.fluid;\n      return {\n        fluid: fluid\n      };\n    }\n  });\n  SkeletonInput.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    fluid: PropTypes.bool\n  });\n  SkeletonInput.defaultProps = {\n    as: 'span'\n  };\n  return SkeletonInput;\n}();\n//# sourceMappingURL=SkeletonInput.js.map\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\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;\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;\n","export var accelerateMax = 'cubic-bezier(1,0,1,1)';\nexport var accelerateMid = 'cubic-bezier(0.7,0,1,0.5)';\nexport var accelerateMin = 'cubic-bezier(0.8,0,1,1)';\nexport var decelerateMax = 'cubic-bezier(0,0,0,1)';\nexport var decelerateMid = 'cubic-bezier(0.1,0.9,0.2,1)';\nexport var decelerateMin = 'cubic-bezier(0.33,0,0.1,1)';\nexport var maxEasyEase = 'cubic-bezier(0.8,0,0.1,1)';\nexport var easyEase = 'cubic-bezier(0.33,0,0.67,1)';\nexport var linear = 'cubic-bezier(0,0,1,1)';\n//# sourceMappingURL=timingFunctions.js.map\n","export var ultraFast = '50ms';\nexport var faster = '100ms';\nexport var fast = '150ms';\nexport var normal = '200ms';\nexport var slow = '300ms';\nexport var slower = '400ms';\nexport var ultraSlow = '500ms';\n//# sourceMappingURL=durations.js.map\n","import { decelerateMax, accelerateMax } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var scaleAnimations = {\n  // Scale in w/ fade- UltraFast\n  scaleEnterUltraFast: {\n    keyframe: function keyframe(_ref) {\n      var delta = _ref.delta;\n      return {\n        '0%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'scale(1)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.88\n    },\n    duration: ultraFast,\n    timingFunction: decelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale in w/ fade- Faster\n  scaleEnterFaster: {\n    keyframe: function keyframe(_ref2) {\n      var delta = _ref2.delta;\n      return {\n        '0%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'scale(1)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.88\n    },\n    duration: faster,\n    timingFunction: decelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale in w/ fade- Fast\n  scaleEnterFast: {\n    keyframe: function keyframe(_ref3) {\n      var delta = _ref3.delta;\n      return {\n        '0%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'scale(1)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.88\n    },\n    duration: fast,\n    timingFunction: decelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale in  w/ fade- Normal\n  scaleEnterNormal: {\n    keyframe: function keyframe(_ref4) {\n      var delta = _ref4.delta;\n      return {\n        '0%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'scale(1)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.88\n    },\n    duration: normal,\n    timingFunction: decelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale in w/ fade - Slow\n  scaleEnterSlow: {\n    keyframe: function keyframe(_ref5) {\n      var delta = _ref5.delta;\n      return {\n        '0%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'scale(1)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.88\n    },\n    duration: slow,\n    timingFunction: decelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale in w/ fade - Slower\n  scaleEnterSlower: {\n    keyframe: function keyframe(_ref6) {\n      var delta = _ref6.delta;\n      return {\n        '0%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'scale(1)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.88\n    },\n    duration: slower,\n    timingFunction: decelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale in w/ fade - UlrtaSlow\n  scaleEnterUltraSlow: {\n    keyframe: function keyframe(_ref7) {\n      var delta = _ref7.delta;\n      return {\n        '0%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'scale(1)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.88\n    },\n    duration: ultraSlow,\n    timingFunction: decelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale Out w/ Fade - UltraFast\n  scaleExitUltraFast: {\n    keyframe: function keyframe(_ref8) {\n      var delta = _ref8.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: ultraFast,\n    timingFunction: accelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale Out w/ Fade - Faster\n  scaleExitFaster: {\n    keyframe: function keyframe(_ref9) {\n      var delta = _ref9.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: faster,\n    timingFunction: accelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale Out w/ Fade - Fast\n  scaleExitFast: {\n    keyframe: function keyframe(_ref10) {\n      var delta = _ref10.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: fast,\n    timingFunction: accelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale Out w/ Fade - Normal\n  scaleExitNormal: {\n    keyframe: function keyframe(_ref11) {\n      var delta = _ref11.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: normal,\n    timingFunction: accelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale Out w/ Fade - Slow\n  scaleExitSlow: {\n    keyframe: function keyframe(_ref12) {\n      var delta = _ref12.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: slow,\n    timingFunction: accelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale Out w/ Fade - Slower\n  scaleExitSlower: {\n    keyframe: function keyframe(_ref13) {\n      var delta = _ref13.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: slower,\n    timingFunction: accelerateMax,\n    fillMode: 'forwards'\n  },\n  // Scale Out w/ Fade - UltraSlow\n  scaleExitUltraSlow: {\n    keyframe: function keyframe(_ref14) {\n      var delta = _ref14.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: ultraSlow,\n    timingFunction: accelerateMax,\n    fillMode: 'forwards'\n  },\n  scaleDownSoft: {\n    keyframe: function keyframe(_ref15) {\n      var delta = _ref15.delta;\n      return {\n        '0%': {\n          transform: 'scale(1)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"scale(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0.9\n    },\n    duration: '100ms',\n    timingFunction: 'cubic-bezier(.78, 0, .22, 1)',\n    fillMode: 'both'\n  }\n};\n//# sourceMappingURL=scale.js.map\n","import { linear } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var fadeInOutAnimations = {\n  // Fade Ins\n  // Basic Fade In Animation -- Ultra Fast\n  fadeEnterUltraFast: {\n    keyframe: function keyframe(_ref) {\n      var delta = _ref.delta;\n      return {\n        '0%': {\n          opacity: delta\n        },\n        '100%': {\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: ultraFast,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade In Animation -- Faster\n  fadeEnterFaster: {\n    keyframe: function keyframe(_ref2) {\n      var delta = _ref2.delta;\n      return {\n        '0%': {\n          opacity: delta\n        },\n        '100%': {\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: faster,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade In Animation -- Fast\n  fadeEnterFast: {\n    keyframe: function keyframe(_ref3) {\n      var delta = _ref3.delta;\n      return {\n        '0%': {\n          opacity: delta\n        },\n        '100%': {\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: fast,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade In Animation --Normal\n  fadeEnterNormal: {\n    keyframe: function keyframe(_ref4) {\n      var delta = _ref4.delta;\n      return {\n        '0%': {\n          opacity: delta\n        },\n        '100%': {\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: normal,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade In Animation --Slow\n  fadeEnterSlow: {\n    keyframe: function keyframe(_ref5) {\n      var delta = _ref5.delta;\n      return {\n        '0%': {\n          opacity: delta\n        },\n        '100%': {\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: slow,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade In Animation --Slow\n  fadeEnterSlower: {\n    keyframe: function keyframe(_ref6) {\n      var delta = _ref6.delta;\n      return {\n        '0%': {\n          opacity: delta\n        },\n        '100%': {\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: slower,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade In Animation --UltraSlow\n  fadeEnterUltraSlow: {\n    keyframe: function keyframe(_ref7) {\n      var delta = _ref7.delta;\n      return {\n        '0%': {\n          opacity: delta\n        },\n        '100%': {\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: ultraSlow,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Fade Outs\n  // Basic Fade Out Animation --UltraFast\n  fadeExitUltraFast: {\n    keyframe: function keyframe(_ref8) {\n      var delta = _ref8.delta;\n      return {\n        '0%': {\n          opacity: 1\n        },\n        '100%': {\n          opacity: delta\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: ultraFast,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade Out Animation --Faster\n  fadeExitFaster: {\n    keyframe: function keyframe(_ref9) {\n      var delta = _ref9.delta;\n      return {\n        '0%': {\n          opacity: 1\n        },\n        '100%': {\n          opacity: delta\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: faster,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade Out Animation --Fast\n  fadeExitFast: {\n    keyframe: function keyframe(_ref10) {\n      var delta = _ref10.delta;\n      return {\n        '0%': {\n          opacity: 1\n        },\n        '100%': {\n          opacity: delta\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: fast,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade Out Animation --Normal\n  fadeExitNormal: {\n    keyframe: function keyframe(_ref11) {\n      var delta = _ref11.delta;\n      return {\n        '0%': {\n          opacity: 1\n        },\n        '100%': {\n          opacity: delta\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: normal,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade Out Animation --Slow\n  fadeExitSlow: {\n    keyframe: function keyframe(_ref12) {\n      var delta = _ref12.delta;\n      return {\n        '0%': {\n          opacity: 1\n        },\n        '100%': {\n          opacity: delta\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: slow,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade Out Animation --Slower\n  fadeExitSlower: {\n    keyframe: function keyframe(_ref13) {\n      var delta = _ref13.delta;\n      return {\n        '0%': {\n          opacity: 1\n        },\n        '100%': {\n          opacity: delta\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: slower,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  },\n  // Basic Fade Out Animation --UltraSlow\n  fadeExitUltraSlow: {\n    keyframe: function keyframe(_ref14) {\n      var delta = _ref14.delta;\n      return {\n        '0%': {\n          opacity: 1\n        },\n        '100%': {\n          opacity: delta\n        }\n      };\n    },\n    keyframeParams: {\n      delta: 0\n    },\n    duration: ultraSlow,\n    timingFunction: linear,\n    fillMode: 'forwards'\n  }\n};\n//# sourceMappingURL=fade.js.map\n","import { decelerateMax, accelerateMax } from './timingFunctions';\nimport { ultraFast, faster, fast, normal, slow, slower, ultraSlow } from './durations';\nexport var slideAnimations = {\n  // Slide Down Animations\n  // Slides object down to original position --ultrafast\n  slideDownEnterUltraFast: {\n    keyframe: function keyframe(_ref) {\n      var delta = _ref.delta;\n      return {\n        '0%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object down to original position -Faster\n  slideDownEnterFaster: {\n    keyframe: function keyframe(_ref2) {\n      var delta = _ref2.delta;\n      return {\n        '0%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object down to original position -fast\n  slideDownEnterFast: {\n    keyframe: function keyframe(_ref3) {\n      var delta = _ref3.delta;\n      return {\n        '0%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from top to bottom --normal\n  slideDownEnterNormal: {\n    keyframe: function keyframe(_ref4) {\n      var delta = _ref4.delta;\n      return {\n        '0%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: normal,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from top to bottom --slow\n  slideDownEnterSlow: {\n    keyframe: function keyframe(_ref5) {\n      var delta = _ref5.delta;\n      return {\n        '0%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from top to bottom --slower\n  slideDownEnterSlower: {\n    keyframe: function keyframe(_ref6) {\n      var delta = _ref6.delta;\n      return {\n        '0%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from top to bottom - Slow\n  slideDownEnterUltraSlow: {\n    keyframe: function keyframe(_ref7) {\n      var delta = _ref7.delta;\n      return {\n        '0%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up Animations\n  // Slides object in from top to bottom --ultrafast\n  slideUpEnterUltraFast: {\n    keyframe: function keyframe(_ref8) {\n      var delta = _ref8.delta;\n      return {\n        '0%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from top to bottom --faster\n  slideUpEnterFaster: {\n    keyframe: function keyframe(_ref9) {\n      var delta = _ref9.delta;\n      return {\n        '0%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from top to bottom --fast\n  slideUpEnterFast: {\n    keyframe: function keyframe(_ref10) {\n      var delta = _ref10.delta;\n      return {\n        '0%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from down to up-normal\n  slideUpEnterNormal: {\n    keyframe: function keyframe(_ref11) {\n      var delta = _ref11.delta;\n      return {\n        '0%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: normal,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from top to bottom --slow\n  slideUpEnterSlow: {\n    keyframe: function keyframe(_ref12) {\n      var delta = _ref12.delta;\n      return {\n        '0%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from bottom to top - slower\n  slideUpEnterSlower: {\n    keyframe: function keyframe(_ref13) {\n      var delta = _ref13.delta;\n      return {\n        '0%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from bottom to top - ultraslow\n  slideUpEnterUltraSlow: {\n    keyframe: function keyframe(_ref14) {\n      var delta = _ref14.delta;\n      return {\n        '0%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // ---Horizontal Slide Animations---- //\n  // Slide Left Animations\n  // Slides object in from right to left --ultrafast\n  slideLeftEnterUltraFast: {\n    keyframe: function keyframe(_ref15) {\n      var delta = _ref15.delta;\n      return {\n        '0%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from right to left -faster\n  slideLeftEnterFaster: {\n    keyframe: function keyframe(_ref16) {\n      var delta = _ref16.delta;\n      return {\n        '0%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from right to left -Fast\n  slideLeftEnterFast: {\n    keyframe: function keyframe(_ref17) {\n      var delta = _ref17.delta;\n      return {\n        '0%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from right to left -Normal\n  slideLeftEnterNormal: {\n    keyframe: function keyframe(_ref18) {\n      var delta = _ref18.delta;\n      return {\n        '0%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '200px'\n    },\n    duration: normal,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from right to left -Slow\n  slideLeftEnterSlow: {\n    keyframe: function keyframe(_ref19) {\n      var delta = _ref19.delta;\n      return {\n        '0%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from right to left - slower\n  slideLeftEnterSlower: {\n    keyframe: function keyframe(_ref20) {\n      var delta = _ref20.delta;\n      return {\n        '0%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from right to left - ultraslow\n  slideLeftEnterUltraSlow: {\n    keyframe: function keyframe(_ref21) {\n      var delta = _ref21.delta;\n      return {\n        '0%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Animations\n  // Slides object in from left to right -ultrafast\n  slideRightEnterUltraFast: {\n    keyframe: function keyframe(_ref22) {\n      var delta = _ref22.delta;\n      return {\n        '0%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from left to right - Faster\n  slideRightEnterFaster: {\n    keyframe: function keyframe(_ref23) {\n      var delta = _ref23.delta;\n      return {\n        '0%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from left to right -fast\n  slideRightEnterFast: {\n    keyframe: function keyframe(_ref24) {\n      var delta = _ref24.delta;\n      return {\n        '0%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from left to right -normal\n  slideRightEnterNormal: {\n    keyframe: function keyframe(_ref25) {\n      var delta = _ref25.delta;\n      return {\n        '0%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '200px'\n    },\n    duration: normal,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from left to right -slow\n  slideRightEnterSlow: {\n    keyframe: function keyframe(_ref26) {\n      var delta = _ref26.delta;\n      return {\n        '0%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from left to right- slower\n  slideRightEnterSlower: {\n    keyframe: function keyframe(_ref27) {\n      var delta = _ref27.delta;\n      return {\n        '0%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slides object in from left to right- ultraslow\n  slideRightEnterUltraSlow: {\n    keyframe: function keyframe(_ref28) {\n      var delta = _ref28.delta;\n      return {\n        '0%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        },\n        '100%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: decelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Exit Animation///\n  // Slide Down - Exit - UltraFast\n  slideDownExitUltraFast: {\n    keyframe: function keyframe(_ref29) {\n      var delta = _ref29.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Down - Exit - Faster\n  slideDownExitFaster: {\n    keyframe: function keyframe(_ref30) {\n      var delta = _ref30.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Down - Exit - Fast\n  slideDownExitFast: {\n    keyframe: function keyframe(_ref31) {\n      var delta = _ref31.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Down - Exit - Normal\n  slideDownExitNormal: {\n    keyframe: function keyframe(_ref32) {\n      var delta = _ref32.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: normal,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Down - Exit - Slow\n  slideDownExitSlow: {\n    keyframe: function keyframe(_ref33) {\n      var delta = _ref33.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Down - Exit - Slower\n  slideDownExitSlower: {\n    keyframe: function keyframe(_ref34) {\n      var delta = _ref34.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Down - Exit - Ultraslow\n  slideDownExitUltraSlow: {\n    keyframe: function keyframe(_ref35) {\n      var delta = _ref35.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up - Exit- Animations\n  // Slide Up - Exit - UltraFast\n  slideUpExitUltraFast: {\n    keyframe: function keyframe(_ref36) {\n      var delta = _ref36.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up - Exit - Faster\n  slideUpExitFaster: {\n    keyframe: function keyframe(_ref37) {\n      var delta = _ref37.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up - Exit - Fast\n  slideUpExitFast: {\n    keyframe: function keyframe(_ref38) {\n      var delta = _ref38.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up - Exit - Normal\n  slideUpExitNormal: {\n    keyframe: function keyframe(_ref39) {\n      var delta = _ref39.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: normal,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up - Exit - Slow\n  slideUpExitSlow: {\n    keyframe: function keyframe(_ref40) {\n      var delta = _ref40.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up - Exit - Slower\n  slideUpExitSlower: {\n    keyframe: function keyframe(_ref41) {\n      var delta = _ref41.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Up - Exit - Ultra Slow\n  slideUpExitUltraSlow: {\n    keyframe: function keyframe(_ref42) {\n      var delta = _ref42.delta;\n      return {\n        '0%': {\n          transform: 'translateY(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateY(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Exit Animations\n  // Slide Right Exit - Ultrafast\n  slideRightExitUltraFast: {\n    keyframe: function keyframe(_ref43) {\n      var delta = _ref43.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Exit - Faster\n  slideRightExitFaster: {\n    keyframe: function keyframe(_ref44) {\n      var delta = _ref44.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Exit - Fast\n  slideRightExitFast: {\n    keyframe: function keyframe(_ref45) {\n      var delta = _ref45.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Exit - Normal\n  slideRightExitNormal: {\n    keyframe: function keyframe(_ref46) {\n      var delta = _ref46.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: normal,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Exit - Slow\n  slideRightExitSlow: {\n    keyframe: function keyframe(_ref47) {\n      var delta = _ref47.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Exit - Ultrafast\n  slideRightExitSlower: {\n    keyframe: function keyframe(_ref48) {\n      var delta = _ref48.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Right Exit - Ultraslow\n  slideRightExitUltraSlow: {\n    keyframe: function keyframe(_ref49) {\n      var delta = _ref49.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Left Exit Aniamtions\n  // Slide Left Exit -ultrafast\n  slideLeftExitUltraFast: {\n    keyframe: function keyframe(_ref50) {\n      var delta = _ref50.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraFast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Left Exit -Faster\n  slideLeftExitFaster: {\n    keyframe: function keyframe(_ref51) {\n      var delta = _ref51.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: faster,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Left Exit -Fast\n  slideLeftExitFast: {\n    keyframe: function keyframe(_ref52) {\n      var delta = _ref52.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: fast,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Left Exit -Normal\n  slideLeftExitNormal: {\n    keyframe: function keyframe(_ref53) {\n      var delta = _ref53.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: normal,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Left Exit -Slow\n  slideLeftExitSlow: {\n    keyframe: function keyframe(_ref54) {\n      var delta = _ref54.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Left Exit -Slower\n  slideLeftExitSlower: {\n    keyframe: function keyframe(_ref55) {\n      var delta = _ref55.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: slower,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  },\n  // Slide Left Exit -Ultraslow\n  slideLeftExitUltraSlow: {\n    keyframe: function keyframe(_ref56) {\n      var delta = _ref56.delta;\n      return {\n        '0%': {\n          transform: 'translateX(0px)',\n          opacity: 1\n        },\n        '100%': {\n          transform: \"translateX(-\" + delta + \")\",\n          opacity: 0\n        }\n      };\n    },\n    keyframeParams: {\n      delta: '20px'\n    },\n    duration: ultraSlow,\n    timingFunction: accelerateMax,\n    direction: 'forward',\n    fillMode: 'forwards'\n  }\n};\n//# sourceMappingURL=slide.js.map\n","import { scaleAnimations } from './scale';\nimport { fadeInOutAnimations as fadeAnimations } from './fade';\nimport { slideAnimations } from './slide';\nexport var animations = Object.assign({}, fadeAnimations, scaleAnimations, slideAnimations, {\n  'carousel-slide-to-next-enter': slideAnimations.slideLeftEnterNormal,\n  'carousel-slide-to-previous-enter': slideAnimations.slideRightEnterNormal,\n  'popup-show': fadeAnimations.fadeEnterUltraFast,\n  'popup-hide': fadeAnimations.fadeExitUltraFast\n});\n//# sourceMappingURL=index.js.map\n","export var accordionVariables = function accordionVariables(siteVariables) {\n  return {\n    color: siteVariables.bodyColor\n  };\n};\n//# sourceMappingURL=accordionVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var attachmentVariables = function attachmentVariables(siteVariables) {\n  return {\n    padding: pxToRem(7) + \" \" + pxToRem(3) + \" \" + pxToRem(7) + \" \" + pxToRem(11),\n    // padding set to 1px less to account for 1px border\n    iconSpace: pxToRem(12),\n    iconSize: pxToRem(32),\n    borderColor: siteVariables.colorScheme.default.border3,\n    borderRadius: pxToRem(3),\n    backgroundColor: siteVariables.colorScheme.default.background4,\n    backgroundColorHover: siteVariables.colorScheme.default.backgroundHover1,\n    textColor: siteVariables.colorScheme.default.foreground,\n    textColorHover: siteVariables.colorScheme.default.foregroundHover,\n    boxShadow: siteVariables.shadowLevel1,\n    focusBackgroundColor: undefined,\n    focusColor: undefined,\n    progressColor: siteVariables.colorScheme.green.background,\n    progressHeight: pxToRem(4),\n    headerFontSize: siteVariables.fontSizes.medium,\n    headerFontWeight: siteVariables.fontWeightSemibold,\n    headerLineHeight: siteVariables.lineHeightMedium,\n    descriptionFontSize: siteVariables.fontSizes.small,\n    descriptionFontWeight: siteVariables.fontWeightRegular,\n    descriptionLineHeight: siteVariables.lineHeightDefault,\n    // action variables\n    actionHeight: pxToRem(32),\n    actionMaxWidth: pxToRem(280),\n    actionColor: siteVariables.colorScheme.default.foreground,\n    actionPrimaryColor: siteVariables.colorScheme.brand.foreground,\n    actionColorDisabled: siteVariables.colorScheme.brand.foregroundDisabled1,\n    actionIconSize: pxToRem(16),\n    actionLoaderBorderSize: pxToRem(2),\n    actionLoaderSize: pxToRem(20),\n    actionLoaderSvgHeight: pxToRem(1220),\n    actionLoaderSvgAnimationHeight: pxToRem(-1200),\n    actionFocusBorderRadius: pxToRem(3)\n  };\n};\n//# sourceMappingURL=attachmentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var alertVariables = function alertVariables(siteVars) {\n  var minHeight = pxToRem(28);\n  return {\n    borderStyle: 'solid',\n    borderWidth: '1px',\n    borderRadius: pxToRem(3),\n    backgroundColor: siteVars.colorScheme.default.background4,\n    borderColor: siteVars.colorScheme.default.border2,\n    color: siteVars.colorScheme.default.foreground1,\n    fontWeight: siteVars.fontWeightRegular,\n    minHeight: minHeight,\n    padding: \"0 \" + pxToRem(16),\n    actionsMargin: pxToRem(5),\n    hoverBorderColor: undefined,\n    hoverBackgroundColor: undefined,\n    focusBackgroundColor: undefined,\n    dismissActionHoverBorderRadius: undefined,\n    dismissActionHoverBorderWidth: undefined,\n    dismissActionHoverInnerBorderColor: undefined,\n    dismissActionHoverOuterBorderColor: undefined,\n    dismissActionHoverZIndex: undefined,\n    dismissActionSize: minHeight,\n    dismissActionColor: undefined,\n    dismissiblePadding: \"0 0 0 \" + pxToRem(16),\n    dangerColor: siteVars.colorScheme.red.foreground,\n    dangerBackgroundColor: siteVars.colorScheme.red.background1,\n    dangerBorderColor: siteVars.colorScheme.red.border,\n    oof: false,\n    oofColor: siteVars.colorScheme.pink.foreground,\n    oofBackgroundColor: siteVars.colorScheme.pink.background,\n    oofBorderColor: siteVars.colorScheme.pink.border,\n    successColor: siteVars.colorScheme.green.foreground,\n    successBackgroundColor: siteVars.colorScheme.green.background2,\n    successBorderColor: siteVars.colorScheme.green.border,\n    urgent: false,\n    urgentColor: siteVars.colorScheme.red.foreground1,\n    urgentBackgroundColor: siteVars.colorScheme.red.background3,\n    urgentBorderColor: siteVars.colorScheme.red.background3,\n    warningColor: siteVars.colorScheme.yellow.foreground4,\n    warningBackgroundColor: siteVars.colorScheme.yellow.background3,\n    warningBorderColor: siteVars.colorScheme.yellow.border,\n    headerFontWeight: siteVars.fontWeightSemibold,\n    headerMargin: \"0 \" + pxToRem(10) + \" 0 0\",\n    iconMargin: \"0 \" + pxToRem(10) + \" 0 0\",\n    iconSize: pxToRem(16),\n    dismissActionBackgroundColor: 'transparent',\n    dismissActionBorderRadius: siteVars.borderRadius,\n    dismissActionBorderColor: 'transparent',\n    dismissActionColorHover: siteVars.colorScheme.brand.foregroundHover,\n    dismissActionBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n    dismissActionBorderColorHover: siteVars.colorScheme.default.borderHover,\n    dismissActionContentFontWeight: siteVars.fontWeightSemibold,\n    dismissActionBackgroundColorFocus: undefined,\n    dismissActionBorderColorFocus: undefined,\n    dismissActionColorFocus: undefined,\n    dismissActionColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n    dismissActionBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n    dismissActionBorderColorDisabled: 'transparent',\n    dismissActionIndicatorSize: pxToRem(16),\n    focusBorderRadius: siteVars.borderRadius,\n    focusBorderWidth: siteVars.borderWidth,\n    focusInnerBorderColor: siteVars.focusInnerBorderColor,\n    focusOuterBorderColor: siteVars.focusOuterBorderColor,\n    focusBorderZIndex: siteVars.zIndexes.foreground\n  };\n};\n//# sourceMappingURL=alertVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nexport var labelColorAreas = stringLiteralsArray('foreground', 'background');\nexport var avatarVariables = function avatarVariables(siteVariables) {\n  return {\n    avatarBorderColor: '',\n    avatarBorderWidth: '0',\n    squareAvatarBorderRadius: pxToRem(3),\n    iconColor: siteVariables.colors.white,\n    iconBackgroundColor: siteVariables.colors.brand[600],\n    statusBorderWidth: '2px',\n    statusIconSize: pxToRem(7),\n    statusBorderColor: siteVariables.bodyBackground,\n    statusSuccessBackgroundColor: siteVariables.colorScheme.green.background,\n    statusSuccessColor: siteVariables.colorScheme.green.foreground1,\n    statusInfoBackgroundColor: siteVariables.colorScheme.brand.background,\n    statusInfoColor: siteVariables.colorScheme.default.foreground2,\n    statusWarningBackgroundColor: siteVariables.colorScheme.yellow.background,\n    statusWarningColor: siteVariables.colorScheme.yellow.foreground2,\n    statusErrorBackgroundColor: siteVariables.colorScheme.red.background,\n    statusErrorColor: siteVariables.colorScheme.red.foreground2,\n    statusBackgroundColor: siteVariables.colorScheme.default.background5,\n    statusColor: siteVariables.colorScheme.default.foreground4,\n    imageWidth: undefined,\n    imageHeight: undefined,\n    imageAvatarRadius: pxToRem(9999),\n    imageAvatarSize: pxToRem(32),\n    imageCircularRadius: pxToRem(9999),\n    labelCircularRadius: pxToRem(9999),\n    labelColor: 'rgba(0, 0, 0, 0.6)',\n    labelBackground: 'rgb(232, 232, 232)'\n  };\n};\n//# sourceMappingURL=avatarVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var buttonVariables = function buttonVariables(siteVars) {\n  return {\n    padding: \"0 \" + pxToRem(20),\n    height: pxToRem(32),\n    minWidth: pxToRem(96),\n    loadingMinWidth: pxToRem(118),\n    maxWidth: pxToRem(280),\n    borderRadius: siteVars.borderRadius,\n    contentFontSize: siteVars.fontSizes.medium,\n    contentFontWeight: siteVars.fontWeightSemibold,\n    contentLineHeight: siteVars.lineHeightMedium,\n    color: siteVars.colorScheme.default.foreground,\n    colorHover: siteVars.colorScheme.default.foregroundHover,\n    colorActive: siteVars.colorScheme.default.foregroundPressed,\n    colorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n    colorFocus: undefined,\n    iconSize: pxToRem(16),\n    backgroundColor: siteVars.colorScheme.default.background,\n    backgroundColorActive: siteVars.colorScheme.default.backgroundPressed,\n    backgroundColorHover: siteVars.colorScheme.default.backgroundHover1,\n    backgroundColorFocus: undefined,\n    backgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n    borderColor: siteVars.colorScheme.default.border,\n    borderColorHover: siteVars.colorScheme.default.borderHover,\n    borderColorFocus: undefined,\n    borderColorActive: siteVars.colorScheme.default.borderPressed,\n    borderColorDisabled: 'transparent',\n    backgroundColorIconOnlyHover: siteVars.colorScheme.default.backgroundHover2,\n    primaryColor: siteVars.colorScheme.brand.foreground4,\n    primaryColorHover: siteVars.colorScheme.brand.foreground4,\n    primaryBackgroundColor: siteVars.colorScheme.brand.background,\n    primaryBackgroundColorActive: siteVars.colorScheme.brand.backgroundPressed,\n    primaryBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover,\n    primaryBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n    primaryBackgroundColorFocus: undefined,\n    primaryBorderColor: 'transparent',\n    tintedColor: siteVars.colorScheme.brand.foreground,\n    tintedColorHover: siteVars.colorScheme.brand.foreground,\n    tintedBackgroundColor: siteVars.colorScheme.default.background,\n    tintedBackgroundColorActive: siteVars.colorScheme.brand.backgroundHover1,\n    tintedBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover1,\n    tintedBorderColor: siteVars.colorScheme.brand.border1,\n    tintedBorderColorHover: siteVars.colorScheme.brand.borderHover,\n    circularBorderRadius: pxToRem(999),\n    textColor: siteVars.colorScheme.default.foreground1,\n    textColorHover: siteVars.colorScheme.brand.foreground1,\n    textPrimaryColor: siteVars.colorScheme.brand.foreground,\n    textPrimaryColorHover: siteVars.colorScheme.brand.foreground1,\n    textColorDisabled: siteVars.colorScheme.brand.foregroundDisabled1,\n    textColorIconOnlyHover: siteVars.colorScheme.brand.foregroundHover,\n    primaryBoxShadow: siteVars.shadowLevel1Dark,\n    boxShadow: siteVars.shadowLevel1,\n    loaderBorderSize: pxToRem(2),\n    loaderSize: pxToRem(20),\n    loaderSvgHeight: pxToRem(1220),\n    loaderSvgAnimationHeight: pxToRem(-1200),\n    sizeSmallContentFontSize: siteVars.fontSizes.small,\n    sizeSmallContentLineHeight: siteVars.lineHeightSmall,\n    sizeSmallHeight: pxToRem(24),\n    sizeSmallMinWidth: pxToRem(72),\n    sizeSmallPadding: \"0 \" + pxToRem(8),\n    sizeSmallLoaderBorderSize: pxToRem(2),\n    sizeSmallLoaderSize: pxToRem(15),\n    sizeSmallLoaderSvgHeight: pxToRem(895),\n    sizeSmallLoaderSvgAnimationHeight: pxToRem(-880)\n  };\n};\n//# sourceMappingURL=buttonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var breadcrumbVariables = function breadcrumbVariables(siteVars) {\n  return {\n    dividerMargin: \"0 \" + pxToRem(8),\n    fontSizeSmaller: pxToRem(12),\n    fontSizeSmall: pxToRem(12),\n    fontSizeMedium: pxToRem(14),\n    fontSizeLarge: pxToRem(18),\n    // Breadcrumb Item\n    itemCurrentFontWeight: siteVars.fontWeightBold,\n    // Breadcrumb Link\n    linkPaddingTop: pxToRem(6),\n    linkPaddingBottom: pxToRem(6),\n    linkPaddingLeftSmaller: pxToRem(4),\n    linkPaddingRightSmaller: pxToRem(4),\n    linkPaddingLeftSmall: pxToRem(8),\n    linkPaddingRightSmall: pxToRem(8),\n    linkPaddingLeftMedium: pxToRem(12),\n    linkPaddingRightMedium: pxToRem(12),\n    linkPaddingLeftLarge: pxToRem(12),\n    linkPaddingRightLarge: pxToRem(12),\n    linkSmallerGap: pxToRem(2),\n    linkSmallGap: pxToRem(8),\n    linkMediumGap: pxToRem(8),\n    linkLargeGap: pxToRem(8),\n    disabledColor: siteVars.colorScheme.default.foregroundDisabled\n  };\n};\n//# sourceMappingURL=breadcrumbVariables.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n  return {\n    backgroundColor: siteVars.colors.grey[100]\n  };\n};\n//# sourceMappingURL=chatVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatItemVariables = function chatItemVariables() {\n  return {\n    margin: pxToRem(8),\n    gutterMargin: pxToRem(10),\n    messageMargin: pxToRem(40)\n  };\n};\n//# sourceMappingURL=chatItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageVariables = function chatMessageVariables(siteVars) {\n  return {\n    actionMenuBoxShadow: siteVars.shadowLevel1,\n    actionMenuPositionRight: pxToRem(5),\n    actionMenuPositionTop: pxToRem(-30),\n    backgroundColor: siteVars.colors.white,\n    backgroundColorMine: siteVars.colors.brand[100],\n    borderRadius: pxToRem(3),\n    color: 'rgb(64, 64, 64)',\n    offset: pxToRem(100),\n    padding: pxToRem(16),\n    authorMarginRight: pxToRem(12),\n    authorColor: siteVars.colorScheme.default.foreground,\n    authorFontWeight: siteVars.fontWeightSemibold,\n    headerMarginBottom: pxToRem(2),\n    contentColor: siteVars.colors.grey[750],\n    linkColor: siteVars.colorScheme.brand.foreground1,\n    linkColorMine: siteVars.colorScheme.brand.foreground2,\n    border: 'none',\n    badgeShadow: siteVars.shadowLevel1Dark,\n    isImportant: false,\n    hasMention: false,\n    hasMentionColor: siteVars.colors.orange[300],\n    hasMentionNubbinColor: siteVars.colors.orange[400],\n    isImportantColor: siteVars.colors.red[400],\n    badgeTextColor: siteVars.colors.white,\n    reactionGroupMarginLeft: pxToRem(12),\n    reactionGroupBorderColor: 'transparent',\n    showActionMenu: undefined,\n    timestampColorMine: siteVars.colorScheme.default.foreground1,\n    zIndex: siteVars.zIndexes.foreground,\n    overlayZIndex: siteVars.zIndexes.overlay\n  };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageDetailsVariables = function chatMessageDetailsVariables(siteVars) {\n  return {\n    detailsColor: siteVars.colors.grey[350],\n    detailsHoverColor: siteVars.colors.grey[500],\n    detailsColorMine: siteVars.colors.grey[500],\n    detailsHoverColorMine: siteVars.colors.grey[500],\n    detailsFontSize: siteVars.fontSizes.small,\n    detailsMargin: pxToRem(12)\n  };\n};\n//# sourceMappingURL=chatMessageDetailsVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatMessageReadStatusVariables = function chatMessageReadStatusVariables(siteVars) {\n  return {\n    rightPoistion: pxToRem(-24),\n    bottomPoistion: pxToRem(0)\n  };\n};\n//# sourceMappingURL=chatMessageReadStatusVariables.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\nvar toggleMovementDistance = pxToRem(20);\nvar padding = pxToRem(2);\nvar defaultValue = 'red';\nexport var checkboxVariables = function checkboxVariables(siteVars) {\n  return {\n    checkboxColor: 'transparent',\n    toggleBackground: 'transparent',\n    toggleBorderColor: siteVars.colors.grey[300],\n    toggleBorderStyle: \"solid\",\n    toggleBorderWidth: pxToRem(1),\n    toggleIndicatorColor: 'inherit',\n    checkboxCheckedColor: siteVars.colors.grey[500],\n    checkboxToggleCheckedBackground: 'transparent',\n    checkboxToggleCheckedBorderColor: siteVars.colors.grey[500],\n    checkboxToggleCheckedColor: 'inherit',\n    disabledColor: siteVars.colors.grey[300],\n    disabledCheckboxColor: siteVars.colors.grey[300],\n    disabledToggleBackground: 'transparent',\n    disabledToggleBorderColor: siteVars.colors.grey[200],\n    textColor: _get(siteVars, 'colorScheme.default.foreground1', defaultValue),\n    background: 'transparent',\n    borderColor: _get(siteVars, 'colorScheme.default.foreground1', defaultValue),\n    borderStyle: 'solid',\n    borderRadius: pxToRem(3),\n    borderWidth: pxToRem(1),\n    indicatorColor: 'transparent',\n    gap: pxToRem(12),\n    margin: pxToRem(2.8) + \" 0 0 0\",\n    padding: padding,\n    rootPadding: '3px 5px',\n    textColorHover: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n    borderColorHover: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n    checkedBackgroundHover: _get(siteVars, 'colorScheme.brand.backgroundHover', defaultValue),\n    toggleBorderRadius: pxToRem(999),\n    toggleIndicatorSize: pxToRem(14),\n    toggleMargin: '0',\n    togglePadding: padding + \" \" + toggleMovementDistance + \" \" + padding + \" \" + padding,\n    toggleWidth: pxToRem(38),\n    toggleHeight: pxToRem(20),\n    checkedTextColor: _get(siteVars, 'colorScheme.default.foreground', defaultValue),\n    checkedBackground: _get(siteVars, 'colorScheme.brand.backgroundActive1', defaultValue),\n    checkedBorderColor: _get(siteVars, 'colorScheme.brand.backgroundActive1', defaultValue),\n    checkedIndicatorColor: _get(siteVars, 'colorScheme.default.background', defaultValue),\n    toggleCheckedPadding: padding + \" \" + padding + \" \" + padding + \" \" + toggleMovementDistance,\n    disabledBackground: _get(siteVars, 'colorScheme.default.background', defaultValue),\n    disabledBackgroundChecked: _get(siteVars, 'colorScheme.default.backgroundDisabled', defaultValue),\n    disabledBorderColor: _get(siteVars, 'colorScheme.default.foregroundDisabled1', defaultValue),\n    disabledCheckedIndicatorColor: _get(siteVars, 'colorScheme.default.foregroundDisabled', defaultValue),\n    disabledToggleIndicatorColor: _get(siteVars, 'colorScheme.default.foregroundDisabled', defaultValue)\n  };\n};\n//# sourceMappingURL=checkboxVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dialogVariables = function dialogVariables(siteVariables) {\n  return {\n    border: 'none',\n    rootBackground: siteVariables.colors.white,\n    rootBorderRadius: pxToRem(3),\n    rootWidth: '50vw',\n    rootPadding: pxToRem(27) + \" \" + pxToRem(32) + \" \" + pxToRem(32) + \" \" + pxToRem(32),\n    contentMargin: \"0 0 \" + pxToRem(20) + \" 0\",\n    boxShadow: siteVariables.shadowLevel4,\n    foregroundColor: siteVariables.colors.grey[900],\n    headerFontSize: siteVariables.fontSizes.large,\n    headerFontWeight: siteVariables.fontWeightBold,\n    headerMargin: \"0 0 \" + pxToRem(8) + \" 0\",\n    overlayBackground: 'rgba(37, 36, 36, .75)',\n    // todo: update to a palette value when daisy has mapped one\n    overlayZIndex: siteVariables.zIndexes.overlay,\n    headerActionMargin: pxToRem(-3) + \" \" + pxToRem(-8) + \" 0 0\"\n  };\n};\n//# sourceMappingURL=dialogVariables.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar _map = [3, 12].map(function (v) {\n  return pxToRem(v);\n}),\n    cornerRadius = _map[0],\n    _12px_asRem = _map[1];\n\nexport var dropdownVariables = function dropdownVariables(siteVars) {\n  return {\n    backgroundColor: siteVars.colorScheme.default.background2,\n    backgroundColorHover: siteVars.colorScheme.default.backgroundHover3,\n    invertedBackgroundColor: siteVars.colorScheme.default.background,\n    invertedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover4,\n    borderColor: 'transparent',\n    borderColorHover: 'transparent',\n    borderColorFocus: siteVars.colorScheme.brand.borderFocus1,\n    borderError: siteVars.colorScheme.red.background,\n    borderWidth: '0px',\n    openBorderColorHover: undefined,\n    containerBorderRadius: \"\" + cornerRadius,\n    disabledColor: siteVars.colorScheme.default.foregroundDisabled,\n    openAboveContainerBorderRadius: \"0 0 \" + cornerRadius + \" \" + cornerRadius,\n    openBelowContainerBorderRadius: cornerRadius + \" \" + cornerRadius + \" 0 0\",\n    searchBorderBottomWidth: pxToRem(2),\n    color: siteVars.colorScheme.default.foreground1,\n    comboboxPaddingButton: \"0 \" + _12px_asRem,\n    comboboxFlexBasis: pxToRem(50),\n    aboveListBorderRadius: cornerRadius + \" \" + cornerRadius + \" 0 0\",\n    belowListBorderRadius: \"0 0 \" + cornerRadius + \" \" + cornerRadius,\n    listBackgroundColor: siteVars.colorScheme.default.background,\n    listBorderColor: 'transparent',\n    listBorderWidth: '0px',\n    listPadding: pxToRem(8) + \" 0 \" + pxToRem(6),\n    listBoxShadow: siteVars.shadowLevel3,\n    listMaxHeight: pxToRem(296),\n    listItemFocusBorderWidth: pxToRem(1),\n    listItemBackgroundColor: 'transparent',\n    listItemBackgroundColorActive: siteVars.colorScheme.default.backgroundActive,\n    listItemBackgroundColorHover: siteVars.colorScheme.default.backgroundHover,\n    listItemColorActive: siteVars.colorScheme.default.backgroundFocus3,\n    listItemColorHover: siteVars.colorScheme.default.foregroundHover,\n    listItemSelectedColor: siteVars.colorScheme.default.foreground,\n    listItemSelectedFontWeight: siteVars.fontWeightSemibold,\n    // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n    listItemHeaderLineHeight: siteVars.lineHeightSmall,\n    listItemContentLineHeight: siteVars.lineHeightSmall,\n    selectedItemBackgroundColor: siteVars.colorScheme.default.background,\n    selectedItemBackgroundColorHover: siteVars.colorScheme.brand.backgroundHover2,\n    selectedItemBorder: 'none',\n    selectedItemColor: siteVars.colorScheme.default.foreground,\n    selectedItemColorHover: siteVars.colorScheme.default.foregroundHover,\n    selectedItemIconColor: siteVars.colorScheme.default.foreground1,\n    selectedItemIconColorHover: siteVars.colorScheme.brand.foregroundHover,\n    selectedItemsMaxWidth: pxToRem(140),\n    selectedItemColorFocus: siteVars.bodyColor,\n    selectedItemsMaxHeight: pxToRem(82),\n    toggleIndicatorSize: pxToRem(32),\n    triggerButtonColorFocusActive: undefined,\n    triggerButtonColorHover: siteVars.bodyColor,\n    width: pxToRem(356),\n    overlayZIndex: siteVars.zIndexes.overlay,\n    // disabled state\n    disabledBorderColorHover: 'transparent',\n    disabledTriggerColorHover: siteVars.colorScheme.brand.foregroundDisabled,\n    disabledBackgroundColorHover: siteVars.colorScheme.brand.backgroundDisabled,\n    // these should only apply when there is content in the image/media slot:\n    listItemHeaderFontSize: siteVars.fontSizes.medium,\n    listItemHeaderColor: siteVars.colorScheme.default.foreground1,\n    listItemContentFontSize: siteVars.fontSizes.small,\n    listItemContentColor: siteVars.colorScheme.default.foreground2,\n    headerMessageBackgroundColor: siteVars.colors.white,\n    noResultsMessageBackgroundColor: 'transparent',\n    loadingMessageBackgroundColor: 'transparent'\n  };\n};\n//# sourceMappingURL=dropdownVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var embedVariables = function embedVariables(siteVariables) {\n  return {\n    controlColor: siteVariables.colors.white,\n    controlBackgroundColor: siteVariables.colors.onyx[900],\n    controlBackgroundSize: pxToRem(24) + \" \" + pxToRem(24),\n    width: undefined,\n    height: undefined,\n    focusBorderColor: siteVariables.colors.brand[500],\n    zIndex: siteVariables.zIndexes.foreground\n  };\n};\n//# sourceMappingURL=embedVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var flexVariables = function flexVariables() {\n  return {\n    // GAP VALUES\n    'gap.smaller': pxToRem(8),\n    'gap.small': pxToRem(10),\n    'gap.medium': pxToRem(15),\n    'gap.large': pxToRem(30),\n    // PADDING VALUES\n    'padding.medium': pxToRem(10)\n  };\n};\n//# sourceMappingURL=flexVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var flexItemVariables = function flexItemVariables() {\n  return {\n    'size.half': '50%',\n    'size.quarter': '25%',\n    'size.small': pxToRem(150),\n    'size.medium': pxToRem(200),\n    'size.large': pxToRem(300)\n  };\n};\n//# sourceMappingURL=flexItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formVariables = function formVariables(siteVariables) {\n  return {\n    lastChildMarginTop: pxToRem(12),\n    fieldsMarginBottom: pxToRem(20)\n  };\n};\n//# sourceMappingURL=formVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray, pxToRem } from '../../../../utils';\nexport var formFieldColorAreas = stringLiteralsArray('foreground', 'background');\nexport var formFieldVariables = function formFieldVariables(siteVariables) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, formFieldColorAreas),\n    messagePaddingLeft: pxToRem(12)\n  };\n};\n//# sourceMappingURL=formFieldVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray, pxToRem } from '../../../../utils';\nexport var formMessageColorAreas = stringLiteralsArray('foreground');\nexport var formMessageVariables = function formMessageVariables(siteVariables) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, formMessageColorAreas),\n    paddingLeft: pxToRem(12)\n  };\n};\n//# sourceMappingURL=formMessageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formLabelVariables = function formLabelVariables(siteVariables) {\n  return {\n    lineHeight: pxToRem(16),\n    marginBottom: pxToRem(4)\n  };\n};\n//# sourceMappingURL=formLabelVariables.js.map\n","export var gridVariables = function gridVariables() {\n  return {\n    defaultColumnCount: 5,\n    gridGap: undefined,\n    padding: undefined\n  };\n};\n//# sourceMappingURL=gridVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var headerColorAreas = stringLiteralsArray('foreground');\nexport var headerVariables = function headerVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, headerColorAreas),\n    color: siteVars.colors.grey[750],\n    descriptionColor: undefined\n  };\n};\n//# sourceMappingURL=headerVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var headerDescriptionColorAreas = stringLiteralsArray('foreground');\nexport var headerDescriptionVariables = function headerDescriptionVariables(siteVariables) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, headerDescriptionColorAreas),\n    color: siteVariables.colors.grey[350]\n  };\n};\n//# sourceMappingURL=headerDescriptionVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var iconColorAreas = stringLiteralsArray('foreground');\nexport var svgIconVariables = function svgIconVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, iconColorAreas),\n    color: undefined,\n    borderColor: undefined,\n    backgroundColor: undefined,\n    brandColor: siteVars.brandColor,\n    secondaryColor: siteVars.colors.white,\n    redColor: siteVars.colors.red[400],\n    disabledColor: siteVars.colors.grey[250],\n    smallestSize: pxToRem(7),\n    smallerSize: pxToRem(10),\n    smallSize: pxToRem(12),\n    mediumSize: pxToRem(16),\n    largeSize: pxToRem(20),\n    largerSize: pxToRem(32),\n    largestSize: pxToRem(40),\n    horizontalSpace: pxToRem(10)\n  };\n};\n//# sourceMappingURL=svgIconVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var imageVariables = function imageVariables() {\n  return {\n    width: undefined,\n    height: undefined,\n    avatarRadius: pxToRem(9999),\n    avatarSize: pxToRem(32),\n    circularRadius: pxToRem(9999)\n  };\n};\n//# sourceMappingURL=imageVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputVariables = function inputVariables(siteVars) {\n  return {\n    colorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n    colorError: siteVars.colorScheme.red.foreground,\n    borderColorError: siteVars.colorScheme.red.background,\n    iconPosition: 'absolute',\n    iconRight: pxToRem(10),\n    iconLeft: pxToRem(9),\n    inputPaddingWithIconAtStart: pxToRem(5) + \" \" + pxToRem(12) + \" \" + pxToRem(5) + \" \" + pxToRem(34),\n    inputPaddingWithIconAtEnd: pxToRem(5) + \" \" + pxToRem(35) + \" \" + pxToRem(5) + \" \" + pxToRem(12),\n    inputPadding: pxToRem(5) + \" \" + pxToRem(12),\n    inputInsideLabelPaddingTop: pxToRem(14),\n    borderColor: 'transparent',\n    borderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n    borderWidth: \"0 0 \" + pxToRem(2) + \" 0\",\n    backgroundColor: siteVars.colorScheme.default.background2,\n    backgroundColorInverted: siteVars.colorScheme.default.background,\n    fontColor: siteVars.colorScheme.default.foreground,\n    fontSize: siteVars.fontSizes.medium,\n    iconColor: siteVars.colorScheme.default.foreground,\n    successfulColor: siteVars.colorScheme.green.foreground,\n    inputFocusBorderColor: \"transparent transparent \" + siteVars.colorScheme.brand.borderFocus1 + \" transparent\",\n    inputFocusBorderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n    placeholderColor: siteVars.colorScheme.default.foreground1\n  };\n};\n//# sourceMappingURL=inputVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputLabelVariables = function inputLabelVariables(siteVars) {\n  return {\n    insideLabelBottom: pxToRem(-8),\n    insideLabelPaddingLeft: pxToRem(12),\n    insideLabelActiveFontSize: pxToRem(12),\n    inlineLabelPaddingRight: pxToRem(10),\n    lineHeight: pxToRem(16),\n    marginBottom: pxToRem(4)\n  };\n};\n//# sourceMappingURL=inputLabelVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var labelVariables = function labelVariables(siteVars) {\n  return {\n    circularRadius: pxToRem(9999),\n    iconSize: pxToRem(16),\n    padding: \"0 \" + pxToRem(4) + \" 0 \" + pxToRem(4),\n    startPaddingLeft: '0px',\n    endPaddingRight: '0px',\n    height: pxToRem(20),\n    foreground: 'rgba(0, 0, 0, 0.6)',\n    background: 'rgb(232, 232, 232)',\n    blackForeground: siteVars.colorScheme.black.foreground1,\n    blackBackground: siteVars.colorScheme.black.background1,\n    whiteForeground: siteVars.colorScheme.white.foreground1,\n    whiteBackground: siteVars.colorScheme.white.background1,\n    brandForeground: siteVars.colorScheme.brand.foreground5,\n    brandBackground: siteVars.colorScheme.brand.background6,\n    greyForeground: siteVars.colorScheme.grey.foreground2,\n    greyBackground: siteVars.colorScheme.grey.background3,\n    orangeForeground: siteVars.colorScheme.orange.foreground2,\n    orangeBackground: siteVars.colorScheme.orange.background1,\n    redForeground: siteVars.colorScheme.red.foreground1,\n    redBackground: siteVars.colorScheme.red.background,\n    greenForeground: siteVars.colorScheme.green.foreground3,\n    greenBackground: siteVars.colorScheme.green.background1,\n    yellowForeground: siteVars.colorScheme.yellow.foreground3,\n    yellowBackground: siteVars.colorScheme.yellow.background\n  };\n};\n//# sourceMappingURL=labelVariables.js.map\n","export var layoutVariables = function layoutVariables() {\n  return {};\n};\n//# sourceMappingURL=layoutVariables.js.map\n","import { pxToRem } from '../../../../utils';\nimport { loaderSvgDataUrl } from './loaderSvgDataUrl';\nexport var loaderVariables = function loaderVariables() {\n  return {\n    containerHeights: {\n      smallest: pxToRem(24),\n      smaller: pxToRem(24),\n      small: pxToRem(24),\n      medium: pxToRem(36),\n      large: pxToRem(72),\n      larger: pxToRem(72),\n      largest: pxToRem(72)\n    },\n    containerWidths: {\n      smallest: pxToRem(24),\n      smaller: pxToRem(24),\n      small: pxToRem(24),\n      medium: pxToRem(36),\n      large: pxToRem(72),\n      larger: pxToRem(72),\n      largest: pxToRem(72)\n    },\n    svgContent: loaderSvgDataUrl,\n    svgHeights: {\n      smaller: pxToRem(1464),\n      smallest: pxToRem(1464),\n      small: pxToRem(1464),\n      medium: pxToRem(2196),\n      large: pxToRem(4392),\n      larger: pxToRem(4392),\n      largest: pxToRem(4392)\n    },\n    svgTranslatePosition: {\n      smallest: pxToRem(-1440),\n      smaller: pxToRem(-1440),\n      small: pxToRem(-1440),\n      medium: pxToRem(-2160),\n      large: pxToRem(-4320),\n      larger: pxToRem(-4320),\n      largest: pxToRem(-4320)\n    },\n    svgWidths: {\n      smallest: pxToRem(24),\n      smaller: pxToRem(24),\n      small: pxToRem(24),\n      medium: pxToRem(36),\n      large: pxToRem(72),\n      larger: pxToRem(72),\n      largest: pxToRem(72)\n    }\n  };\n};\n//# sourceMappingURL=loaderVariables.js.map\n","export var loaderSvgDataUrl = \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 4880'%3E%3Cg role='presentation'%3E%3Cpath fill='%236264a7' d='M67.4 26.4c5.8-2 12.4 3.3 11.4 9.4-.4 6.5-8.8 10-13.8 6-5.6-3.6-4.2-13.5 2.4-15.3zM66.5 113.7c5.7-3.3 13.6 1.8 12.7 8.4 0 6.4-8 10.4-13.2 7-5.6-3.2-5.4-12.5.5-15.3z'%3E%3C/path%3E%3Cpath fill='%235659b0' d='M65.5 200.4c5.7-3.4 13.6 2 12.6 8.5 0 6-7 10.7-12.7 7.7-6.4-3-6-13.2.2-16.3z'%3E%3C/path%3E%3Cpath fill='%23575ab1' d='M64.3 286.2c5-2 11.3 2.3 11.2 7.8 0 5.4-4.5 11.7-10.5 11-5.4-.3-9.2-6.3-7.3-11.2 1.2-3.2 3.2-6.5 6.6-7.6z'%3E%3C/path%3E%3Cpath fill='%23585bb2' d='M59.4 372.5c5-2.6 11.6 1 12 6.5.8 5-3.4 8.6-7 11.3-4.5 3.2-11.7.2-12.6-5.3-1.4-5.5 3.6-9.7 7.6-12.5z'%3E%3C/path%3E%3Cpath fill='%235a5db4' d='M54.3 457.4c4-2.2 9.6 0 11.2 4.2 1.7 3.7 0 8.4-3.5 10.5-3.7 2.5-8.2 5.6-12.8 4-4.3-1.6-6.5-6.8-4.8-11 1.5-4.2 6.4-5.4 10-7.6z'%3E%3C/path%3E%3Cpath fill='%235b5fb6' d='M48.6 540.7c4.4-2 10 1 11 5.7 1 4-1.4 8.4-5.4 9.7-4 1.6-8.5 3-13 2.5-5.6-.8-8.6-8-5.3-12.6 2.7-4.4 8.4-3.5 12.6-5.3z'%3E%3C/path%3E%3Cpath fill='%235d60b8' d='M29.4 622.4c3-1.5 6.4 0 9.6 0 3.4.3 7.3-1 10.3 1.3 4.6 3 4.4 10.4-.2 13.3-3.7 2-8.2 1.7-12.4 1.5-3.6-.5-7.8-.7-10.2-4-3.2-3.7-1.6-10.2 3-12z'%3E%3C/path%3E%3Cpath fill='%235f63ba' d='M20.3 698.3c4-2 7.8 1.3 11.4 2.8 4 2 9.6 1 12.2 5 3.3 4.7-.2 12-6 12.3-7 0-14-2.6-19.7-6.6-4.7-3.4-3.5-11.6 2-13.4z'%3E%3C/path%3E%3Cpath fill='%236165bc' d='M12.3 771.3c3-1.5 7-.6 9 2 3 3.8 6.7 6.7 11 8.3 3.3 1 5.7 4 5.5 7.4.2 4.8-4.8 8.7-9.3 7.4-7.7-2.2-14.5-7.2-19.3-13.6-2.8-3.7-1.2-9.8 3-11.5z'%3E%3C/path%3E%3Cpath fill='%236467bf' d='M7.5 841.7c4-2 9.2.3 10.3 4.6 1.7 5.4 5 10 9.7 13 4 2.5 4.6 8.4 1.4 11.6-2.5 2.6-7 3-10 1-7.4-5-13-12.6-15.5-21-1.2-3.6.5-8 4-9.3z'%3E%3C/path%3E%3Cpath fill='%23666ac1' d='M6.5 910.8c3-1.6 7.3-.4 9 2.6 1.7 2.2 1 5 1.4 7.6 0 5.6 2.5 11 6 15 2.5 2.5 2.7 6.7.5 9.5-2.4 3.3-7.8 3.8-10.7 1-7.6-7.8-11.5-19-10.6-29.6.2-2.7 1.8-5.2 4.3-6.2z'%3E%3C/path%3E%3Cpath fill='%23696cc4' d='M9.3 980c3.7-2 9 .3 10 4.4 1 2.4-.2 4.8-1 7-2.4 5.7-2.3 12.4.3 18 1 2.3 2.4 5 1.5 7.6-1 4-5.7 6.2-9.5 4.5-2.6-1-3.8-3.7-5-6-4.4-10-4.3-21.8.4-31.6.6-1.7 1.7-3 3.3-4z'%3E%3C/path%3E%3Cpath fill='%236b6fc7' d='M16.3 1051.2c4-2.6 10 1 10 5.8.5 3-2 5.3-4 7.4-5.3 5.7-7 14-5.2 21.6 1 3.5-1 7.4-4.4 8.5-3.4 1.2-7.6-.8-8.7-4.3-4.2-13.8.7-30.2 12.3-39z'%3E%3C/path%3E%3Cpath fill='%236e72ca' d='M26.4 1125.3c4.5-2.6 10.7 1.5 10 6.7-.4 3.3-3.3 5.2-6 6.3-8.2 3.4-14 11.8-14.2 20.6 0 2.6-.6 5.6-3.2 7-4 2.8-10 0-10.2-5-.8-15.3 9.2-30.3 23.6-35.7z'%3E%3C/path%3E%3Cpath fill='%237175cd' d='M35.3 1203.2c3.7-.3 8.6-1.2 11.2 2.3 2.7 3.2 1 8.8-3 10-3.7.8-7.7.3-11.3 1.7-8 2.6-13.8 9.5-15.8 17.5-1 4.7-7.6 6.2-10.8 2.7-2.8-2.7-1.7-7-.4-10 4.5-13 16.6-22.6 30-24.2z'%3E%3C/path%3E%3Cpath fill='%237478d0' d='M36.4 1283.3c7-.6 14.2.5 20.3 4 3.8 2.4 3.3 8.7-.8 10.6-3 1.5-6-.2-8.6-1-9.8-3.5-21.6.5-27.3 9-1.5 2.4-3 5.6-6 6-4.6 1-9-4.4-6.8-8.7 5.4-11 17-18.8 29.2-20z'%3E%3C/path%3E%3Cpath fill='%23777bd3' d='M36.5 1363.5c11.6-1 23.8 3.6 31.3 12.7 2.7 3.6-.3 9.5-4.8 9.4-3.2.3-5-2.6-7.3-4.4-8.4-7.4-22.2-7.6-31-.4-2.3 1.8-4.3 5-7.7 4.7-4.7 0-7.5-6.3-4.4-9.8 6-7 14.8-11.3 24-12.2z'%3E%3C/path%3E%3Cpath fill='%237a7ed6' d='M31.4 1444.6c18-4.8 38.3 6.6 43.3 24.6 1 4-3.5 8-7.4 6.6-3.5-1-4-4.8-5.5-7.5-5.5-10.8-19.6-16-30.8-11.4-3.2 1-6.2 4.3-10 3-3.8-1.4-5-7.2-1.7-9.8 3.5-2.8 7.8-4.4 12-5.6z'%3E%3C/path%3E%3Cpath fill='%237d81da' d='M32.4 1524.6c15-3.4 31.8 4 39.2 17.8 3.5 6.5 5.3 14 4.3 21.5-1 4-6.7 5.5-9.5 2.4-2-2-1.4-5-1.6-7.4-.2-11.6-9.6-22-21-23.7-4.4-.8-8.8 0-13 1-4 1.2-7.7-3.5-6-7.2 1-3 4.6-3.7 7.4-4.4z'%3E%3C/path%3E%3Cpath fill='%238084dd' d='M36.3 1604.4c14-2 28.5 6 35 18.2 6 10.6 6 24.3 0 34.8-2 3.5-7.6 3-9-.6-1.8-3.5 1.4-6.8 2-10.2 3.8-12.4-4-26.7-16.3-30.5-4-1.6-8.3-.8-12.4-1.6-4.6-1.7-4-9 .7-10z'%3E%3C/path%3E%3Cpath fill='%238387e0' d='M43.3 1685.3c4-1.2 8.2 1 12 2.5 14.7 6.6 23.3 24.2 19.5 40-1.8 8-6.5 15.7-13.4 20.6-3 2.2-8-.6-7.7-4.4 0-2.3 1.8-3.7 3.3-5 7-6 10-16 7.8-24.7-1.8-8-7.6-15-15.3-18-2.2-.8-4.6-1-6.8-2-3.4-2-3-7.5.6-9z'%3E%3C/path%3E%3Cpath fill='%23868be4' d='M50.2 1768c1.4-.8 3.2-.8 4.7 0 13.2 5.7 21.7 20.5 20.3 35-1 15-12.6 28.5-27.3 31.4-3.4.6-6.4-3-5-6.3.6-2.6 3.7-3 6-4 8.2-2.8 14.5-10.4 16.2-19 2-9-1.5-18.8-8.6-24.6-2.2-2-5-3-7.2-4.8-2.2-2-1.7-6 .8-7.5z'%3E%3C/path%3E%3Cpath fill='%238a8ee7' d='M57.4 1852.2c3.7-1.8 6.6 2 9 4.5 11 12 11.7 31.6 1.7 44.5-6.8 9.3-18.5 14.6-30 14-2.4-.3-5.3-.2-7-2.2-1.6-2-1-5.4 1.3-6.8 1.7-1 3.8-.3 5.6-.4 9.8 1 20-4.5 24.7-13.2 4.6-8 4.3-18.7-.8-26.5-1.8-3-4.5-5-6.6-7.4-1.4-2.2-.4-5.4 2-6.4z'%3E%3C/path%3E%3Cpath fill='%238d91ea' d='M62.3 1938.3c1.7-1 4.3-1 5.6.8 9 11.5 9.2 28.8.8 40.8-7 10.4-20 16.4-32.6 15-5.7-.7-11.3-2.7-16-6-2.6-1.8-2-6.4 1-7.5 2.2-1 4.2.6 6 1.5 8.6 5 20 4.4 28-1.5 7.7-5.4 12-15 10.8-24.3-.3-4.5-2.3-8.6-4.7-12.4-1.6-2-1-5 1-6.3z'%3E%3C/path%3E%3Cpath fill='%239095ee' d='M66.3 2025.2c2-1.2 4.8-.5 5.7 1.6 5.6 12.8 2.2 28.7-8 38.2-9.4 9.2-24.2 12.2-36.5 7.4-7-2.8-13.5-8-17.3-14.7-1.2-2.6 1-5.8 3.8-5.7 2.5 0 3.7 2.4 5 4 7 9.5 20.5 13 31.2 8.4 12-4.7 19-18.8 15.3-31-.8-2.7-2.3-6.5.8-8.2z'%3E%3C/path%3E%3Cpath fill='%239398f1' d='M68.6 2112.7c2-1 5 0 5.4 2.4 2.4 14.5-5.8 30-19.2 36-12.5 6.2-28.7 3.6-38.7-6.2-5.6-5.5-9.4-13-10-21-.4-4 6-5 7.2-1.2 1 5.5 3 11 7 15.3 7 7.8 19 11 28.8 7 10.7-3.6 18.4-14.7 17.7-26-.2-2.2-.6-5.3 2-6.3z'%3E%3C/path%3E%3Cpath fill='%23969bf5' d='M8.4 2188.4c2-2 6-.3 6 2.6-.4 2-1 4-1.2 5.8-1 8.8 2.5 18 9.3 23.7 7 6 17.2 8 26 5 10-3 17-12.3 18.4-22.5.3-4 6.7-3.6 7 .3-1 15-13.3 28-28 30.3-13 2.5-27.4-3.6-34.6-15-5.2-7.8-6.8-17.8-4.6-27 .4-1 .6-2.4 1.6-3.2z'%3E%3C/path%3E%3Cpath fill='%23999ef8' d='M15.3 2257c2-1 4.4 0 5 2.2.3 2-1.3 3.3-2.3 4.8-5.7 7.6-6.8 18.2-3 27 4.3 10 15 16.7 26 16.2 10-.3 19.4-6.6 23.7-15.6 1.2-3.4 6.7-2.2 6.4 1.4-.7 3.4-3 6.3-5 9-9.3 11-26 15-39.3 9.2C13.8 2306 5 2292 6 2278c.7-7.8 3.7-15.7 9.3-21z'%3E%3C/path%3E%3Cpath fill='%239ca1fb' d='M25.6 2329.6c1.8-1.2 4.5.2 4.6 2.5.2 2.7-2.8 3.4-4.6 4.7-12 7-16.6 23.5-10 35.7 5.8 12.2 21.6 18.4 34.2 13.2 3.6-1.2 6.4-3.6 9.5-5.7 2.8-2 6 2.5 3.6 4.7-11.4 11-30.5 12-43 2.4-12.8-9-17.4-27.3-10.5-41.3 3.3-7 9-13 16-16z'%3E%3C/path%3E%3Cpath fill='%236264a7' d='M33.2 2407.2c2.3-.4 4.6-.8 7-.6 2.4.5 3 4.2.6 5.4-4 .7-8.3 1-12 2.8-12.6 5.3-19.5 20.5-15.2 33.4 4 13.3 18.8 22 32.3 18.8 2-.6 6-2 6.7 1.3.7 3.7-4 4-6.6 4.6-15.4 3-32.3-6.4-37.4-21.4-5.3-13.8 0-30.6 12-39 3.8-2.6 8-4.4 12.6-5.4z'%3E%3C/path%3E%3Cpath fill='%239ca1fb' d='M37.4 2486.4c5.5-.4 11.3.4 16.3 3 2 1.6.8 5.3-2 5.4-3.5-.8-7-2.3-10.8-2.2-13-.7-25.2 9-27.8 21.4-3 12 3.4 25 14.4 30.5 3.4 2 7.3 2.3 11 3 2.7 1 2.3 5.6-.6 6-17.3-.3-32-16.3-31.7-33.5-.4-17 14-32.7 31-33.6z'%3E%3C/path%3E%3Cpath fill='%23999ef8' d='M33.5 2566.7c10.8-2.2 22.7 1.3 30.5 9.3 1.8 1.6 1 5-1.3 5.6-2.3 1-4-1.5-5.6-2.7-9.6-8.4-25-8-34.6.3-8.6 7-12 19.7-8 30 2.3 6.4 7 11.4 12.7 14.8 3.2 2 .6 7.3-2.8 6-13.8-6.8-21.2-24-17-38.7 3-12.3 13.8-22.3 26.3-24.6z'%3E%3C/path%3E%3Cpath fill='%23969bf5' d='M32.4 2646.7c15-3.7 32 4.3 38.3 18.5.8 2.3-1.4 4.8-3.8 4.5-2.2 0-3-2.2-4-3.7-5.6-9.7-17.8-14.8-28.6-12.4-9.8 2-18 10-20.5 19.6-2 7.2-.8 15.2 3.4 21.4 1 1.5 2.4 3.3 1.4 5.2-1 2.4-4.7 2.8-6 .7-9.2-11.7-9.2-29.2-.2-41 4.8-6.4 12-11 19.8-12.8z'%3E%3C/path%3E%3Cpath fill='%239398f1' d='M31.4 2726.7c14.6-4 31.3 3 38.5 16.3 1.7 3.3 3.4 7 3.7 10.8-.3 2.8-4 4.3-6 2.6-1.6-1-1.7-3-2.3-4.6-2.5-8.4-9.6-15-18-17.5-8.6-2.6-18.6-.3-25.2 5.8-6.5 6-10 15-8.6 23.5 0 1.8 1 4-.5 5.6-1.5 2.2-5.2 1.8-6.3-.7-5.2-17.5 7-37.5 24.7-41.6z'%3E%3C/path%3E%3Cpath fill='%239095ee' d='M36.4 2805.5c14.7-1.7 29.7 7 35.4 20.6 2 5 3.2 10.4 2.8 15.7-.5 4-6.7 4.5-7.8.7-.6-3.3-.3-6.8-1.5-10-3-10.4-12.7-18.2-23.4-18.8-11.8-1-23.7 6.8-27 18-1 2.2-1 5-3.4 6-2.7 1.2-6-1.4-5.6-4.3 2.6-14.6 15.7-26.5 30.4-27.8z'%3E%3C/path%3E%3Cpath fill='%238d91ea' d='M33.5 2885.7c14-2.8 29.3 4 36.5 16.3 5 8.4 6.4 19 3.3 28.2-1 3-5.7 3.6-7.5 1-1.5-2.2 0-4.8 0-7 2.3-12-5-24.4-16.3-28.6-9.8-4-22-1.2-29 7-1.5 1.5-2.8 4-5.4 3.8-3.2 0-5.3-4-3.3-6.8 5-7.2 13-12.3 21.8-14z'%3E%3C/path%3E%3Cpath fill='%238a8ee7' d='M32.4 2965.7c15-3.5 31.4 4 38.5 17.4 5.8 10.8 5.6 24.7-1 35.2-1.6 3-6.4 2.6-7.8-.5-1.4-2.3.4-4.7 1.3-7 4.2-8.3 3-19-2.8-26.4-6-8-17-12-27-9.5-3 .6-5.7 2.6-8.8 3.3-4 .4-6.4-5-3.6-7.6 3.2-2.5 7.2-3.8 11-4.8z'%3E%3C/path%3E%3Cpath fill='%23868be4' d='M34.4 3045.4c14.2-3.4 29.8 4.8 36.7 17.5 7.7 13.5 5 32-6.5 42.5-2.5 2.2-7 .7-7.6-2.5-1-3.2 2-5.3 3.5-7.6 6-7.6 7-18.6 2.4-27-4.4-8.5-13.5-14.3-23-14-2-.2-4.6.4-6.3-1.2-2.5-2-2-6.3.7-7.8z'%3E%3C/path%3E%3Cpath fill='%238387e0' d='M48.2 3126c4.2-.4 8 2.2 11.5 4.2 13 8.3 19 25.5 14.5 40-2.6 8.7-8.6 16.4-16.5 20.7-3.2 2-7.7-1-7.4-4.8 0-2.7 2.5-4 4.5-5.5 7.5-5 11.6-14.7 10.5-23.6-1-9-7.2-17.2-15.7-20.5-1.8-1-4-1.5-4.8-3.6-1.3-2.8.5-6.3 3.4-7z'%3E%3C/path%3E%3Cpath fill='%238084dd' d='M58.3 3212.3c3.8-1.7 6.8 1.8 9 4.4 9.5 10.8 11.3 27.5 4.5 40-4.6 8.7-12.8 15.4-22.2 18-3.7 1-7.6-2.8-6.5-6.5 1-3.7 5-4 7.8-5.4 11.3-5 17.4-19.2 13-30.8-1.3-4.5-4.2-8.2-7.5-11.4-2.4-2.5-1.2-7 2-8.3z'%3E%3C/path%3E%3Cpath fill='%237d81da' d='M65.2 3302.3c2.8-1.5 6.5-.2 7.7 2.7 2.6 6 3.6 12.6 3 19-1.7 17.8-18.2 32.7-36 32-4.5 0-6.6-6.3-3.4-9.3 2.6-2.5 6.6-1.5 9.7-2.5 10.8-2.6 19-13 18.7-24.2 0-4-1.2-7.6-2.5-11.3-1-2.4.5-5.3 2.7-6.4z'%3E%3C/path%3E%3Cpath fill='%237a7ed6' d='M67.4 3394.4c3-2.2 8-.2 8.8 3.6 1.3 15-8.5 30.3-22.6 35.8-7.2 2.8-15.4 3.5-23 1.3-3.8-1.3-4.7-7.2-1.3-9.7 2.8-2.4 6.5-.6 9.7-.6 12 .8 23.8-8.7 25.4-20.7.6-3.3-.3-7.6 3-9.5z'%3E%3C/path%3E%3Cpath fill='%23777bd3' d='M66.5 3485.7c4.3-1.7 9.2 2.8 7.7 7.2-5 14.3-20 24.2-35.2 23.6-6-.2-12-1.6-17-4.8-3.5-2.5-2.8-8.7 1.3-10.2 3-1.5 6 .6 8.7 1.5 10.6 4.2 23.8-.8 29.2-10.8 1.4-2.4 2.3-5.7 5.3-6.5z'%3E%3C/path%3E%3Cpath fill='%237478d0' d='M59.5 3575.7c3.7-1.5 8.3 1.4 8.4 5.4.3 4.4-4 7-6.8 9.2-13.7 10-34.2 8.6-46.3-3.2-3.4-3.2-1.5-9.6 3-10.4 3-1 5.4 1.3 7.6 3 7.4 5.7 18.3 6.3 26.4 1.5 2.8-1.3 4.8-4 7.5-5.3z'%3E%3C/path%3E%3Cpath fill='%237175cd' d='M11.4 3651.2c2.5-1.4 6-1 8 1.4 2 2.5 4 5.3 6.8 7 6.6 5 15.5 5.6 23 2.7 4.7-2.3 10.3 2.6 8.8 7.6-1 4-5.6 5-9 6-15 4-32-2.8-40-16-2-3-.7-7.2 2.4-8.8z'%3E%3C/path%3E%3Cpath fill='%236e72ca' d='M9.5 3723.6c3.4-1 7 1.2 8 4.6 3 8.3 11 14.7 19.8 15.4 2.4.4 5.3 0 7.2 2 3 2.4 3 7.4 0 10-2.5 2.4-6.4 1.7-9.6 1.3C21 3755 9 3745 4.6 3732c-1.2-3.5 1-7.6 4.8-8.4z'%3E%3C/path%3E%3Cpath fill='%236b6fc7' d='M6.4 3796.4c3.3-1.6 7.6-.2 9.3 3 1 2.7 1 5.5 2 8.2 2 6 6.3 11 12 13.6 2.5 1.2 5.2 2.8 5.6 5.8 1.2 4.7-3.6 9.4-8.3 8-13.5-4.5-23.5-17.8-24.4-32-.2-2.8 1.5-5.4 3.8-6.6z'%3E%3C/path%3E%3Cpath fill='%23696cc4' d='M7.3 3868.4c3.3-1.3 7.3.3 9 3.5 1 1.8.4 4 .4 6-.7 7 2 13.7 6.7 18.6 2.4 2 3.4 5.8 1.8 8.7-1.8 4-7.5 5.2-10.8 2.3C5 3899.4.7 3886 2.8 3874c.4-2.6 2.2-4.7 4.5-5.6z'%3E%3C/path%3E%3Cpath fill='%23666ac1' d='M8.5 3941.4c4.6-2.7 11 1.3 10.7 6.7-.7 4-2.7 7.8-2.4 12-.2 4 1.3 7.5 2.5 11 1.2 4-1.6 8.3-5.5 9-3.4.8-7-1-8.3-4.4-4.3-9.3-4.5-20.3-.7-29.8.7-1.8 2-3.5 3.7-4.4z'%3E%3C/path%3E%3Cpath fill='%236467bf' d='M12.5 4014.7c4.2-2.2 9.8.6 10.5 5.3 1 5-4 8.3-5 13-2 4.6.7 10.7-3.4 14.6-3.8 4-11.3 1.7-12.4-3.7-1.2-8.7 1.2-17.6 6-25 1-1.6 2.3-3.5 4.3-4.3z'%3E%3C/path%3E%3Cpath fill='%236165bc' d='M17.4 4089.3c4.7-2.6 11.3 1.2 11 6.7.5 5-5 7.3-7.3 11-2.7 3.7-2.6 9.7-7.5 11.4-5.3 2.3-11.6-2.8-10.4-8.4 2.2-8.2 7.3-16 14.4-20.7z'%3E%3C/path%3E%3Cpath fill='%235f63ba' d='M25.4 4164.6c5.4-1.4 11 4 9.3 9.5-.7 4.2-5 5.6-8 7.7-4 2.3-5.7 7.7-10.7 7.8-6 .8-10.6-6.7-7.3-11.8 4-6 10-10.7 16.7-13z'%3E%3C/path%3E%3Cpath fill='%235d60b8' d='M30.3 4242.6c4.3-1.7 10 0 11.3 4.8 1.8 4.7-1.7 10-6.6 10.6-5 .8-9 6-14.3 4.2-5.6-1.3-7.6-9-3.6-13 3.8-3.4 8.6-5.2 13.3-6.6z'%3E%3C/path%3E%3Cpath fill='%235b5fb6' d='M35.4 4321.5c4.2-.4 9.4-1 12.3 2.8 3.6 4.3 1.3 12-4.3 13l-11.4 1.2c-6 .3-10-6.8-7-11.8 1.7-4 6.5-4.7 10.4-5.2z'%3E%3C/path%3E%3Cpath fill='%235a5db4' d='M39.3 4401.5c4.3-.8 8.7.2 12.7 1.6 5.2 2.3 6.2 10.2 2 13.8-4.4 3.8-10.4 1.2-15.3.4-7.2-2.4-6.6-14 .6-15.7z'%3E%3C/path%3E%3Cpath fill='%23585bb2' d='M49.3 4483c4-.5 7.7 1.7 11 3.8 4.5 3.5 3.7 11.5-1.6 14-4.6 2.4-9.5-.6-13.4-3-5.3-4.2-2.7-13.8 4-14.7z'%3E%3C/path%3E%3Cpath fill='%23575ab1' d='M56.3 4567.4c7-1.7 15 6.2 12 13.2-1.6 4.6-7.8 6.7-12 4-2.8-1.6-5.7-4-6.2-7.7-.6-4.2 2.2-8.6 6.3-9.6z'%3E%3C/path%3E%3Cpath fill='%235659b0' d='M61.4 4653.5c7-3 14.7 5.6 11.5 12.3-2.3 6-11 7-14.8 2-4.2-4.3-2.7-12.4 3-14.3z'%3E%3C/path%3E%3Cpath fill='%236264a7' d='M64.5 4740.3c5.7-3 13.2 2.2 12.4 8.6-.3 6.3-8.4 10.2-13.6 6.5-5.5-3.4-5-12.7 1-15.2zM67.3 4826.3c6.2-2.4 13 4 11.3 10.3-1 6-9.3 9-14 4.8-5.2-4-3.7-13.4 2.7-15z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\\\")\";\n//# sourceMappingURL=loaderSvgDataUrl.js.map\n","import { pxToRem } from '../../../../utils';\nexport var itemLayoutVariables = function itemLayoutVariables() {\n  return {\n    paddingLeft: pxToRem(20),\n    paddingRight: pxToRem(18),\n    columnGap: pxToRem(8),\n    height: pxToRem(48)\n  };\n};\n//# sourceMappingURL=itemLayoutVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var listItemVariables = function listItemVariables(siteVariables) {\n  return {\n    minHeight: pxToRem(48),\n    rootPadding: \"0 \" + pxToRem(18) + \" 0 \" + pxToRem(20),\n    gap: pxToRem(8),\n    zIndex: siteVariables.zIndexes.foreground,\n    // Header\n    // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n    headerLineHeight: siteVariables.lineHeightSmall,\n    headerFontSize: siteVariables.fontSizes.medium,\n    // Header Media\n    headerMediaFontSize: siteVariables.fontSizes.small,\n    // TODO: prod app uses 17.5px here, it should be 16px per the design guide!\n    headerMediaLineHeight: siteVariables.lineHeightSmall,\n    importantFontWeight: siteVariables.fontWeightBold,\n    // Content\n    contentFontSize: siteVariables.fontSizes.small,\n    contentLineHeight: siteVariables.lineHeightSmall,\n    // Content Media\n    contentMediaFontSize: siteVariables.fontSizes.small,\n    contentMediaLineHeight: siteVariables.lineHeightSmall,\n    // Selectable\n    selectableFocusHoverColor: siteVariables.colorScheme.default.foregroundHover,\n    selectableFocusHoverBackgroundColor: siteVariables.colorScheme.default.backgroundHover,\n    // Selected\n    selectedColor: siteVariables.colorScheme.default.foregroundPressed,\n    selectedBackgroundColor: siteVariables.colorScheme.default.backgroundActive1\n  };\n};\n//# sourceMappingURL=listItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var pillVariables = function pillVariables(siteVars) {\n  return {\n    background: siteVars.colorScheme.default.background3,\n    backgroundHover: siteVars.colorScheme.default.background1,\n    borderRadius: '9999px',\n    smallerRoundedBorderRadius: pxToRem(2),\n    // Disabled\n    disabledBackground: siteVars.colorScheme.default.backgroundDisabled,\n    disabledColor: siteVars.colorScheme.default.foregroundDisabled,\n    // Inverted\n    invertedBackground: siteVars.colorScheme.default.background,\n    // Outline\n    outlineBackground: 'transparent',\n    // TODO: The design spec maps to Neutral Stroke 1 that is equivalent to gre[440]\n    // but we don't have this token\n    outlineBorderColor: siteVars.colorScheme.default.borderActive4,\n    outlineDisabledborder: siteVars.colorScheme.default.borderDisabled,\n    // Smaller\n    smallerHeight: pxToRem(20),\n    smallerMinWidth: pxToRem(80),\n    smallerMargin: pxToRem(6) + \" \" + pxToRem(2),\n    // Small\n    smallHeight: pxToRem(24),\n    smallMinWidth: pxToRem(80),\n    smallMargin: pxToRem(4),\n    // Medium (default)\n    height: pxToRem(32),\n    minWidth: pxToRem(90),\n    margin: pxToRem(6) + \" \" + pxToRem(4),\n    roundedBorderRadius: pxToRem(4),\n    // Content Smaller\n    contentPaddingSmaller: pxToRem(2) + \" \" + pxToRem(8),\n    contentFontSizeSmaller: pxToRem(12),\n    // Content Small\n    contentFontSizeSmall: pxToRem(12),\n    contentPaddingSmall: pxToRem(4) + \" \" + pxToRem(8),\n    // Content Medium\n    contentFontSize: pxToRem(14),\n    contentPadding: pxToRem(6) + \" \" + pxToRem(8),\n    // Action Pill\n    actionMargin: \"0 \" + pxToRem(8),\n    actionWidth: pxToRem(16),\n    smallOrSmallerActionWidth: pxToRem(12),\n    // Icon Pill\n    iconMargin: \"0 0 0 \" + pxToRem(8),\n    iconWidth: pxToRem(20),\n    smallOrSmallerIconWidth: pxToRem(16),\n    selectedIconColor: siteVars.colorScheme.default.border,\n    selectedIconCheckColor: siteVars.colorScheme.brand.background2,\n    selectedImageIconWidth: pxToRem(32),\n    smallSelectedImageIconWidth: pxToRem(24),\n    smallerSelectedImageIconWidth: pxToRem(20),\n    // Image Pill\n    imageWidth: pxToRem(32),\n    imageHeight: pxToRem(32),\n    smallImageWidth: pxToRem(24),\n    smallImageHeight: pxToRem(24),\n    smallerImageWidth: pxToRem(20),\n    smallerImageHeight: pxToRem(20)\n  };\n};\n//# sourceMappingURL=pillVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var popupContentVariables = function popupContentVariables(siteVars) {\n  return {\n    borderColor: siteVars.colorScheme.default.border2,\n    borderRadius: pxToRem(3),\n    borderSize: '1px',\n    backgroundColor: siteVars.colorScheme.default.background,\n    color: siteVars.colorScheme.default.foreground,\n    boxShadow: siteVars.shadowLevel3,\n    padding: pxToRem(10) + \" \" + pxToRem(14),\n    pointerGap: pxToRem(5),\n    pointerMargin: pxToRem(10),\n    pointerHeight: pxToRem(7),\n    pointerWidth: pxToRem(14),\n    zIndex: siteVars.zIndexes.overlay\n  };\n};\n//# sourceMappingURL=popupContentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var providerVariables = function providerVariables(siteVariables) {\n  return {\n    background: siteVariables.bodyBackground,\n    color: siteVariables.bodyColor,\n    scrollbarHeight: pxToRem(16),\n    scrollbarWidth: pxToRem(16),\n    scrollbarThumbBackgroundColor: siteVariables.colors.onyx[700],\n    scrollbarThumbBorderRadius: pxToRem(9),\n    scrollbarThumbBorderSize: pxToRem(4),\n    scrollbarThumbHoverBackgroundColor: siteVariables.colors.onyx[700],\n    scrollbarThumbHoverBorderSize: pxToRem(2)\n  };\n};\n//# sourceMappingURL=providerVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var radioGroupItemVariables = function radioGroupItemVariables(siteVars) {\n  return {\n    colorDisabled: siteVars.colors.grey[250],\n    textFontSize: siteVars.fontSizes.medium,\n    textColorDefault: siteVars.colors.grey[500],\n    textColorDefaultHoverFocus: siteVars.colors.grey[750],\n    textColorChecked: siteVars.colors.grey[750],\n    indicatorColorDefault: siteVars.colors.grey[500],\n    indicatorBorderColorDefaultHover: siteVars.colors.grey[750],\n    indicatorBorderColorChecked: siteVars.colors.brand[600],\n    indicatorBackgroundColorChecked: siteVars.colors.brand[600],\n    padding: \"0 \" + pxToRem(2),\n    margin: pxToRem(5) + \" \" + pxToRem(8) + \" \" + pxToRem(5) + \" \" + pxToRem(2)\n  };\n};\n//# sourceMappingURL=radioGroupItemVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var reactionVariables = function reactionVariables(siteVars) {\n  return {\n    meReactingColor: siteVars.colors.brand[600],\n    meReactingColorHover: siteVars.colors.brand[800],\n    otherReactingColor: siteVars.colors.grey[450],\n    otherReactingColorHover: siteVars.colors.grey[750],\n    contentFontSize: siteVars.fontSizes.small,\n    fontWeightHover: siteVars.fontWeightBold,\n    outlineColorFocus: siteVars.colors.brand[600],\n    outlineWidthFocus: pxToRem(2),\n    outlineOffsetFocus: pxToRem(-2),\n    meReacting: false,\n    boxShadowColor: siteVars.colors.white,\n    borderColorFocus: siteVars.colors.grey[750]\n  };\n};\n//# sourceMappingURL=reactionVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var reactionGroupVariables = function reactionGroupVariables() {\n  return {\n    reactionSpacing: pxToRem(8)\n  };\n};\n//# sourceMappingURL=reactionGroupVariables.js.map\n","import { pickValuesFromColorScheme } from '../../../colorUtils';\nimport { stringLiteralsArray } from '../../../../utils';\nexport var segmentColorAreas = stringLiteralsArray('foreground');\nexport var segmentVariables = function segmentVariables(siteVariables) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, segmentColorAreas),\n    color: siteVariables.bodyColor,\n    disabledColor: siteVariables.colors.grey[250],\n    backgroundColor: siteVariables.bodyBackground,\n    disabledBackgroundColor: siteVariables.colors.grey[150],\n    disabledBorderColor: 'transparent',\n    borderRadius: 0,\n    borderStyle: 'solid',\n    borderWidth: '2px 0 0 0',\n    boxShadow: '0 1px 1px 1px rgba(34,36,38,.15)',\n    padding: '1em'\n  };\n};\n//# sourceMappingURL=segmentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var skeletonVariables = function skeletonVariables(siteVariables) {\n  return {\n    lineBackground: siteVariables.colorScheme.default.foreground5,\n    shapeBackground: siteVariables.colorScheme.default.foreground5,\n    animationBackground: siteVariables.colorScheme.default.foreground5,\n    animationBackgroundSecondary: siteVariables.colorScheme.default.foreground6,\n    lineMargin: \"0 0 \" + pxToRem(2) + \" 0\",\n    shapeMargin: \"0 0 \" + pxToRem(2) + \" 0\",\n    // Skeleton Button\n    buttonHeight: pxToRem(32),\n    buttonWidth: pxToRem(96),\n    buttonSmallHeight: pxToRem(24),\n    buttonSmallWidth: pxToRem(72),\n    buttonBackground: siteVariables.colorScheme.default.foreground5,\n    buttonCircularBorderRadius: pxToRem(999),\n    // Skeleton Text\n    textBackground: siteVariables.colorScheme.default.foreground5,\n    textWidth: '100%',\n    textSmallerHeight: pxToRem(14),\n    textSmallHeight: pxToRem(16),\n    textMediumHeight: pxToRem(19),\n    textLargeHeight: pxToRem(24),\n    textLargerHeight: pxToRem(32),\n    // Skeleton Input\n    inputHeight: pxToRem(32),\n    inputWidth: pxToRem(154),\n    inputBackground: siteVariables.colorScheme.default.foreground5,\n    // Skeleton Avatar\n    avatarBackground: siteVariables.colorScheme.default.foreground5,\n    avatarSmallest: pxToRem(20),\n    avatarSmaller: pxToRem(24),\n    avatarSmall: pxToRem(28),\n    avatarMedium: pxToRem(32),\n    avatarLarge: pxToRem(44),\n    avatarLarger: pxToRem(64),\n    avatarLargest: pxToRem(96)\n  };\n};\n//# sourceMappingURL=skeletonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var sliderVariables = function sliderVariables(siteVars) {\n  var colorScheme = siteVars.colorScheme;\n  return {\n    height: pxToRem(16),\n    length: pxToRem(320),\n    railColor: colorScheme.default.border,\n    disabledRailColor: colorScheme.default.backgroundDisabled1,\n    railHeight: pxToRem(2),\n    thumbColor: colorScheme.default.foreground2,\n    activeThumbColor: colorScheme.default.foreground1,\n    disabledThumbColor: colorScheme.default.foregroundDisabled1,\n    thumbHeight: pxToRem(10),\n    activeThumbHeight: pxToRem(14),\n    thumbBorderPadding: pxToRem(4),\n    thumbWidth: pxToRem(10),\n    activeThumbWidth: pxToRem(14),\n    trackColor: colorScheme.brand.foregroundActive,\n    disabledTrackColor: colorScheme.default.foregroundDisabled1\n  };\n};\n//# sourceMappingURL=sliderVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var statusVariables = function statusVariables(siteVariables) {\n  return {\n    borderColor: undefined,\n    borderWidth: 2,\n    iconSize: pxToRem(7),\n    successBackgroundColor: siteVariables.colorScheme.green.background,\n    successTextColor: siteVariables.colorScheme.green.foreground1,\n    infoBackgroundColor: siteVariables.colorScheme.brand.background,\n    infoTextColor: siteVariables.colorScheme.default.foreground2,\n    warningBackgroundColor: siteVariables.colorScheme.yellow.background,\n    warningTextColor: siteVariables.colorScheme.yellow.foreground2,\n    errorBackgroundColor: siteVariables.colorScheme.red.background,\n    errorTextColor: siteVariables.colorScheme.red.foreground2,\n    defaultBackgroundColor: siteVariables.colorScheme.default.background5,\n    defaultTextColor: siteVariables.colorScheme.default.foreground4\n  };\n};\n//# sourceMappingURL=statusVariables.js.map\n","import { stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var textColorAreas = stringLiteralsArray('foreground');\nexport var textVariables = function textVariables(siteVariables) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVariables.colorScheme, textColorAreas),\n    fontSizeSmallest: siteVariables.fontSizes.smallest,\n    fontLineHeightSmallest: siteVariables.lineHeightSmallest,\n    fontSizeSmaller: siteVariables.fontSizes.smaller,\n    fontLineHeightSmaller: siteVariables.lineHeightSmaller,\n    fontSizeSmall: siteVariables.fontSizes.small,\n    fontLineHeightSmall: siteVariables.lineHeightSmall,\n    fontSizeMedium: siteVariables.fontSizes.medium,\n    fontLineHeightMedium: siteVariables.lineHeightMedium,\n    fontSizeLarge: siteVariables.fontSizes.large,\n    fontLineHeightLarge: siteVariables.lineHeightLarge,\n    fontSizeLarger: siteVariables.fontSizes.larger,\n    fontLineHeightLarger: siteVariables.lineHeightLarger,\n    fontSizeLargest: siteVariables.fontSizes.largest,\n    fontLineHeightLargest: siteVariables.lineHeightLargest,\n    fontWeightLight: siteVariables.fontWeightLight,\n    fontWeightSemilight: siteVariables.fontWeightSemilight,\n    fontWeightRegular: siteVariables.fontWeightRegular,\n    fontWeightSemibold: siteVariables.fontWeightSemibold,\n    fontWeightBold: siteVariables.fontWeightBold,\n    atMentionOtherColor: siteVariables.colors.brand[600],\n    atMentionMeColor: siteVariables.colors.orange[400],\n    atMentionMeFontWeight: siteVariables.fontWeightBold,\n    disabledColor: siteVariables.colors.grey[250],\n    errorColor: siteVariables.colors.red[400],\n    importantWeight: siteVariables.fontWeightBold,\n    importantColor: siteVariables.colors.red[400],\n    successColor: siteVariables.colors.green[600],\n    timestampColor: siteVariables.colorScheme.default.foreground1\n  };\n};\n//# sourceMappingURL=textVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaVariables = function textAreaVariables(siteVars) {\n  return {\n    margin: '0',\n    padding: pxToRem(7) + \" \" + pxToRem(12),\n    borderColor: 'transparent',\n    borderRadius: pxToRem(3) + \" \" + pxToRem(3) + \" \" + pxToRem(2) + \" \" + pxToRem(2),\n    borderWidth: \"0 0 \" + pxToRem(2) + \" 0\",\n    backgroundColor: siteVars.colorScheme.default.background2,\n    invertedBackgroundColor: siteVars.colorScheme.default.background,\n    placeholderColor: siteVars.colorScheme.default.foreground1,\n    disabledColor: siteVars.colorScheme.brand.foregroundDisabled,\n    fontColor: siteVars.colorScheme.default.foreground,\n    fontSize: siteVars.fontSizes.medium,\n    borderColorFocus: \"transparent transparent \" + siteVars.colorScheme.brand.borderFocus1 + \" transparent\",\n    height: 'auto',\n    borderColorError: siteVars.colorScheme.red.background\n  };\n};\n//# sourceMappingURL=textAreaVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var treeTitleVariables = function treeTitleVariables(siteVars) {\n  return {\n    color: siteVars.colorScheme.default.foreground,\n    padding: pxToRem(1) + \" 0\",\n    paddingRight: pxToRem(20),\n    paddingLeft: pxToRem(20),\n    borderColor: siteVars.colorScheme.default.foreground1,\n    borderStyle: 'solid',\n    borderRadius: pxToRem(3),\n    borderWidth: pxToRem(1),\n    indicatorColor: 'transparent',\n    selectionIndicatorMargin: \"0 0 0 0\",\n    background: 'transparent',\n    hoverBackground: siteVars.colorScheme.default.background1,\n    checkedBackground: siteVars.colorScheme.brand.backgroundActive1,\n    checkedBorderColor: siteVars.colorScheme.brand.backgroundActive1,\n    checkedIndicatorColor: siteVars.colorScheme.default.background,\n    disabledBackground: siteVars.colorScheme.default.background,\n    disabledBackgroundChecked: siteVars.colorScheme.default.backgroundDisabled,\n    disabledBorderColor: siteVars.colorScheme.default.foregroundDisabled1,\n    disabledCheckedIndicatorColor: siteVars.colorScheme.default.foregroundDisabled\n  };\n};\n//# sourceMappingURL=treeTitleVariables.js.map\n","export var videoVariables = function videoVariables() {\n  return {\n    width: undefined,\n    height: undefined\n  };\n};\n//# sourceMappingURL=videoVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var tooltipContentVariables = function tooltipContentVariables(siteVars) {\n  return {\n    boxShadow: siteVars.shadowLevel2,\n    borderRadius: pxToRem(3),\n    borderSize: '1px',\n    padding: pxToRem(5) + \" \" + pxToRem(12) + \" \" + pxToRem(7) + \" \" + pxToRem(12),\n    maxWidth: pxToRem(246),\n    pointerMargin: pxToRem(6),\n    pointerGap: pxToRem(5),\n    pointerWidth: pxToRem(16),\n    pointerHeight: pxToRem(6),\n    color: siteVars.colorScheme.default.foreground3,\n    backgroundColor: siteVars.colors.grey[500],\n    zIndex: siteVars.zIndexes.overlayPriority\n  };\n};\n//# sourceMappingURL=tooltipContentVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var splitButtonVariables = function splitButtonVariables(siteVars) {\n  return {\n    borderRadius: siteVars.borderRadius,\n    borderColor: siteVars.colorScheme.default.border,\n    borderColorPrimary: siteVars.colors.brand[500],\n    borderColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n    smallDimension: pxToRem(24),\n    smallPadding: \"0 \" + pxToRem(8),\n    smallMinWidth: '0',\n    smallBoxShadow: 'none',\n    padding: \"0 \" + pxToRem(12),\n    minWidth: '0',\n    toggleButtonHeight: pxToRem(32),\n    toggleButtonColor: siteVars.colorScheme.default.foreground,\n    toggleButtonBackgroundColor: siteVars.colorScheme.default.background,\n    toggleButtonBorderRadius: siteVars.borderRadius,\n    toggleButtonBorderColor: siteVars.colorScheme.default.border,\n    toggleButtonBoxShadow: siteVars.shadowLevel1,\n    toggleButtonColorHover: siteVars.colorScheme.brand.foregroundHover,\n    toggleButtonBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n    toggleButtonBorderColorHover: siteVars.colorScheme.default.borderHover,\n    toggleButtonColorActive: siteVars.colorScheme.default.foregroundPressed,\n    toggleButtonBackgroundColorActive: siteVars.colorScheme.default.backgroundPressed,\n    toggleButtonBorderColorActive: siteVars.colorScheme.default.borderPressed,\n    toggleButtonBackgroundColorFocus: undefined,\n    toggleButtonBorderColorFocus: undefined,\n    toggleButtonColorFocus: undefined,\n    toggleButtonPrimaryHoverBackgroundColor: siteVars.colorScheme.brand.backgroundHover,\n    toggleButtonPrimaryHoverColor: siteVars.colorScheme.brand.foregroundHover1,\n    toggleButtonPrimaryColor: siteVars.colorScheme.brand.foreground4,\n    toggleButtonPrimaryBackgroundColor: siteVars.colorScheme.brand.background,\n    toggleButtonPrimaryBorderColor: 'transparent',\n    toggleButtonPrimaryBoxShadow: siteVars.shadowLevel1Dark,\n    toggleButtonPrimaryBackgroundColorActive: siteVars.colorScheme.brand.backgroundPressed,\n    toggleButtonPrimaryBackgroundColorFocus: undefined,\n    toggleButtonColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n    toggleButtonBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n    toggleButtonIndicatorSize: pxToRem(16),\n    focusBorderRadius: siteVars.borderRadius,\n    focusBorderWidth: siteVars.borderWidth,\n    focusInnerBorderColor: siteVars.focusInnerBorderColor,\n    focusOuterBorderColor: siteVars.focusOuterBorderColor,\n    focusBorderZIndex: siteVars.zIndexes.foreground\n  };\n};\n//# sourceMappingURL=splitButtonVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselVariables = function carouselVariables(siteVars) {\n  return {\n    width: 300,\n    height: 300,\n    focusOuterBorderColor: siteVars.focusOuterBorderColor,\n    focusOuterBorderRadius: siteVars.borderRadius,\n    paddleColor: siteVars.colorScheme.default.foreground4,\n    paddleColorDisabled: siteVars.colorScheme.brand.foregroundDisabled,\n    paddleBackgroundColor: siteVars.colorScheme.onyx.background3,\n    paddleBackgroundColorActive: siteVars.colorScheme.onyx.backgroundPressed,\n    paddleBackgroundColorHover: siteVars.colorScheme.onyx.backgroundHover,\n    paddleBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n    paddleBorderColor: 'transparent',\n    paddleBorderRadius: siteVars.borderRadius,\n    paddleHeight: pxToRem(32),\n    paddleIndicatorSize: pxToRem(16),\n    focusBorderRadius: siteVars.borderRadius,\n    focusBorderWidth: siteVars.borderWidth,\n    focusInnerBorderColor: siteVars.focusInnerBorderColor,\n    focusBorderZIndex: siteVars.zIndexes.foreground\n  };\n};\n//# sourceMappingURL=carouselVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuColorAreas = stringLiteralsArray('border', 'borderActive', 'foregroundActive', 'foregroundFocus', 'foregroundHover', 'backgroundHover', 'backgroundActive', 'backgroundFocus', 'foregroundDisabled');\nexport var carouselNavigationVariables = function carouselNavigationVariables(siteVars) {\n  return {\n    width: 300,\n    colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n      default: {\n        borderActive: siteVars.colorScheme.default.border2,\n        backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n        backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n        foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n      },\n      brand: {\n        foregroundHover: siteVars.colors.white,\n        backgroundHover: siteVars.colors.brand[300],\n        foregroundActive: siteVars.colors.white,\n        borderActive: siteVars.colors.brand[600],\n        backgroundActive: siteVars.colors.brand[500],\n        // it's 600 in the color scheme\n        foregroundFocus: siteVars.colors.white,\n        backgroundFocus: siteVars.colors.brand[300],\n        foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n      }\n    }), menuColorAreas),\n    color: siteVars.colors.grey[500],\n    colorActive: siteVars.colors.black,\n    borderColor: undefined,\n    borderColorActive: undefined,\n    borderColorFocus: siteVars.colors.white,\n    outlineColorFocus: siteVars.colors.black,\n    backgroundColor: undefined,\n    backgroundColorFocus: undefined,\n    backgroundColorHover: undefined,\n    backgroundColorActive: undefined,\n    iconOnlyColorActive: siteVars.colors.brand[600],\n    lineHeightBase: siteVars.lineHeightMedium,\n    horizontalPadding: pxToRem(14) + \" \" + pxToRem(18),\n    verticalBackgroundColor: siteVars.colors.white,\n    verticalItemPadding: pxToRem(7) + \" \" + pxToRem(14),\n    verticalItemBorderWidth: pxToRem(2),\n    verticalItemBorderColor: 'transparent',\n    verticalBackgroundColorFocus: siteVars.colors.grey[150],\n    primaryBorderColor: siteVars.colorScheme.default.border2,\n    indicatorBackgroundColor: siteVars.colors.grey[500],\n    indicatorActiveBackgroundColor: siteVars.colors.brand[600],\n    borderWidth: pxToRem(1),\n    thumbnailWidth: 75\n  };\n};\n//# sourceMappingURL=carouselNavigationVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var tableVariables = function tableVariables(siteVariables) {\n  return {\n    color: siteVariables.colorScheme.default.foreground,\n    hoverColor: siteVariables.colorScheme.default.foregroundHover,\n    backgroundColor: siteVariables.colorScheme.default.background,\n    backgroundHoverColor: siteVariables.colorScheme.default.backgroundHover1,\n    defaultRowHeight: pxToRem(48),\n    compactRowHeight: pxToRem(36),\n    minCellWidth: '0',\n    cellPadding: \"0 \" + pxToRem(8),\n    rowPadding: '0',\n    headerFontSize: pxToRem(12),\n    bodyFontSize: pxToRem(13),\n    borderWidth: pxToRem(1),\n    headerBorderColor: siteVariables.colorScheme.default.backgroundHover1,\n    headerBorderHoverColor: 'transparent',\n    headerBorderFocusColor: 'transparent',\n    rowBorderColor: siteVariables.colorScheme.default.backgroundHover1,\n    rowBorderHoverColor: siteVariables.colorScheme.default.backgroundHover1,\n    rowBorderFocusColor: siteVariables.colorScheme.default.borderFocus,\n    cellBorderColor: 'transparent',\n    cellBorderHoverColor: 'transparent',\n    cellBorderFocusColor: siteVariables.colorScheme.default.borderFocus\n  };\n};\n//# sourceMappingURL=tableVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var cardVariables = function cardVariables(siteVars) {\n  return {\n    backgroundColor: siteVars.colorScheme.default.background1,\n    backgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled1,\n    backgroundColorFocus: siteVars.colorScheme.default.backgroundFocus1,\n    backgroundColorHover: siteVars.colorScheme.default.backgroundHover1,\n    backgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n    ghostBackgroundColor: 'none',\n    ghostBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled,\n    ghostBackgroundColorFocus: 'none',\n    ghostBackgroundColorHover: siteVars.colorScheme.default.backgroundHover,\n    ghostBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n    invertedBackgroundColor: siteVars.colorScheme.default.background2,\n    invertedBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled2,\n    invertedBackgroundColorFocus: siteVars.colorScheme.default.background2,\n    invertedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover2,\n    invertedBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed,\n    borderStyle: 'solid',\n    borderColor: 'transparent',\n    borderColorDisabled: 'transparent',\n    borderColorHover: 'transparent',\n    borderColorPressed: 'transparent',\n    borderWidth: siteVars.borderWidth,\n    borderRadius: pxToRem(3),\n    boxShadow: 'none',\n    boxShadowDisabled: 'none',\n    boxShadowHover: 'none',\n    boxShadowFocus: 'none',\n    boxShadowPressed: 'none',\n    elevatedBoxShadow: siteVars.shadowLevel1,\n    elevatedBoxShadowDisabled: siteVars.shadowLevel1,\n    elevatedBoxShadowHover: siteVars.shadowLevel3,\n    elevatedBoxShadowFocus: siteVars.shadowLevel1,\n    elevatedBoxShadowPressed: siteVars.shadowLevel1,\n    padding: pxToRem(16),\n    margin: pxToRem(0),\n    colorDisabled: siteVars.colorScheme.default.foregroundDisabled,\n    compactPadding: pxToRem(0),\n    previewMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n    headerMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n    bodyMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n    footerMargin: \"0 0 \" + pxToRem(10) + \" 0\",\n    fittedPreviewMargin: pxToRem(0),\n    fittedHeaderMargin: pxToRem(0),\n    fittedBodyMargin: pxToRem(0),\n    fittedFooterMargin: pxToRem(0),\n    previewMarginHorizontal: \"0 \" + pxToRem(10) + \" 0 0\",\n    topControlsTop: pxToRem(10),\n    topControlsRight: pxToRem(0),\n    // TODO: update with latest values from design\n    width: pxToRem(300),\n    height: '100%',\n    sizeSmallWidth: pxToRem(200),\n    sizeSmallHeight: '100%',\n    sizeSmallPadding: pxToRem(0),\n    sizeLargeWidth: pxToRem(500),\n    sizeLargeHeight: '100%',\n    sizeLargePadding: pxToRem(16),\n    fluidWidth: '100%',\n    fluidHeight: '100%',\n    expandableBoxStartMaxHeight: pxToRem(20),\n    expandableBoxEndMaxHeight: pxToRem(500),\n    expandableBoxShrinkTransition: 'max-height 0.5s ease-in',\n    expandableBoxExpandTransition: 'max-height 1s ease-in',\n    selectedBackgroundColor: siteVars.colorScheme.default.backgroundFocus3,\n    selectedBorderColor: siteVars.colorScheme.default.borderActive,\n    selectedBoxShadow: siteVars.shadowLevel4,\n    selectedBackgroundColorDisabled: siteVars.colorScheme.default.backgroundDisabled3,\n    selectedBackgroundColorFocus: siteVars.colorScheme.default.backgroundFocus3,\n    selectedBackgroundColorHover: siteVars.colorScheme.default.backgroundHover3,\n    selectedBackgroundColorPressed: siteVars.colorScheme.default.backgroundPressed3\n  };\n};\n//# sourceMappingURL=cardVariables.js.map\n","import { pxToRem } from '../../../../utils';\nimport { DAYS_IN_WEEK } from '../../../../utils/date-time-utilities';\nexport var datepickerVariables = function datepickerVariables(siteVars) {\n  return {\n    calendarCellBorder: 'none',\n    calendarCellHeight: pxToRem(34),\n    calendarCellWidth: pxToRem(34),\n    calendarCellPadding: pxToRem(0),\n    calendarCellMargin: pxToRem(0),\n    calendarCellBackgroundColor: siteVars.colorScheme.default.background,\n    calendarCellColor: 'inherit',\n    calendarCellQuietColor: siteVars.colorScheme.default.foreground2,\n    calendarCellSelectedColor: siteVars.colorScheme.brand.background4,\n    calendarCellSelectedBackgroundColor: siteVars.colorScheme.brand.borderActive1,\n    calendarCellTodayBackgroundColor: siteVars.colorScheme.brand.backgroundFocus,\n    calendarCellTodayColor: siteVars.colorScheme.white.foreground,\n    calendarCellTodayBorderRadius: '50%',\n    calendarCellHoverBackgroundColor: siteVars.colorScheme.brand.backgroundHover2,\n    calendarCellHoverColor: 'inherit',\n    calendarCellDisabledColor: siteVars.colorScheme.brand.foregroundDisabled,\n    calendarCellDisabledBackgroundColor: siteVars.colorScheme.default.background,\n    calendarHeaderCellFontWeight: siteVars.fontWeightRegular,\n    calendarHeaderCellHeight: pxToRem(32),\n    calendarHeaderCellPadding: pxToRem(2) + \" \" + pxToRem(0) + \" \" + pxToRem(2) + \" \" + pxToRem(0),\n    calendarHeaderCellWidth: \"calc(100%/\" + DAYS_IN_WEEK + \")\",\n    calendarHeaderPaddingTop: pxToRem(5),\n    calendarHeaderPaddingBottom: pxToRem(5),\n    calendarHeaderLabelPaddingLeft: pxToRem(10),\n    calendarHeaderLabelFontWeight: siteVars.fontWeightBold,\n    calendarMinHeight: pxToRem(282)\n  };\n};\n//# sourceMappingURL=datepickerVariables.js.map\n","export var accordionStyles = {\n  root: function root() {\n    return {\n      verticalAlign: 'middle',\n      display: 'flex',\n      flexDirection: 'column',\n      marginBlockEnd: 0,\n      marginBlockStart: 0\n    };\n  }\n};\n//# sourceMappingURL=accordionStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var accordionContentStyles = {\n  root: function root(_ref) {\n    var props = _ref.props;\n    return Object.assign({\n      display: 'none',\n      verticalAlign: 'middle'\n    }, props.active && {\n      display: 'block'\n    }, {\n      marginInlineStart: \"\" + pxToRem(20)\n    });\n  }\n};\n//# sourceMappingURL=accordionContentStyles.js.map\n","import { activeIndicatorUrl } from './activeIndicatorUrl';\nimport { pxToRem } from '../../../../utils';\nexport var accordionTitleStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    return {\n      display: 'inline-block',\n      verticalAlign: 'middle',\n      padding: '.5rem 0',\n      cursor: p.disabled ? 'default' : 'pointer'\n    };\n  },\n  contentWrapper: function contentWrapper(_ref2) {\n    var p = _ref2.props;\n    return Object.assign({\n      display: ['grid', '-ms-grid'],\n      gridTemplateColumns: 'auto',\n      msGridColumns: 'auto'\n    }, p.content && {\n      gridTemplateColumns: 'auto 1fr',\n      msGridColumns: 'auto 1fr'\n    });\n  },\n  indicator: function indicator(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables,\n        rtl = _ref3.rtl;\n    return Object.assign({\n      alignItems: 'center',\n      display: 'inline-flex',\n      backgroundImage: activeIndicatorUrl(v.color, p.active),\n      backgroundPosition: 'center'\n    }, rtl && {\n      transform: \"scaleX(-1)\"\n    }, {\n      content: '\" \"',\n      overflow: 'hidden',\n      height: '100%',\n      width: pxToRem(16),\n      msGridColumn: '1',\n      marginRight: \"\" + pxToRem(4)\n    });\n  },\n  content: function content() {\n    return {\n      alignItems: 'center',\n      display: 'grid',\n      msGridColumn: '2'\n    };\n  }\n};\n//# sourceMappingURL=accordionTitleStyles.js.map\n","export var activeIndicatorUrl = function activeIndicatorUrl(color, active) {\n  return active ? \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' fill='\" + encodeURIComponent(color) + \"' viewBox='8 8 16 16'%3E%3Cpath d='M16 19l3.5-4h-7z' /%3E%3C/svg%3E\\\")\" : \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' fill='\" + encodeURIComponent(color) + \"' viewBox='8 8 16 16'%3E%3Cpath d='M19 16l-4-3.5v7z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=activeIndicatorUrl.js.map\n","export var getIntentColorsFromProps = function getIntentColorsFromProps(p, v, siteVars) {\n  if (p.danger) {\n    return {\n      color: v.dangerColor,\n      backgroundColor: v.dangerBackgroundColor,\n      borderColor: v.dangerBorderColor\n    };\n  }\n\n  if (p.info) {\n    return {\n      color: v.color,\n      backgroundColor: v.backgroundColor,\n      borderColor: v.borderColor\n    };\n  }\n\n  if (v.oof) {\n    return {\n      color: v.oofColor,\n      backgroundColor: v.oofBackgroundColor,\n      borderColor: v.oofBorderColor\n    };\n  }\n\n  if (v.urgent) {\n    return {\n      color: v.urgentColor,\n      backgroundColor: v.urgentBackgroundColor,\n      borderColor: v.urgentBorderColor\n    };\n  }\n\n  if (p.success) {\n    return {\n      color: v.successColor,\n      backgroundColor: v.successBackgroundColor,\n      borderColor: v.successBorderColor\n    };\n  }\n\n  if (p.warning) {\n    return {\n      color: v.warningColor,\n      backgroundColor: v.warningBackgroundColor,\n      borderColor: v.warningBorderColor\n    };\n  }\n\n  return {\n    color: v.color,\n    backgroundColor: v.backgroundColor,\n    borderColor: v.borderColor\n  };\n};\nexport var alertStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    return Object.assign({\n      display: 'flex',\n      alignItems: 'center',\n      position: 'relative',\n      borderStyle: v.borderStyle,\n      borderWidth: v.borderWidth,\n      borderRadius: v.borderRadius,\n      minHeight: v.minHeight,\n      padding: v.padding,\n      fontWeight: v.fontWeight,\n      visibility: 'visible',\n      boxSizing: 'border-box'\n    }, getIntentColorsFromProps(p, v, siteVariables), (p.attached === 'top' || p.attached === true) && {\n      borderRadius: v.borderRadius + \" \" + v.borderRadius + \" 0 0\"\n    }, p.attached === 'bottom' && {\n      borderRadius: \"0 0 \" + v.borderRadius + \" \" + v.borderRadius\n    }, p.fitted && {\n      display: 'inline-flex'\n    }, p.dismissible && {\n      padding: v.dismissiblePadding\n    }, !p.visible && {\n      visibility: 'hidden'\n    });\n  },\n  actions: function actions(_ref2) {\n    var v = _ref2.variables;\n    return {\n      margin: v.actionsMargin\n    };\n  },\n  header: function header(_ref3) {\n    var v = _ref3.variables;\n    return {\n      fontWeight: v.headerFontWeight,\n      margin: v.headerMargin\n    };\n  },\n  body: function body() {\n    return {\n      display: 'flex',\n      flexGrow: 1\n    };\n  },\n  content: function content() {\n    return {\n      flexGrow: 1\n    };\n  },\n  icon: function icon(_ref4) {\n    var v = _ref4.variables;\n    return {\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: v.iconSize,\n      height: v.iconSize,\n      '& > :first-child': {\n        height: '100%',\n        width: '100%',\n        '& svg': {\n          height: '100%',\n          width: '100%'\n        }\n      },\n      margin: v.iconMargin\n    };\n  }\n};\n//# sourceMappingURL=alertStyles.js.map\n","var defaultColor = 'transparent';\n/**\n * Returns style object that can be used for styling components on focus state.\n * NOTE: the element where this is used needs to have relative positioning so that the\n * pseudo elements created on focus can be properly positioned.\n */\n\nexport var getBorderFocusStyles = function getBorderFocusStyles(args) {\n  var sv = args.variables;\n  var _args$borderWidth = args.borderWidth,\n      borderWidth = _args$borderWidth === void 0 ? sv.borderWidth : _args$borderWidth,\n      _args$borderRadius = args.borderRadius,\n      borderRadius = _args$borderRadius === void 0 ? sv.borderRadius : _args$borderRadius,\n      _args$focusInnerBorde = args.focusInnerBorderColor,\n      focusInnerBorderColor = _args$focusInnerBorde === void 0 ? sv.focusInnerBorderColor || defaultColor : _args$focusInnerBorde,\n      _args$focusOuterBorde = args.focusOuterBorderColor,\n      focusOuterBorderColor = _args$focusOuterBorde === void 0 ? sv.focusOuterBorderColor || defaultColor : _args$focusOuterBorde,\n      borderPadding = args.borderPadding;\n  var defaultPreudoStyles = {\n    content: '\"\"',\n    position: 'absolute',\n    borderStyle: 'solid',\n    pointerEvents: 'none',\n    borderWidth: borderWidth,\n    borderRadius: borderRadius\n  };\n  var borderPaddingTop = (borderPadding == null ? void 0 : borderPadding.top) || borderPadding;\n  var borderPaddingBottom = (borderPadding == null ? void 0 : borderPadding.bottom) || borderPadding;\n  var borderPaddingLeft = (borderPadding == null ? void 0 : borderPadding.left) || borderPadding;\n  var borderPaddingRight = (borderPadding == null ? void 0 : borderPadding.right) || borderPadding;\n  return {\n    ':focus': {\n      outline: 'none'\n    },\n    ':focus-visible': {\n      borderColor: 'transparent',\n      ':before': Object.assign({}, defaultPreudoStyles, {\n        zIndex: sv.zIndexes.foreground,\n        borderColor: focusInnerBorderColor,\n        top: borderPadding == null ? '0' : \"-\" + borderPaddingTop,\n        bottom: borderPadding == null ? '0' : \"-\" + borderPaddingBottom,\n        left: borderPadding == null ? '0' : \"-\" + borderPaddingLeft,\n        right: borderPadding == null ? '0' : \"-\" + borderPaddingRight\n      }),\n      ':after': Object.assign({}, defaultPreudoStyles, {\n        zIndex: sv.zIndexes.foreground,\n        borderColor: focusOuterBorderColor,\n        top: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingTop + \" - \" + borderWidth + \")\",\n        bottom: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingBottom + \" - \" + borderWidth + \")\",\n        left: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingLeft + \" - \" + borderWidth + \")\",\n        right: borderPadding == null ? \"-\" + borderWidth : \"calc(0px - \" + borderPaddingRight + \" - \" + borderWidth + \")\"\n      })\n    }\n  };\n};\n//# sourceMappingURL=getBorderFocusStyles.js.map\n","import { iconClassNames } from '@fluentui/react-icons-northstar';\nexport var getIconFillOrOutlineStyles = function getIconFillOrOutlineStyles(_ref) {\n  var _ref2;\n\n  var outline = _ref.outline;\n  return _ref2 = {}, _ref2[\"& .\" + iconClassNames.filled] = {\n    display: outline ? 'none' : 'block'\n  }, _ref2[\"& .\" + iconClassNames.outline] = {\n    display: outline ? 'block' : 'none'\n  }, _ref2;\n};\n//# sourceMappingURL=getIconFillOrOutlineStyles.js.map\n","export var dismissIndicatorUrl = function dismissIndicatorUrl(color, outline) {\n  if (outline) {\n    return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M16.707 16l4.243-4.243a.5.5 0 1 0-.707-.707L16 15.293l-4.243-4.243a.5.5 0 1 0-.707.707L15.293 16l-4.243 4.243a.5.5 0 1 0 .707.707L16 16.707l4.243 4.243a.498.498 0 0 0 .707 0 .5.5 0 0 0 0-.707L16.707 16z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n  }\n\n  return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M17.414 16l3.89-3.89a1 1 0 1 0-1.415-1.413L16 14.586l-3.89-3.89a1 1 0 1 0-1.413 1.415L14.586 16l-3.89 3.89a1 1 0 1 0 1.415 1.413L16 17.414l3.89 3.89a.997.997 0 0 0 1.413 0 1 1 0 0 0 0-1.415L17.414 16z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=dismissIndicatorUrl.js.map\n","import { alertDismissActionSlotClassNames } from '../../../../components/Alert/AlertDismissAction';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { dismissIndicatorUrl } from './dismissIndicatorUrl';\nimport { getIntentColorsFromProps } from './alertStyles';\nimport { faster } from '../../animations/durations';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, outline, size) {\n  return {\n    width: size,\n    height: size,\n    backgroundImage: dismissIndicatorUrl(color, outline),\n    backgroundRepeat: 'no-repeat'\n  };\n};\n\nexport var alertDismissActionStyles = {\n  root: function root(_ref) {\n    var _ref2, _ref3, _ref4;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        theme = _ref.theme;\n    var siteVariables = theme.siteVariables;\n    var borderWidth = siteVariables.borderWidth;\n\n    var _getIntentColorsFromP = getIntentColorsFromProps(p, v, siteVariables),\n        dismissActionIndicatorColor = _getIntentColorsFromP.color;\n\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: {\n        borderRadius: v.focusBorderRadius,\n        borderWidth: v.focusBorderWidth,\n        focusInnerBorderColor: v.focusInnerBorderColor,\n        focusOuterBorderColor: v.focusOuterBorderColor,\n        zIndexes: {\n          foreground: v.focusBorderZIndex\n        }\n      },\n      borderPadding: borderWidth\n    });\n    return Object.assign({\n      height: v.dismissActionSize,\n      minWidth: v.dismissActionSize,\n      color: v.dismissActionColor || 'currentColor',\n      outline: 0,\n      padding: 0,\n      borderWidth: 0,\n      backgroundColor: v.dismissActionBackgroundColor,\n      borderRadius: v.borderRadius,\n      display: 'inline-flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      position: 'relative',\n      verticalAlign: 'middle',\n      cursor: 'pointer',\n      transition: faster\n    }, getIconFillOrOutlineStyles({\n      outline: true\n    }), !p.hasContent && (_ref2 = {}, _ref2[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, true, v.dismissActionIndicatorSize)), _ref2), {\n      ':hover': Object.assign({\n        backgroundColor: v.hoverBackgroundColor,\n        color: 'currentColor'\n      }, getIconFillOrOutlineStyles({\n        outline: false\n      }), !p.hasContent && (_ref3 = {}, _ref3[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)), _ref3), getBorderFocusStyles({\n        variables: {\n          borderRadius: v.dismissActionHoverBorderRadius,\n          borderWidth: v.dismissActionHoverBorderWidth,\n          focusInnerBorderColor: v.dismissActionHoverInnerBorderColor,\n          focusOuterBorderColor: v.dismissActionHoverOuterBorderColor,\n          zIndexes: {\n            foreground: v.dismissActionHoverZIndex\n          }\n        }\n      })[':focus-visible']),\n      ':focus': borderFocusStyles[':focus'],\n      ':focus-visible': Object.assign({\n        backgroundColor: v.focusBackgroundColor,\n        borderColor: v.dismissActionBorderColorFocus,\n        color: v.dismissActionColorFocus,\n        borderWidth: borderWidth\n      }, borderFocusStyles[':focus-visible'], getIconFillOrOutlineStyles({\n        outline: false\n      }), !p.hasContent && (_ref4 = {}, _ref4[\"& .\" + alertDismissActionSlotClassNames.content] = Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)), _ref4), {\n        ':hover': {\n          borderColor: v.dismissActionBorderColorHover\n        }\n      })\n    }, p.disabled && {\n      cursor: 'default',\n      color: v.dismissActionColorDisabled,\n      boxShadow: 'none',\n      pointerEvents: 'none',\n      ':hover': {\n        color: v.dismissActionColorDisabled\n      },\n      backgroundColor: v.dismissActionBackgroundColorDisabled,\n      borderColor: v.dismissActionBorderColorDisabled\n    });\n  },\n  content: function content(_ref5) {\n    var p = _ref5.props,\n        v = _ref5.variables,\n        theme = _ref5.theme;\n    var siteVariables = theme.siteVariables;\n\n    var _getIntentColorsFromP2 = getIntentColorsFromProps(p, v, siteVariables),\n        dismissActionIndicatorColor = _getIntentColorsFromP2.color;\n\n    return Object.assign({\n      fontWeight: v.dismissActionContentFontWeight\n    }, !p.hasContent && Object.assign({}, getIndicatorStyles(dismissActionIndicatorColor, false, v.dismissActionIndicatorSize)));\n  }\n};\n//# sourceMappingURL=alertDismissActionStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nimport { attachmentActionClassName } from '../../../../components/Attachment/AttachmentAction';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var attachmentStyles = {\n  root: function root(_ref) {\n    var _Object$assign, _hover;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables,\n      borderRadius: v.borderRadius\n    });\n    return Object.assign({\n      position: 'relative',\n      display: 'inline-flex',\n      alignItems: 'center',\n      width: '100%',\n      maxWidth: pxToRem(440),\n      minHeight: pxToRem(48),\n      padding: v.padding,\n      marginBottom: pxToRem(2),\n      marginRight: pxToRem(2),\n      background: v.backgroundColor,\n      color: v.textColor,\n      boxShadow: v.boxShadow,\n      border: siteVariables.borderWidth + \" solid \" + v.borderColor,\n      borderRadius: v.borderRadius\n    }, borderFocusStyles, {\n      '& .ui-attachment__progress': {\n        transition: 'width 0.2s',\n        position: 'absolute',\n        display: 'block',\n        bottom: 0,\n        left: 0,\n        maxWidth: '100%',\n        height: v.progressHeight,\n        background: v.progressColor\n      }\n    }, p.actionable && {\n      cursor: 'pointer',\n      ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], (_Object$assign = {\n        backgroundColor: v.focusBackgroundColor,\n        color: v.focusColor\n      }, _Object$assign[\"& .\" + attachmentActionClassName] = {\n        color: v.focusColor\n      }, _Object$assign[\"& .\" + svgIconClassName] = {\n        color: v.focusColor\n      }, _Object$assign)),\n      ':hover': (_hover = {\n        backgroundColor: v.backgroundColorHover,\n        color: v.textColorHover\n      }, _hover[\"& .\" + attachmentActionClassName] = {\n        color: v.textColorHover\n      }, _hover[\"& .\" + svgIconClassName] = {\n        color: v.textColorHover\n      }, _hover)\n    });\n  }\n};\n//# sourceMappingURL=attachmentStyles.js.map\n","import { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nimport { loaderSlotClassNames } from '../../../../components/Loader/Loader';\nexport var attachmentActionStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        theme = _ref.theme;\n    var siteVariables = theme.siteVariables;\n    var iconFilledStyles = getIconFillOrOutlineStyles({\n      outline: false\n    });\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables,\n      borderRadius: v.actionFocusBorderRadius\n    });\n    return Object.assign({\n      height: v.actionHeight,\n      maxWidth: v.actionMaxWidth,\n      display: 'inline-flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      position: 'relative',\n      verticalAlign: 'middle',\n      cursor: 'pointer',\n      // text button defaults\n      color: v.actionColor,\n      // textColor\n      backgroundColor: 'transparent',\n      borderColor: 'transparent',\n      padding: 0\n    }, getIconFillOrOutlineStyles({\n      outline: true\n    }), {\n      ':focus': Object.assign({\n        boxShadow: 'none'\n      }, borderFocusStyles[':focus']),\n      ':focus-visible': Object.assign({}, iconFilledStyles, borderFocusStyles[':focus-visible'])\n    }, p.primary && {\n      color: v.actionPrimaryColor\n    }, p.disabled && {\n      cursor: 'default',\n      boxShadow: 'none',\n      pointerEvents: 'none',\n      color: v.actionColorDisabled,\n      backgroundColor: 'transparent',\n      ':hover': {\n        color: v.actionColorDisabled\n      }\n    }, {\n      minWidth: v.actionHeight,\n      ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n        outline: false\n      }))\n    });\n  },\n  icon: function icon(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: v.actionIconSize,\n      height: v.actionIconSize\n    }, p.loading && {\n      margin: 0,\n      opacity: 0,\n      width: 0\n    }, p.hasContent && Object.assign({\n      margin: \"0 \" + pxToRem(10) + \" 0 0\"\n    }, p.iconPosition === 'after' && {\n      margin: \"0 0 0 \" + pxToRem(10)\n    }));\n  },\n  loader: function loader(_ref3) {\n    var _Object$assign;\n\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign((_Object$assign = {}, _Object$assign[\"& .\" + loaderSlotClassNames.indicator] = {\n      width: v.actionLoaderSize,\n      height: v.actionLoaderSize\n    }, _Object$assign[\"& .\" + loaderSlotClassNames.svg] = {\n      ':before': {\n        animationName: {\n          to: {\n            transform: \"translate3d(0, \" + v.actionLoaderSvgAnimationHeight + \", 0)\"\n          }\n        },\n        borderWidth: v.actionLoaderBorderSize,\n        width: v.actionLoaderSize,\n        height: v.actionLoaderSvgHeight\n      }\n    }, _Object$assign), p.hasContent && {\n      marginRight: pxToRem(4)\n    });\n  }\n};\n//# sourceMappingURL=attachmentActionStyles.js.map\n","export var attachmentBodyStyles = {\n  root: function root() {\n    return {\n      flex: 1\n    };\n  }\n};\n//# sourceMappingURL=attachmentBodyStyles.js.map\n","export var attachmentDescriptionStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      display: 'block',\n      fontSize: v.descriptionFontSize,\n      fontWeight: v.descriptionFontWeight,\n      lineHeight: v.descriptionLineHeight\n    };\n  }\n};\n//# sourceMappingURL=attachmentDescriptionStyles.js.map\n","export var attachmentHeaderStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      display: 'block',\n      fontSize: v.headerFontSize,\n      fontWeight: v.headerFontWeight,\n      lineHeight: v.headerLineHeight\n    };\n  }\n};\n//# sourceMappingURL=attachmentHeaderStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var attachmentIconStyles = {\n  root: function root(_ref) {\n    var _ref2;\n\n    var v = _ref.variables;\n    return _ref2 = {\n      height: v.iconSize,\n      width: v.iconSize,\n      marginRight: v.iconSpace\n    }, _ref2[\"& .\" + svgIconClassName] = {\n      height: '100%',\n      width: '100%',\n      '& svg': {\n        height: '100%',\n        width: '100%'\n      }\n    }, _ref2;\n  }\n};\n//# sourceMappingURL=attachmentIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n  smallest: 20,\n  smaller: 24,\n  small: 28,\n  medium: 32,\n  large: 44,\n  larger: 64,\n  largest: 96\n};\nexport var avatarStyles = {\n  root: function root(_ref) {\n    var size = _ref.props.size;\n    var sizeInRem = pxToRem(sizeToPxValue[size]);\n    return {\n      position: 'relative',\n      backgroundColor: 'inherit',\n      display: 'inline-block',\n      verticalAlign: 'middle',\n      height: sizeInRem,\n      width: sizeInRem\n    };\n  }\n};\n//# sourceMappingURL=avatarStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n  smallest: 6,\n  smaller: 10,\n  small: 10,\n  medium: 10,\n  large: 10,\n  larger: 16,\n  largest: 0\n};\nexport var getSizeStyles = function getSizeStyles(sizeInPx) {\n  var sizeInRem = pxToRem(sizeInPx);\n  return {\n    height: sizeInRem,\n    width: sizeInRem\n  };\n};\nexport var avatarStatusStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        _ref$props = _ref.props,\n        color = _ref$props.color,\n        size = _ref$props.size,\n        state = _ref$props.state;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center'\n    }, getSizeStyles(sizeToPxValue[size]), {\n      verticalAlign: 'middle',\n      borderRadius: '9999px',\n      position: 'absolute',\n      bottom: 0,\n      right: 0,\n      boxShadow: \"0 0 0 \" + v.statusBorderWidth + \" \" + v.statusBorderColor\n    }, state === 'success' && {\n      backgroundColor: v.statusSuccessBackgroundColor\n    }, state === 'info' && {\n      backgroundColor: v.statusInfoBackgroundColor\n    }, state === 'warning' && {\n      backgroundColor: v.statusWarningBackgroundColor\n    }, state === 'error' && {\n      backgroundColor: v.statusErrorBackgroundColor\n    }, state === 'unknown' && {\n      backgroundColor: v.statusBackgroundColor\n    }, !!color && {\n      backgroundColor: color\n    });\n  }\n};\n//# sourceMappingURL=avatarStatusStyles.js.map\n","export var avatarStatusIconStyles = {\n  root: function root(_ref) {\n    var state = _ref.props.state,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: v.statusIconSize,\n      height: v.statusIconSize,\n      color: v.statusColor\n    }, state === 'success' && {\n      color: v.statusSuccessColor\n    }, state === 'info' && {\n      color: v.statusInfoColor\n    }, state === 'error' && {\n      color: v.statusErrorColor\n    }, state === 'warning' && {\n      color: v.statusWarningColor\n    }, {\n      '& > :first-child': {\n        height: '100%',\n        width: '100%',\n        '& svg': {\n          height: '100%',\n          width: '100%'\n        }\n      }\n    });\n  }\n};\n//# sourceMappingURL=avatarStatusIconStyles.js.map\n","export var avatarImageStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        p = _ref.props;\n    return Object.assign({\n      boxSizing: 'border-box',\n      display: 'inline-block'\n    }, p.circular && {\n      borderRadius: v.imageCircularRadius\n    }, p.avatar && {\n      width: p.fluid && '100%' || v.imageAvatarSize,\n      borderRadius: v.imageAvatarRadius\n    }, {\n      borderColor: v.avatarBorderColor,\n      borderStyle: 'solid',\n      borderWidth: v.avatarBorderWidth,\n      height: '100%',\n      objectFit: 'cover',\n      verticalAlign: 'top',\n      width: '100%'\n    }, !p.avatar && {\n      borderRadius: v.squareAvatarBorderRadius\n    });\n  }\n};\n//# sourceMappingURL=avatarImageStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n  smallest: 20,\n  smaller: 24,\n  small: 28,\n  medium: 32,\n  large: 44,\n  larger: 64,\n  largest: 96\n};\nvar iconSizeToPxValue = {\n  smallest: 10,\n  smaller: 12,\n  small: 16,\n  medium: 16,\n  large: 20,\n  larger: 32,\n  largest: 40\n};\nexport var avatarIconStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        p = _ref.props;\n    var sizeInRem = pxToRem(sizeToPxValue[p.size]);\n    var iconsizeInRem = pxToRem(iconSizeToPxValue[p.size]);\n    return Object.assign({\n      color: v.iconColor,\n      background: v.iconBackgroundColor,\n      width: sizeInRem,\n      height: sizeInRem,\n      borderRadius: '50%',\n      display: 'inline-flex',\n      alignItems: 'center'\n    }, p.square && {\n      borderRadius: v.squareAvatarBorderRadius\n    }, {\n      '& > :first-child': {\n        margin: '0 auto',\n        width: iconsizeInRem,\n        height: iconsizeInRem,\n        '& svg': {\n          width: '100%',\n          height: '100%'\n        }\n      }\n    });\n  }\n};\n//# sourceMappingURL=avatarIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar sizeToPxValue = {\n  smallest: 20,\n  smaller: 24,\n  small: 28,\n  medium: 32,\n  large: 44,\n  larger: 64,\n  largest: 96\n};\nexport var avatarLabelStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var sizeInRem = pxToRem(sizeToPxValue[p.size]);\n    return Object.assign({\n      alignItems: 'center',\n      overflow: 'hidden',\n      color: v.labelColor,\n      backgroundColor: v.labelBackground,\n      borderRadius: '50%',\n      display: 'inline-block',\n      width: sizeInRem,\n      height: sizeInRem,\n      lineHeight: sizeInRem,\n      fontSize: pxToRem(sizeToPxValue[p.size] / 2.333),\n      verticalAlign: 'top',\n      textAlign: 'center',\n      padding: '0'\n    }, p.square && {\n      borderRadius: v.squareAvatarBorderRadius\n    }, p.circular && {\n      borderRadius: v.labelCircularRadius\n    });\n  }\n};\n//# sourceMappingURL=avatarLabelStyles.js.map\n","import _isNil from \"lodash/isNil\";\nimport { pxToRem } from '../../../../utils';\nimport { loaderSlotClassNames } from '../../../../components/Loader/Loader';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { faster, ultraFast } from '../../animations/durations';\nexport var buttonStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        theme = _ref.theme;\n    var siteVariables = theme.siteVariables;\n    var borderWidth = siteVariables.borderWidth;\n    var borderFocusStyles = getBorderFocusStyles(Object.assign({\n      variables: siteVariables,\n      borderPadding: borderWidth\n    }, p.circular && {\n      borderPadding: pxToRem(4)\n    }));\n    return Object.assign({\n      height: v.height,\n      minWidth: _isNil(p.loading) ? v.minWidth : v.loadingMinWidth,\n      maxWidth: v.maxWidth,\n      color: v.color,\n      backgroundColor: v.backgroundColor,\n      borderRadius: v.borderRadius,\n      display: 'inline-flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      position: 'relative',\n      padding: v.padding,\n      verticalAlign: 'middle',\n      cursor: 'pointer',\n      transition: faster\n    }, p.size === 'small' && {\n      padding: v.sizeSmallPadding,\n      height: v.sizeSmallHeight,\n      minWidth: v.sizeSmallMinWidth\n    }, !p.text && Object.assign({\n      outline: 0,\n      borderWidth: borderWidth,\n      borderStyle: 'solid',\n      borderColor: v.borderColor,\n      boxShadow: v.boxShadow,\n      ':hover': {\n        color: v.colorHover,\n        backgroundColor: v.backgroundColorHover,\n        borderColor: v.borderColorHover\n      }\n    }, !p.disabledFocusable && {\n      ':active': {\n        transition: ultraFast,\n        color: v.colorActive,\n        backgroundColor: v.backgroundColorActive,\n        borderColor: v.borderColorActive,\n        boxShadow: 'none'\n      }\n    }, {\n      ':focus': borderFocusStyles[':focus'],\n      ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], {\n        backgroundColor: v.backgroundColorFocus,\n        borderColor: v.borderColorFocus,\n        color: v.colorFocus,\n        borderWidth: borderWidth,\n        ':hover': {\n          borderColor: v.borderColorHover\n        }\n      })\n    }, p.size === 'small' && {\n      boxShadow: 'none'\n    }), p.circular && !p.text && Object.assign({\n      minWidth: v.height,\n      padding: 0,\n      borderRadius: v.circularBorderRadius\n    }, p.size === 'small' && {\n      minWidth: v.sizeSmallHeight\n    }), p.text && Object.assign({\n      color: v.textColor,\n      backgroundColor: 'transparent',\n      borderColor: 'transparent',\n      padding: \"0 \" + pxToRem(8)\n    }, getIconFillOrOutlineStyles({\n      outline: true\n    }), {\n      ':hover': Object.assign({\n        color: v.textColorHover\n      }, getIconFillOrOutlineStyles({\n        outline: false\n      })),\n      ':focus': Object.assign({\n        boxShadow: 'none'\n      }, borderFocusStyles[':focus']),\n      ':focus-visible': borderFocusStyles[':focus-visible']\n    }, p.primary && {\n      color: v.textPrimaryColor\n    }), p.primary && !p.text && Object.assign({\n      color: v.primaryColor,\n      backgroundColor: v.primaryBackgroundColor,\n      borderColor: v.primaryBorderColor,\n      boxShadow: v.primaryBoxShadow\n    }, !p.disabledFocusable && {\n      ':active': {\n        transition: ultraFast,\n        backgroundColor: v.primaryBackgroundColorActive,\n        boxShadow: 'none'\n      }\n    }, {\n      ':focus': borderFocusStyles[':focus'],\n      ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], {\n        backgroundColor: v.primaryBackgroundColorFocus\n      }),\n      ':hover': {\n        color: v.primaryColorHover,\n        backgroundColor: v.primaryBackgroundColorHover\n      }\n    }), p.inverted && Object.assign({\n      backgroundColor: siteVariables.colorScheme.silver.background,\n      borderColor: siteVariables.colorScheme.silver.border,\n      color: siteVariables.colorScheme.silver.foreground\n    }, !p.disabledFocusable && {\n      ':active': {\n        transition: ultraFast,\n        backgroundColor: siteVariables.colorScheme.silver.backgroundPressed,\n        color: siteVariables.colorScheme.silver.foregroundHover\n      }\n    }, {\n      ':hover': {\n        backgroundColor: siteVariables.colorScheme.silver.backgroundHover,\n        color: siteVariables.colorScheme.silver.foregroundHover\n      },\n      ':focus': Object.assign({}, borderFocusStyles[':focus'], {\n        boxShadow: 'none'\n      }),\n      ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'], !p.disabledFocusable && {\n        backgroundColor: siteVariables.colorScheme.silver.backgroundPressed,\n        color: siteVariables.colorScheme.silver.foregroundHover\n      })\n    }), p.tinted && Object.assign({\n      backgroundColor: v.tintedBackgroundColor,\n      borderColor: v.tintedBorderColor,\n      color: v.tintedColor\n    }, !p.disabledFocusable && {\n      ':active': {\n        transition: ultraFast,\n        backgroundColor: v.tintedBackgroundColorActive\n      }\n    }, {\n      ':hover': {\n        backgroundColor: v.tintedBackgroundColorHover\n      },\n      ':focus': {\n        boxShadow: 'none'\n      }\n    }), p.disabled && {\n      // pointer events intentionally not disabled for focusable disabled buttons\n      // so that hover events work\n      pointerEvents: 'none'\n    }, (p.disabled || p.disabledFocusable) && Object.assign({\n      cursor: 'default',\n      color: v.colorDisabled,\n      boxShadow: 'none',\n      ':hover': {\n        color: v.colorDisabled\n      }\n    }, p.text && {\n      color: v.textColorDisabled,\n      backgroundColor: 'transparent',\n      ':hover': {\n        color: v.textColorDisabled\n      }\n    }, !p.text && {\n      backgroundColor: v.backgroundColorDisabled,\n      borderColor: v.borderColorDisabled\n    }), p.fluid && {\n      width: '100%',\n      maxWidth: '100%'\n    }, p.iconOnly && Object.assign({\n      minWidth: v.height,\n      padding: 0\n    }, !p.inverted && {\n      ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n        outline: false\n      }), {\n        color: v.textColorIconOnlyHover,\n        background: v.backgroundColorIconOnlyHover\n      })\n    }, p.size === 'small' && {\n      minWidth: v.sizeSmallHeight\n    }));\n  },\n  icon: function icon(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: v.iconSize,\n      height: v.iconSize\n    }, p.loading && {\n      margin: 0,\n      opacity: 0,\n      width: 0\n    }, p.hasContent && Object.assign({\n      margin: \"0 \" + pxToRem(10) + \" 0 0\"\n    }, p.iconPosition === 'after' && {\n      margin: \"0 0 0 \" + pxToRem(10)\n    }));\n  },\n  loader: function loader(_ref3) {\n    var _Object$assign;\n\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign((_Object$assign = {}, _Object$assign[\"& .\" + loaderSlotClassNames.indicator] = {\n      width: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize,\n      height: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize\n    }, _Object$assign[\"& .\" + loaderSlotClassNames.svg] = {\n      ':before': {\n        animationName: {\n          to: {\n            transform: \"translate3d(0, \" + (p.size === 'small' ? v.sizeSmallLoaderSvgAnimationHeight : v.loaderSvgAnimationHeight) + \", 0)\"\n          }\n        },\n        borderWidth: p.size === 'small' ? v.sizeSmallLoaderBorderSize : v.loaderBorderSize,\n        width: p.size === 'small' ? v.sizeSmallLoaderSize : v.loaderSize,\n        height: p.size === 'small' ? v.sizeSmallLoaderSvgHeight : v.loaderSvgHeight\n      }\n    }, _Object$assign), p.hasContent && {\n      marginRight: pxToRem(4)\n    });\n  }\n};\n//# sourceMappingURL=buttonStyles.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar commonButtonsStyles = function commonButtonsStyles(circular) {\n  return circular ? {\n    marginRight: pxToRem(8)\n  } : {\n    borderRadius: 0\n  };\n};\n\nexport var buttonGroupStyles = {\n  root: function root() {\n    return {};\n  },\n  middleButton: function middleButton(_ref) {\n    var p = _ref.props;\n    return Object.assign({}, commonButtonsStyles(p.circular));\n  },\n  firstButton: function firstButton(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({}, commonButtonsStyles(p.circular), !p.circular && {\n      borderTopLeftRadius: v.borderRadius,\n      borderBottomLeftRadius: v.borderRadius\n    });\n  },\n  lastButton: function lastButton(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign({}, commonButtonsStyles(p.circular), !p.circular && {\n      borderTopRightRadius: v.borderRadius,\n      borderBottomRightRadius: v.borderRadius\n    });\n  }\n};\n//# sourceMappingURL=buttonGroupStyles.js.map\n","export var buttonContentStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      overflow: 'hidden',\n      textOverflow: 'ellipsis',\n      whiteSpace: 'nowrap',\n      fontSize: v.contentFontSize,\n      fontWeight: v.contentFontWeight,\n      lineHeight: v.contentLineHeight\n    }, p.size === 'small' && {\n      fontSize: v.sizeSmallContentFontSize,\n      lineHeight: v.sizeSmallContentLineHeight\n    });\n  }\n};\n//# sourceMappingURL=buttonContentStyles.js.map\n","export var breadcrumbItemStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      verticalAlign: 'middle'\n    }, p.active && {\n      fontWeight: v.itemCurrentFontWeight\n    }, p.disabled && {\n      color: v.disabledColor\n    }, p.size === 'smaller' && {\n      paddingLeft: v.linkPaddingLeftSmaller,\n      paddingRight: v.linkPaddingRightSmaller,\n      gap: v.linkSmallerGap\n    }, p.size === 'small' && {\n      paddingLeft: v.linkPaddingLeftSmall,\n      paddingRight: v.linkPaddingRightSmall,\n      gap: v.linkSmallGap\n    }, p.size === 'medium' && {\n      paddingLeft: v.linkPaddingLeftMedium,\n      paddingRight: v.linkPaddingRightMedium,\n      gap: v.linkMediumGap\n    }, p.size === 'large' && {\n      paddingLeft: v.linkPaddingLeftLarge,\n      paddingRight: v.linkPaddingRightLarge,\n      gap: v.linkLargeGap\n    });\n  }\n};\n//# sourceMappingURL=breadcrumbItemStyles.js.map\n","export var breadcrumbDividerStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return {\n      verticalAlign: 'middle'\n    };\n  }\n};\n//# sourceMappingURL=breadcrumbDividerStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var breadcrumbLinkStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles(Object.assign({\n      variables: siteVariables\n    }, p.size === 'smaller' && {\n      borderPadding: {\n        top: v.linkPaddingTop,\n        right: v.linkPaddingRightSmaller,\n        bottom: v.linkPaddingBottom,\n        left: v.linkPaddingLeftSmaller\n      }\n    }, p.size === 'small' && {\n      borderPadding: {\n        top: v.linkPaddingTop,\n        right: v.linkPaddingRightSmall,\n        bottom: v.linkPaddingBottom,\n        left: v.linkPaddingLeftSmall\n      }\n    }, p.size === 'medium' && {\n      borderPadding: {\n        top: v.linkPaddingTop,\n        right: v.linkPaddingRightMedium,\n        bottom: v.linkPaddingBottom,\n        left: v.linkPaddingLeftMedium\n      }\n    }, p.size === 'large' && {\n      borderPadding: {\n        top: v.linkPaddingTop,\n        right: v.linkPaddingRightLarge,\n        bottom: v.linkPaddingBottom,\n        left: v.linkPaddingLeftLarge\n      }\n    }));\n    return Object.assign({\n      display: 'flex',\n      alignItems: 'center',\n      position: 'relative',\n      ':visited': {\n        color: 'inherit'\n      }\n    }, borderFocusStyles);\n  }\n};\n//# sourceMappingURL=breadcrumbLinkStyles.js.map\n","export var breadcrumbStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center'\n    }, p.size === 'smaller' && {\n      fontSize: v.fontSizeSmaller\n    }, p.size === 'small' && {\n      fontSize: v.fontSizeSmall\n    }, p.size === 'medium' && {\n      fontSize: v.fontSizeMedium\n    }, p.size === 'large' && {\n      fontSize: v.fontSizeLarge\n    });\n  }\n};\n//# sourceMappingURL=breadcrumbStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      backgroundColor: v.backgroundColor,\n      border: \"1px solid \" + v.backgroundColor,\n      display: 'flex',\n      flexDirection: 'column',\n      listStyle: 'none',\n      padding: \"0 \" + pxToRem(10) + \" 0 \" + pxToRem(10),\n      margin: 0\n    };\n  }\n};\n//# sourceMappingURL=chatStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var chatItemStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      position: 'relative'\n    }, (!p.attached || p.attached === 'top') && {\n      paddingTop: pxToRem(16)\n    }, (p.attached === 'bottom' || p.attached === true) && {\n      paddingTop: pxToRem(2)\n    }, {\n      paddingBottom: 0\n    });\n  },\n  gutter: function gutter(_ref2) {\n    var _Object$assign;\n\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign((_Object$assign = {\n      position: 'absolute',\n      marginTop: v.gutterMargin\n    }, _Object$assign[p.contentPosition === 'end' ? 'right' : 'left'] = 0, _Object$assign), (p.attached === 'bottom' || p.attached === true) && {\n      display: 'none'\n    });\n  },\n  message: function message(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return {\n      position: 'relative',\n      float: p.contentPosition === 'end' ? 'right' : 'left',\n      marginLeft: v.messageMargin,\n      marginRight: v.messageMargin\n    };\n  }\n};\n//# sourceMappingURL=chatItemStyles.js.map\n","import _isNil from \"lodash/isNil\";\nimport { chatMessageSlotClassNames } from '../../../../components/Chat/ChatMessage';\nimport { screenReaderContainerStyles } from '../../../../utils/accessibility/Styles/accessibilityStyles';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var chatMessageStyles = {\n  root: function root(_ref) {\n    var _hover, _ref2, _ref3, _ref4;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    return Object.assign({\n      display: 'inline-block',\n      position: 'relative',\n      marginLeft: p.mine ? v.offset : 0,\n      marginRight: !p.mine ? v.offset : 0,\n      maxWidth: \"calc(100% - \" + v.offset + \")\",\n      minWidth: v.offset,\n      paddingLeft: v.padding,\n      paddingRight: v.padding,\n      paddingTop: pxToRem(8),\n      paddingBottom: pxToRem(10),\n      borderRadius: v.borderRadius,\n      border: v.border,\n      outline: 0,\n      color: v.color,\n      backgroundColor: p.mine ? v.backgroundColorMine : v.backgroundColor,\n      wordBreak: 'break-word',\n      wordWrap: 'break-word'\n    }, (v.hasMention || v.isImportant) && {\n      '::before': {\n        content: '\"\"',\n        backgroundColor: v.hasMention ? v.hasMentionColor : v.isImportantColor,\n        height: '100%',\n        left: '0',\n        position: 'absolute',\n        top: '0',\n        width: pxToRem(3),\n        borderBottomLeftRadius: 'inherit',\n        borderTopLeftRadius: 'inherit'\n      }\n    }, getBorderFocusStyles({\n      variables: siteVariables\n    }), _isNil(v.showActionMenu) && {\n      ':hover': (_hover = {}, _hover[\"> .\" + chatMessageSlotClassNames.actionMenu] = {\n        opacity: 1,\n        zIndex: v.overlayZIndex,\n        '[data-popper-escaped]': {\n          opacity: 0\n        }\n      }, _hover)\n    }, p.attached === true && (_ref2 = {}, _ref2[p.mine ? 'borderTopRightRadius' : 'borderTopLeftRadius'] = 0, _ref2[p.mine ? 'borderBottomRightRadius' : 'borderBottomLeftRadius'] = 0, _ref2.paddingTop = pxToRem(5), _ref2.paddingBottom = pxToRem(7), _ref2), p.attached === 'top' && (_ref3 = {}, _ref3[p.mine ? 'borderBottomRightRadius' : 'borderBottomLeftRadius'] = 0, _ref3), p.attached === 'bottom' && (_ref4 = {}, _ref4[p.mine ? 'borderTopRightRadius' : 'borderTopLeftRadius'] = 0, _ref4.paddingTop = pxToRem(5), _ref4.paddingBottom = pxToRem(7), _ref4));\n  },\n  actionMenu: function actionMenu(_ref5) {\n    var p = _ref5.props,\n        v = _ref5.variables;\n    return Object.assign({\n      backgroundColor: v.backgroundColor,\n      border: '1px solid',\n      borderColor: v.reactionGroupBorderColor,\n      borderRadius: v.borderRadius,\n      boxShadow: v.actionMenuBoxShadow,\n      // we need higher zIndex for the action menu in order to be displayed above the focus border of the chat message\n      zIndex: p.focused || !_isNil(v.showActionMenu) ? v.overlayZIndex : -1\n    }, _isNil(v.showActionMenu) && {\n      overflow: p.focused ? 'visible' : 'hidden',\n      // hide and squash actions menu to prevent accidental hovers over its invisible area\n      opacity: p.focused ? 1 : 0,\n      width: 'auto'\n    }, !_isNil(v.showActionMenu) && {\n      overflow: v.showActionMenu ? 'visible' : 'hidden',\n      // opacity should always be preferred over visibility in order to avoid accessibility bugs in\n      // JAWS behavior on Windows\n      opacity: v.showActionMenu ? 1 : 0,\n      width: v.showActionMenu ? 'auto' : 0\n    }, {\n      '[data-popper-escaped]': {\n        opacity: 0\n      }\n    });\n  },\n  author: function author(_ref6) {\n    var p = _ref6.props,\n        v = _ref6.variables;\n    return Object.assign({}, (p.mine || p.attached === 'bottom' || p.attached === true) && screenReaderContainerStyles, {\n      color: v.authorColor,\n      marginRight: v.authorMarginRight,\n      marginBottom: v.headerMarginBottom,\n      fontWeight: v.authorFontWeight\n    });\n  },\n  timestamp: function timestamp(_ref7) {\n    var p = _ref7.props,\n        v = _ref7.variables;\n    return Object.assign({\n      marginBottom: v.headerMarginBottom\n    }, p.mine && {\n      color: v.timestampColorMine\n    }, (p.attached === 'bottom' || p.attached === true) && !p.hasReactionGroup && screenReaderContainerStyles);\n  },\n  content: function content(_ref8) {\n    var p = _ref8.props,\n        v = _ref8.variables;\n    return Object.assign({\n      color: v.contentColor,\n      display: 'block',\n      '& a': {\n        outline: 'none',\n        color: p.mine ? v.linkColorMine : v.linkColor,\n        ':focus': {\n          textDecoration: 'underline'\n        }\n      }\n    }, p.hasBadge && p.badgePosition === 'end' && {\n      marginRight: pxToRem(4)\n    });\n  },\n  badge: function badge(_ref9) {\n    var _ref10;\n\n    var p = _ref9.props,\n        v = _ref9.variables;\n    var sidePosition = p.badgePosition === 'start' ? 'left' : 'right';\n    return _ref10 = {\n      backgroundColor: v.hasMention ? v.hasMentionNubbinColor : v.isImportantColor,\n      color: v.badgeTextColor,\n      boxShadow: v.badgeShadow,\n      position: 'absolute',\n      padding: pxToRem(4),\n      height: 'auto',\n      width: 'auto',\n      borderRadius: '50%',\n      top: pxToRem(4),\n      zIndex: v.zIndex\n    }, _ref10[sidePosition] = 0, _ref10.transform = p.badgePosition === 'start' ? 'translateX(-50%)' : 'translateX(50%)', _ref10['& > :first-child'] = {\n      display: 'inline-flex'\n    }, _ref10;\n  },\n  reactionGroup: function reactionGroup(_ref11) {\n    var p = _ref11.props,\n        v = _ref11.variables;\n    return Object.assign({\n      marginLeft: v.reactionGroupMarginLeft\n    }, p.hasBadge && p.badgePosition === 'end' && {\n      marginRight: pxToRem(2)\n    }, {\n      float: 'right'\n    });\n  }\n};\n//# sourceMappingURL=chatMessageStyles.js.map\n","export var chatMessageDetailsStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      marginLeft: v.detailsMargin,\n      fontSize: v.detailsFontSize,\n      display: 'inline-block',\n      color: v.detailsColor,\n      ':hover': {\n        color: v.detailsHoverColor\n      }\n    }, p.mine && {\n      color: v.detailsColorMine,\n      ':hover': {\n        color: v.detailsHoverColorMine\n      }\n    });\n  }\n};\n//# sourceMappingURL=chatMessageDetailsStyles.js.map\n","import { screenReaderContainerStyles } from '../../../../utils';\nexport var chatMessageReadStatusStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return {\n      position: 'absolute',\n      right: v.rightPoistion,\n      bottom: v.bottomPoistion,\n      ':after': Object.assign({\n        content: \"\\\"\" + p.title + \"\\\"\"\n      }, screenReaderContainerStyles)\n    };\n  }\n};\n//# sourceMappingURL=chatMessageReadStatusStyles.js.map\n","export var checkboxIndicatorUrl = function checkboxIndicatorUrl(color, backgroundColor) {\n  return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + encodeURIComponent(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndicatorUrl.js.map\n","export var checkboxIndicatorIndeterminateUrl = function checkboxIndicatorIndeterminateUrl(color, backgroundColor) {\n  return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + escape(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + escape(color) + \"' d='M10 16v-1h12v1H10z 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndeterminateIndicatorUrl.js.map\n","import { checkboxSlotClassNames } from '../../../../components/Checkbox/Checkbox';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { checkboxIndicatorUrl } from './checkboxIndicatorUrl';\nimport { checkboxIndicatorIndeterminateUrl } from './checkboxIndeterminateIndicatorUrl';\nimport { pxToRem } from '../../../../utils';\n\nvar commonToggleBeforeStyles = function commonToggleBeforeStyles(v) {\n  return {\n    content: \"' '\",\n    display: 'block',\n    borderRadius: '50%',\n    width: v.toggleIndicatorSize,\n    height: v.toggleIndicatorSize,\n    transition: 'margin .3s ease'\n  };\n};\n\nexport var checkboxStyles = {\n  root: function root(_ref) {\n    var _hover;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        t = _ref.theme;\n    return Object.assign({\n      position: 'relative',\n      display: ['inline-grid', '-ms-inline-grid'],\n      gridTemplateColumns: \"auto \" + v.gap + \" 1fr\",\n      // IE11: Gap is done via virtual column as in autoprefixer\n      msGridColumns: \"auto \" + v.gap + \" 1fr\"\n    }, p.labelPosition === 'start' && {\n      gridTemplateColumns: \"1fr \" + v.gap + \" auto\",\n      msGridColumns: \"1fr \" + v.gap + \" auto\"\n    }, {\n      cursor: 'pointer',\n      outline: 0,\n      color: v.textColor,\n      padding: v.rootPadding,\n      verticalAlign: 'middle',\n      alignItems: 'start'\n    }, getBorderFocusStyles({\n      variables: t.siteVariables,\n      borderRadius: '3px'\n    }), {\n      ':hover': (_hover = {\n        color: v.textColorHover\n      }, _hover[\"& .\" + checkboxSlotClassNames.indicator] = Object.assign({}, !p.toggle && Object.assign({}, p.checked && p.checked !== 'mixed' && {\n        borderColor: v.checkedBackgroundHover,\n        backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackgroundHover)\n      }, !p.checked && {\n        borderColor: v.borderColorHover\n      }), p.toggle && !p.disabled && Object.assign({\n        borderColor: v.borderColorHover,\n        ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n          borderColor: v.borderColorHover,\n          borderStyle: v.borderStyle,\n          borderWidth: v.borderWidth,\n          margin: v.togglePadding,\n          background: 'transparent'\n        })\n      }, p.checked && {\n        borderColor: v.checkedBorderColor,\n        background: v.checkedBackgroundHover,\n        ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n          margin: v.toggleCheckedPadding,\n          background: v.checkedIndicatorColor\n        })\n      })), _hover)\n    }, p.checked && {\n      color: v.checkedTextColor\n    }, p.disabled && {\n      cursor: 'default',\n      pointerEvents: 'none',\n      color: v.disabledColor\n    });\n  },\n  checkbox: function checkbox(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({\n      msGridRowAlign: 'center',\n      gridColumn: 1,\n      msGridColumn: 1\n    }, p.labelPosition === 'start' && {\n      gridColumn: 3,\n      msGridColumn: 3\n    }, {\n      boxShadow: 'unset',\n      width: pxToRem(16),\n      height: pxToRem(16),\n      borderColor: v.borderColor,\n      borderStyle: v.borderStyle,\n      borderRadius: v.borderRadius,\n      borderWidth: v.borderWidth,\n      color: v.indicatorColor,\n      margin: v.margin,\n      padding: v.padding,\n      userSelect: 'none',\n      backgroundImage: checkboxIndicatorUrl(v.indicatorColor, v.background),\n      backgroundPosition: 'center',\n      backgroundRepeat: 'no-repeat'\n    }, p.checked && p.checked && {\n      borderColor: v.checkedBorderColor,\n      backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackground)\n    }, p.checked === 'mixed' && {\n      borderColor: v.checkedBorderColor,\n      backgroundImage: checkboxIndicatorIndeterminateUrl(v.checkedIndicatorColor, v.checkedBackground)\n    }, p.disabled && {\n      backgroundColor: v.disabledBackground,\n      borderColor: v.disabledBorderColor\n    }, p.disabled && p.checked && {\n      color: v.disabledCheckedIndicatorColor,\n      borderColor: v.disabledBackgroundChecked,\n      backgroundImage: checkboxIndicatorUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n    }, p.disabled && p.checked === 'mixed' && {\n      color: v.disabledCheckedIndicatorColor,\n      borderColor: v.disabledBackgroundChecked,\n      backgroundImage: checkboxIndicatorIndeterminateUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n    });\n  },\n  toggle: function toggle(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign({\n      msGridRowAlign: 'center',\n      gridColumn: 1,\n      msGridColumn: 1\n    }, p.labelPosition === 'start' && {\n      gridColumn: 3,\n      msGridColumn: 3\n    }, {\n      boxShadow: 'unset',\n      boxSizing: 'border-box',\n      background: v.background,\n      borderColor: v.borderColor,\n      borderStyle: v.borderStyle,\n      borderRadius: v.toggleBorderRadius,\n      borderWidth: v.borderWidth,\n      margin: v.toggleMargin,\n      userSelect: 'none',\n      width: v.toggleWidth,\n      height: v.toggleHeight,\n      ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n        borderColor: p.disabled ? v.disabledToggleIndicatorColor : v.borderColor,\n        borderStyle: v.borderStyle,\n        borderWidth: v.borderWidth,\n        margin: v.togglePadding\n      })\n    }, p.checked && {\n      borderColor: v.checkedBorderColor,\n      background: v.checkedBackground,\n      ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n        margin: v.toggleCheckedPadding,\n        background: v.checkedIndicatorColor\n      })\n    }, p.disabled && Object.assign({\n      background: v.disabledBackground,\n      borderColor: v.disabledBorderColor\n    }, p.checked && {\n      background: v.disabledBackgroundChecked,\n      borderColor: 'transparent',\n      ':before': Object.assign({}, commonToggleBeforeStyles(v), {\n        margin: v.toggleCheckedPadding,\n        background: v.disabledCheckedIndicatorColor\n      })\n    }));\n  },\n  label: function label(_ref4) {\n    var p = _ref4.props;\n    return Object.assign({\n      display: 'block',\n      // IE11: should be forced to be block, as inline-block is not supported\n      gridColumn: 3,\n      msGridColumn: 3\n    }, p.labelPosition === 'start' && {\n      gridColumn: 1,\n      msGridColumn: 1\n    });\n  }\n};\n//# sourceMappingURL=checkboxStyles.js.map\n","export var dialogStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      background: v.rootBackground,\n      border: v.border,\n      borderRadius: v.rootBorderRadius,\n      outline: 'none',\n      padding: v.rootPadding,\n      position: 'relative',\n      width: v.rootWidth,\n      display: ['grid', '-ms-grid'],\n      gridTemplateColumns: '1fr auto',\n      msGridColumns: '1fr auto',\n      boxShadow: v.boxShadow,\n      color: v.foregroundColor\n    };\n  },\n  footer: function footer() {\n    return {\n      gridColumn: '1 / -1',\n      gridRow: 3,\n      msGridRow: 3\n    };\n  },\n  actions: function actions() {\n    return {\n      display: 'inline-block'\n    };\n  },\n  content: function content(_ref2) {\n    var v = _ref2.variables;\n    return {\n      margin: v.contentMargin,\n      gridColumn: '1 / span 2',\n      gridRow: 2,\n      msGridColumn: 1,\n      msGridColumnSpan: 2,\n      msGridRow: 2,\n      justifySelf: 'left',\n      width: '100%'\n    };\n  },\n  header: function header(_ref3) {\n    var v = _ref3.variables;\n    return {\n      margin: v.headerMargin,\n      gridRow: 1,\n      msGridRow: 1,\n      gridColumn: 1,\n      msGridColumn: 1,\n      justifySelf: 'left',\n      fontSize: v.headerFontSize,\n      fontWeight: v.headerFontWeight\n    };\n  },\n  headerAction: function headerAction(_ref4) {\n    var v = _ref4.variables;\n    return {\n      gridRow: 1,\n      msGridRow: 1,\n      gridColumn: 2,\n      msGridColumn: 2,\n      color: v.foregroundColor,\n      margin: v.headerActionMargin\n    };\n  },\n  overlay: function overlay(_ref5) {\n    var p = _ref5.props,\n        v = _ref5.variables;\n    return Object.assign({\n      alignItems: 'center',\n      background: 'transparent',\n      bottom: 0,\n      display: 'flex',\n      flexDirection: 'column',\n      justifyContent: 'center',\n      left: 0,\n      overflow: 'auto',\n      position: 'fixed',\n      right: 0,\n      top: 0,\n      zIndex: v.overlayZIndex\n    }, p.backdrop && {\n      background: v.overlayBackground\n    });\n  }\n};\n//# sourceMappingURL=dialogStyles.js.map\n","export var dialogFooterStyles = {\n  root: function root() {\n    return {\n      textAlign: 'right'\n    };\n  }\n};\n//# sourceMappingURL=dialogFooterStyles.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\n\nvar beforeAndAfter = function beforeAndAfter(size, variables, colors, props) {\n  return Object.assign({\n    content: '\"\"',\n    flex: 1\n  }, props.vertical ? {\n    width: size + 1 + \"px\",\n    height: '100%'\n  } : {\n    height: size + 1 + \"px\"\n  }, {\n    background: _get(colors, 'foreground', variables.dividerColor)\n  });\n};\n\nexport var dividerStyles = {\n  root: function root(_ref) {\n    var props = _ref.props,\n        variables = _ref.variables;\n    var color = props.color,\n        fitted = props.fitted,\n        size = props.size,\n        important = props.important,\n        hasContent = props.hasContent,\n        vertical = props.vertical;\n    var colors = variables.colorScheme[color];\n    return Object.assign({\n      color: _get(colors, 'foreground', variables.textColor),\n      display: 'flex',\n      alignItems: 'center'\n    }, !fitted && {\n      padding: vertical ? \"0 \" + variables.dividerPadding : variables.dividerPadding + \" 0\"\n    }, important && {\n      fontWeight: variables.importantFontWeight\n    }, vertical && {\n      height: '100%'\n    }, hasContent ? {\n      textAlign: 'center',\n      fontSize: pxToRem(12 + size),\n      lineHeight: variables.textLineHeight,\n      '::before': Object.assign({}, beforeAndAfter(size, variables, colors, props)),\n      '::after': Object.assign({}, beforeAndAfter(size, variables, colors, props))\n    } : {\n      '::before': Object.assign({}, beforeAndAfter(size, variables, colors, props))\n    });\n  }\n};\n//# sourceMappingURL=dividerStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dividerContentStyles = {\n  root: function root() {\n    return {\n      marginLeft: pxToRem(20),\n      marginRight: pxToRem(20)\n    };\n  }\n};\n//# sourceMappingURL=dividerContentStyles.js.map\n","import { dropdownSlotClassNames } from '../../../../components/Dropdown/Dropdown';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nvar transparentColorStyle = {\n  backgroundColor: 'transparent',\n  borderColor: 'transparent',\n  borderBottomColor: 'transparent'\n};\nvar transparentColorStyleObj = Object.assign({}, transparentColorStyle, {\n  ':hover': transparentColorStyle,\n  ':active': transparentColorStyle,\n  ':focus': Object.assign({}, transparentColorStyle, {\n    ':active': transparentColorStyle\n  })\n});\n\nvar getWidth = function getWidth(p, v) {\n  if (p.fluid) {\n    return '100%';\n  }\n\n  if (p.inline) {\n    return 'initial';\n  }\n\n  return v.width;\n};\n\nexport var dropdownStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    return Object.assign({}, p.inline && {\n      display: 'inline-flex'\n    });\n  },\n  clearIndicator: function clearIndicator(_ref2) {\n    var v = _ref2.variables,\n        siteVariables = _ref2.theme.siteVariables;\n    return Object.assign({\n      alignItems: 'center',\n      alignSelf: 'center',\n      display: 'flex',\n      justifyContent: 'center',\n      cursor: 'pointer',\n      userSelect: 'none',\n      margin: 0,\n      position: 'absolute',\n      right: pxToRem(6),\n      padding: pxToRem(2),\n      color: v.color\n    }, getBorderFocusStyles({\n      variables: siteVariables\n    }));\n  },\n  container: function container(_ref3) {\n    var _Object$assign;\n\n    var p = _ref3.props,\n        v = _ref3.variables,\n        siteVariables = _ref3.theme.siteVariables;\n    return Object.assign({\n      display: 'flex',\n      flexWrap: 'wrap',\n      position: 'relative',\n      borderStyle: 'solid',\n      borderColor: v.borderColor,\n      outline: 0,\n      width: getWidth(p, v),\n      borderWidth: p.search ? \"0 0 \" + v.searchBorderBottomWidth + \" 0\" : v.borderWidth,\n      color: v.color,\n      backgroundColor: v.backgroundColor,\n      borderRadius: v.containerBorderRadius\n    }, p.open && p.position === 'above' && {\n      borderRadius: v.openAboveContainerBorderRadius\n    }, p.open && p.position === 'below' && {\n      borderRadius: v.openBelowContainerBorderRadius\n    }, {\n      ':hover': Object.assign({\n        backgroundColor: v.backgroundColorHover,\n        borderColor: v.borderColorHover\n      }, p.open && {\n        borderColor: v.openBorderColorHover\n      })\n    }, p.error && {\n      border: pxToRem(1) + \" solid \" + v.borderError,\n      ':hover': {\n        border: pxToRem(1) + \" solid \" + v.borderError\n      }\n    }, {\n      ':active': {\n        backgroundColor: v.backgroundColor\n      },\n      ':focus-within': {\n        // when dropdown's selected items are focused\n        // keep the focus border style\n        borderBottomColor: v.borderColorFocus\n      }\n    }, p.focused && Object.assign({\n      backgroundColor: v.backgroundColor\n    }, p.search && {\n      borderBottomColor: v.borderColorFocus\n    }, !p.search && !p.open && p.isFromKeyboard && getBorderFocusStyles({\n      variables: siteVariables\n    })[':focus-visible']), p.inline && Object.assign({}, transparentColorStyleObj, {\n      alignItems: 'center'\n    }), p.inverted && {\n      backgroundColor: v.invertedBackgroundColor,\n      ':hover': {\n        backgroundColor: v.invertedBackgroundColorHover\n      },\n      ':active': {\n        backgroundColor: v.invertedBackgroundColorHover\n      },\n      ':focus': {\n        backgroundColor: v.invertedBackgroundColorHover\n      }\n    }, p.disabled && {\n      backgroundColor: siteVariables.colorScheme.default.backgroundDisabled,\n      borderColor: siteVariables.colorScheme.default.borderDisabled,\n      userSelect: 'none',\n      ':hover': {\n        backgroundColor: siteVariables.colorScheme.default.backgroundDisabled\n      },\n      ':active': {\n        backgroundColor: siteVariables.colorScheme.default.backgroundDisabled\n      }\n    }, (_Object$assign = {}, _Object$assign[\"& .\" + dropdownSlotClassNames.triggerButton] = Object.assign({}, p.disabled && {\n      color: siteVariables.colorScheme.default.foregroundDisabled\n    }), _Object$assign));\n  },\n  selectedItems: function selectedItems(_ref4) {\n    var p = _ref4.props,\n        v = _ref4.variables;\n    return Object.assign({\n      display: 'flex',\n      flexWrap: 'wrap',\n      overflowY: 'auto',\n      maxHeight: v.selectedItemsMaxHeight,\n      width: '100%'\n    }, p.hasToggleIndicator && {\n      paddingRight: v.toggleIndicatorSize\n    }, p.multiple && p.hasItemsSelected && {\n      paddingTop: pxToRem(1),\n      paddingBottom: pxToRem(4)\n    });\n  },\n  triggerButton: function triggerButton(_ref5) {\n    var p = _ref5.props,\n        v = _ref5.variables;\n    return Object.assign({\n      overflow: 'hidden',\n      boxShadow: 'none',\n      minHeight: pxToRem(32)\n    }, transparentColorStyleObj, {\n      margin: '0',\n      justifyContent: 'left',\n      padding: v.comboboxPaddingButton\n    }, p.multiple && Object.assign({\n      minWidth: 0,\n      flex: 1\n    }, p.hasItemsSelected && {\n      position: 'absolute',\n      top: 0,\n      right: 0,\n      left: 0,\n      bottom: 0,\n      height: '100%'\n    }), transparentColorStyleObj, {\n      ':focus': Object.assign({\n        color: v.color\n      }, transparentColorStyleObj),\n      ':focus-visible': Object.assign({\n        color: v.color\n      }, transparentColorStyle, {\n        ':after': {\n          borderColor: 'transparent',\n          borderRightWidth: 0\n        },\n        ':before': {\n          borderColor: 'transparent',\n          borderRightWidth: 0\n        }\n      }),\n      ':active': Object.assign({\n        color: v.color\n      }, transparentColorStyle, {\n        animationName: 'unset',\n        animationDuration: 'unset'\n      }),\n      ':hover': Object.assign({}, transparentColorStyle, {\n        color: v.color // required for HC theme\n\n      })\n    }, p.inline && {\n      paddingLeft: 0,\n      paddingRight: 0,\n      width: 'initial'\n    });\n  },\n  list: function list(_ref6) {\n    var p = _ref6.props,\n        v = _ref6.variables;\n    return Object.assign({\n      outline: 0,\n      borderStyle: 'solid',\n      borderWidth: p.open ? v.listBorderWidth : '0px',\n      borderColor: v.listBorderColor,\n      zIndex: v.overlayZIndex,\n      maxHeight: v.listMaxHeight,\n      overflowY: 'auto',\n      width: getWidth(p, v),\n      background: v.listBackgroundColor\n    }, p.position === 'above' && {\n      borderRadius: v.aboveListBorderRadius\n    }, p.position === 'below' && {\n      borderRadius: v.belowListBorderRadius\n    }, p.open && {\n      boxShadow: v.listBoxShadow,\n      padding: v.listPadding\n    });\n  },\n  loadingMessage: function loadingMessage(_ref7) {\n    var v = _ref7.variables;\n    return {\n      backgroundColor: v.loadingMessageBackgroundColor\n    };\n  },\n  noResultsMessage: function noResultsMessage(_ref8) {\n    var v = _ref8.variables;\n    return {\n      backgroundColor: v.noResultsMessageBackgroundColor\n    };\n  },\n  headerMessage: function headerMessage(_ref9) {\n    var v = _ref9.variables;\n    return {\n      backgroundColor: v.headerMessageBackgroundColor\n    };\n  },\n  toggleIndicator: function toggleIndicator(_ref10) {\n    var p = _ref10.props,\n        v = _ref10.variables;\n    return Object.assign({\n      alignItems: 'center',\n      display: 'flex',\n      justifyContent: 'center',\n      alignSelf: 'center',\n      cursor: 'pointer'\n    }, p.disabled && {\n      cursor: 'default'\n    }, {\n      userSelect: 'none',\n      margin: 0,\n      position: 'absolute',\n      right: pxToRem(8)\n    }, p.multiple && p.hasItemsSelected && {\n      top: pxToRem(8)\n    }, {\n      color: v.color\n    }, p.disabled && {\n      color: v.disabledColor\n    });\n  }\n};\n//# sourceMappingURL=dropdownStyles.js.map\n","export var dropdownSearchInputStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      flexBasis: v.comboboxFlexBasis,\n      flexGrow: 1\n    };\n  },\n  input: function input(_ref2) {\n    var p = _ref2.props;\n    return Object.assign({\n      width: '100%',\n      backgroundColor: 'transparent',\n      borderWidth: 0\n    }, p.inline && {\n      padding: 0,\n      lineHeight: 'initial'\n    });\n  }\n};\n//# sourceMappingURL=dropdownSearchInputStyles.js.map\n","import { dropdownSelectedItemSlotClassNames } from '../../../../components/Dropdown/DropdownSelectedItem';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nexport var dropdownSelectedItemStyles = {\n  root: function root(_ref) {\n    var _hover;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      maxWidth: v.selectedItemsMaxWidth,\n      display: 'inline-flex',\n      alignItems: 'center',\n      padding: \"0 \" + pxToRem(8),\n      startPaddingLeft: '0px',\n      lineHeight: pxToRem(20),\n      borderRadius: pxToRem(9999),\n      fontSize: pxToRem(14)\n    }, p.hasImage && {\n      paddingLeft: '0px'\n    }, {\n      cursor: 'pointer',\n      margin: '.25rem 0 0 .4rem',\n      color: v.selectedItemColor,\n      position: 'relative',\n      border: v.selectedItemBorder,\n      height: pxToRem(24),\n      overflow: 'visible',\n      outline: 0,\n      fontWeight: siteVariables.fontWeightSemibold\n    }, v.selectedItemBackgroundColor && {\n      backgroundColor: v.selectedItemBackgroundColor\n    }, {\n      ':focus': {\n        color: v.selectedItemColorFocus\n      },\n      ':hover': (_hover = {\n        color: v.selectedItemColorHover,\n        backgroundColor: v.selectedItemBackgroundColorHover\n      }, _hover[\"& .\" + dropdownSelectedItemSlotClassNames.icon] = {\n        color: v.selectedItemIconColorHover\n      }, _hover),\n      ':focus-visible': {\n        ':after': borderFocusStyles[':focus-visible'][':after']\n      }\n    });\n  },\n  image: function image() {\n    return {\n      height: pxToRem(20),\n      width: pxToRem(20)\n    };\n  },\n  header: function header(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({}, p.hasImage && {\n      marginLeft: pxToRem(3)\n    }, {\n      marginRight: pxToRem(3),\n      overflow: 'hidden',\n      textOverflow: 'ellipsis',\n      whiteSpace: 'nowrap'\n    });\n  },\n  icon: function icon(_ref3) {\n    var v = _ref3.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: pxToRem(16),\n      minWidth: pxToRem(16),\n      height: pxToRem(16),\n      '& > :first-child': {\n        width: pxToRem(16),\n        height: pxToRem(16),\n        '& svg': {\n          width: pxToRem(16),\n          height: pxToRem(16)\n        }\n      },\n      cursor: 'pointer',\n      color: v.selectedItemIconColor\n    }, getIconFillOrOutlineStyles({\n      outline: true\n    }), {\n      ':hover': Object.assign({\n        color: v.selectedItemIconColorHover\n      }, getIconFillOrOutlineStyles({\n        outline: false\n      }))\n    });\n  }\n};\n//# sourceMappingURL=dropdownSelectedItemStyles.js.map\n","import { dropdownItemSlotClassNames } from '../../../../components/Dropdown/DropdownItem';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { pxToRem } from '../../../../utils';\nimport { checkableIndicatorUrl } from './checkableIndicatorUrl';\nexport var dropdownItemStyles = {\n  root: function root(_ref) {\n    var _ref2, _ref3;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    return Object.assign({\n      display: 'flex',\n      alignItems: 'center',\n      minHeight: 0,\n      padding: pxToRem(4) + \" \" + pxToRem(11),\n      whiteSpace: 'nowrap',\n      border: v.listItemFocusBorderWidth + \" solid transparent\",\n      backgroundColor: v.listItemBackgroundColor\n    }, p.selected && {\n      fontWeight: v.listItemSelectedFontWeight,\n      color: v.listItemSelectedColor\n    }, {\n      position: 'relative'\n    }, p.active && Object.assign({}, p.isFromKeyboard && getBorderFocusStyles({\n      variables: siteVariables,\n      borderRadius: 0\n    })[':focus-visible'], !p.isFromKeyboard && Object.assign({\n      color: v.listItemColorHover,\n      backgroundColor: v.listItemBackgroundColorHover\n    }, p.hasHeader && (_ref2 = {}, _ref2[\"& .\" + dropdownItemSlotClassNames.header] = {\n      color: v.listItemColorHover\n    }, _ref2), p.hasContent && (_ref3 = {}, _ref3[\"& .\" + dropdownItemSlotClassNames.content] = {\n      color: v.listItemColorHover\n    }, _ref3))));\n  },\n  image: function image() {\n    return {\n      margin: pxToRem(3) + \" \" + pxToRem(12) + \" \" + pxToRem(3) + \" \" + pxToRem(4)\n    };\n  },\n  header: function header(_ref4) {\n    var p = _ref4.props,\n        v = _ref4.variables;\n    return Object.assign({\n      flexGrow: 1,\n      lineHeight: v.listItemHeaderLineHeight,\n      fontSize: v.listItemHeaderFontSize,\n      // if the item doesn't have content - i.e. it is header only - then it should use the content color\n      color: v.listItemContentColor\n    }, p.hasContent && {\n      // if there is content it needs to be \"tightened up\" to the header\n      marginBottom: pxToRem(-1),\n      color: v.listItemHeaderColor\n    }, p.selected && {\n      fontWeight: v.listItemSelectedFontWeight,\n      color: v.listItemSelectedColor\n    }, {\n      whiteSpace: 'normal'\n    });\n  },\n  content: function content(_ref5) {\n    var v = _ref5.variables;\n    return {\n      flexGrow: 1,\n      lineHeight: v.listItemContentLineHeight,\n      fontSize: v.listItemContentFontSize,\n      color: v.listItemContentColor\n    };\n  },\n  checkableIndicator: function checkableIndicator(_ref6) {\n    var v = _ref6.variables;\n    return {\n      backgroundImage: checkableIndicatorUrl(v.listItemSelectedColor),\n      backgroundPosition: 'center',\n      backgroundRepeat: 'no-repeat',\n      position: 'absolute',\n      width: pxToRem(24),\n      height: pxToRem(24),\n      right: pxToRem(7),\n      top: pxToRem(-3)\n    };\n  },\n  endMedia: function endMedia() {\n    return {\n      flexShrink: 0,\n      lineHeight: pxToRem(16)\n    };\n  },\n  main: function main() {\n    return {\n      display: 'flex',\n      flexDirection: 'column',\n      flexGrow: 1,\n      minWidth: 0 // needed for the truncate styles to work\n\n    };\n  }\n};\n//# sourceMappingURL=dropdownItemStyles.js.map\n","export var checkableIndicatorUrl = function checkableIndicatorUrl(color) {\n  return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' view-box='8 8 16 16'%3E%3Cg%3E%3Cpath d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkableIndicatorUrl.js.map\n","import _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { embedBehavior } from '@fluentui/accessibility';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Video } from '../Video/Video';\nimport { Box } from '../Box/Box';\nimport { Ref } from '@fluentui/react-component-ref';\nimport { getElementType, useUnhandledProps, useFluentContext, useAutoControlled, useAccessibility, useTelemetry, useStyles } from '@fluentui/react-bindings';\nexport var embedClassName = 'ui-embed';\nexport var embedSlotClassNames = {\n  control: embedClassName + \"__control\"\n};\n\n/**\n * An Embed displays content from external websites, like a post from external social network.\n *\n * @accessibility\n * A `placeholder` slot represents an [`Image`](/components/image/definition) component, please follow recommendations from its\n * accessibility section.\n */\nexport var Embed = /*#__PURE__*/function () {\n  var Embed = function Embed(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Embed.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var alt = props.alt,\n        title = props.title,\n        control = props.control,\n        iframe = props.iframe,\n        placeholder = props.placeholder,\n        video = props.video,\n        variables = props.variables,\n        styles = props.styles,\n        className = props.className,\n        design = props.design;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Embed.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: Embed.displayName,\n      actionHandlers: {\n        performClick: function performClick(event) {\n          return handleClick(event);\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          alt: alt,\n          title: title\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultActive,\n      value: props.active,\n      initialValue: false\n    }),\n        active = _useAutoControlled[0],\n        setACtive = _useAutoControlled[1];\n\n    var _React$useState = React.useState(false),\n        iframeLoaded = _React$useState[0],\n        setIframeLoaded = _React$useState[1];\n\n    var frameRef = React.useRef();\n\n    var handleClick = function handleClick(e) {\n      e.stopPropagation();\n      e.preventDefault();\n\n      var iframeNil = _isNil(props.iframe);\n\n      var newActive = !active;\n\n      if (iframeNil || !iframeNil && newActive) {\n        setACtive(newActive);\n\n        _invoke(props, 'onActiveChange', e, Object.assign({}, props, {\n          active: newActive\n        }));\n      }\n\n      _invoke(props, 'onClick', e, Object.assign({}, props, {\n        active: newActive\n      }));\n    };\n\n    var handleFrameOverrides = function handleFrameOverrides(predefinedProps) {\n      return {\n        onLoad: function onLoad(e) {\n          _invoke(predefinedProps, 'onLoad', e);\n\n          setIframeLoaded(true);\n          frameRef.current.contentWindow.focus();\n        }\n      };\n    };\n\n    var _useStyles = useStyles(Embed.displayName, {\n      className: embedClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          iframeLoaded: iframeLoaded,\n          active: active\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var placeholderElement = placeholder ? /*#__PURE__*/React.createElement(Image, {\n      src: placeholder,\n      styles: resolvedStyles.image,\n      variables: {\n        width: variables.width,\n        height: variables.height\n      }\n    }) : null;\n    var hasIframe = !_isNil(iframe);\n    var hasVideo = !_isNil(video);\n    var controlVisible = !active || hasVideo;\n    var placeholderVisible = !active || hasIframe && active && !iframeLoaded;\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick\n    }, unhandledProps)), active && /*#__PURE__*/React.createElement(React.Fragment, null, Video.create(video, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('video', {\n          autoPlay: true,\n          controls: false,\n          loop: true,\n          muted: true,\n          poster: placeholder,\n          styles: resolvedStyles.video,\n          variables: {\n            width: variables.width,\n            height: variables.height\n          }\n        });\n      }\n    }), iframe && /*#__PURE__*/React.createElement(Ref, {\n      innerRef: frameRef\n    }, Box.create(iframe, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('iframe', {\n          as: 'iframe',\n          styles: resolvedStyles.iframe\n        });\n      },\n      overrideProps: handleFrameOverrides\n    }))), placeholderVisible && placeholderElement, controlVisible && Box.create(control, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('control', {\n          className: embedSlotClassNames.control,\n          styles: resolvedStyles.control\n        });\n      }\n    }));\n    setEnd();\n    return element;\n  };\n\n  Embed.displayName = 'Embed';\n  Embed.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: false\n  }), {\n    active: PropTypes.bool,\n    defaultActive: PropTypes.bool,\n    control: customPropTypes.itemShorthand,\n    iframe: customPropTypes.every([customPropTypes.disallow(['video']), customPropTypes.itemShorthand]),\n    onActiveChange: PropTypes.func,\n    onClick: PropTypes.func,\n    placeholder: PropTypes.string,\n    video: customPropTypes.every([customPropTypes.disallow(['iframe']), customPropTypes.itemShorthand])\n  });\n  Embed.defaultProps = {\n    as: 'span',\n    accessibility: embedBehavior,\n    control: {},\n    variables: {}\n  };\n  Embed.handledProps = Object.keys(Embed.propTypes);\n  Embed.create = createShorthandFactory({\n    Component: Embed\n  });\n  return Embed;\n}();\n//# sourceMappingURL=Embed.js.map\n","export var pauseIndicatorUrl = function pauseIndicatorUrl(color) {\n  return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M5.74609 3C4.7796 3 3.99609 3.7835 3.99609 4.75V19.25C3.99609 20.2165 4.7796 21 5.74609 21H9.24609C10.2126 21 10.9961 20.2165 10.9961 19.25V4.75C10.9961 3.7835 10.2126 3 9.24609 3H5.74609Z' /%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M14.7461 3C13.7796 3 12.9961 3.7835 12.9961 4.75V19.25C12.9961 20.2165 13.7796 21 14.7461 21H18.2461C19.2126 21 19.9961 20.2165 19.9961 19.25V4.75C19.9961 3.7835 19.2126 3 18.2461 3H14.7461Z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=pauseIndicatorUrl.js.map\n","import { pxToRem } from '../../../../utils';\nimport { embedSlotClassNames } from '../../../../components/Embed/Embed';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { playIndicatorUrl } from './playIndicatorUrl';\nimport { pauseIndicatorUrl } from './pauseIndicatorUrl';\nexport var embedStyles = {\n  root: function root(_ref) {\n    var _focusVisible, _hover;\n\n    var v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      display: 'inline-block',\n      verticalAlign: 'middle',\n      position: 'relative',\n      cursor: 'pointer',\n      width: v.width,\n      height: v.height || 'auto',\n      outline: 0\n    }, borderFocusStyles[':focus'], {\n      ':focus-visible': (_focusVisible = {}, _focusVisible[\"& .\" + embedSlotClassNames.control] = Object.assign({\n        borderColor: v.focusBorderColor,\n        opacity: 1\n      }, borderFocusStyles[':focus-visible']), _focusVisible),\n      ':hover': (_hover = {}, _hover[\"& .\" + embedSlotClassNames.control] = {\n        opacity: 1,\n        zIndex: v.zIndex\n      }, _hover)\n    });\n  },\n  control: function control(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({\n      width: pxToRem(48),\n      height: pxToRem(48),\n      color: v.controlColor,\n      padding: pxToRem(4),\n      borderRadius: '50%',\n      backgroundColor: v.controlBackgroundColor,\n      backgroundImage: playIndicatorUrl(v.controlColor),\n      backgroundRepeat: 'no-repeat',\n      backgroundPosition: 'center',\n      backgroundSize: v.controlBackgroundSize,\n      backgroundPositionX: pxToRem(12)\n    }, p.active && {\n      backgroundImage: pauseIndicatorUrl(v.controlColor)\n    }, {\n      opacity: p.active ? 0 : 1,\n      pointerEvents: 'none',\n      transition: 'opacity .22s ease-in-out',\n      left: '50%',\n      position: 'absolute',\n      top: '50%',\n      transform: 'translate(-50%, -50%)'\n    });\n  },\n  iframe: function iframe(_ref3) {\n    var p = _ref3.props;\n    return Object.assign({\n      display: 'block'\n    }, !p.iframeLoaded && {\n      display: 'none'\n    });\n  }\n};\n//# sourceMappingURL=embedStyles.js.map\n","export var playIndicatorUrl = function playIndicatorUrl(color) {\n  return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M5 5.27368C5 3.56682 6.82609 2.48151 8.32538 3.2973L20.687 10.0235C22.2531 10.8756 22.2531 13.124 20.687 13.9762L8.32538 20.7024C6.82609 21.5181 5 20.4328 5 18.726V5.27368Z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=playIndicatorUrl.js.map\n","export var formStyles = {\n  root: function root(_ref) {\n    var props = _ref.props,\n        v = _ref.variables;\n    return {\n      height: '100%',\n      width: '100%',\n      display: 'flex',\n      flexDirection: 'column',\n      justifyContent: 'space-evenly',\n      justifyItems: 'start',\n      '> *:not(:last-child)': {\n        marginBottom: v.fieldsMarginBottom\n      },\n      '> :last-child': {\n        marginTop: v.lastChildMarginTop\n      }\n    };\n  }\n};\n//# sourceMappingURL=formStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formFieldStyles = {\n  root: function root(_ref) {\n    var props = _ref.props,\n        variables = _ref.variables;\n    return {};\n  },\n  label: function label(_ref2) {\n    var props = _ref2.props;\n    var type = props.type,\n        inline = props.inline,\n        required = props.required;\n    return Object.assign({}, (!type || type !== 'radio' && type !== 'checkbox') && {\n      display: 'block',\n      marginBottom: pxToRem(4)\n    }, inline && {\n      marginRight: pxToRem(10),\n      display: 'inline'\n    }, required && {\n      '::after': {\n        content: '\"*\"'\n      }\n    });\n  },\n  control: function control(_ref3) {\n    var props = _ref3.props,\n        v = _ref3.variables;\n    var type = props.type;\n    return Object.assign({}, type && (type === 'radio' || type === 'checkbox') && {\n      marginRight: pxToRem(10)\n    });\n  },\n  message: function message(_ref4) {\n    var p = _ref4.props,\n        v = _ref4.variables;\n    return Object.assign({}, p.hasErrorMessage && {\n      color: v.colorScheme.red.foreground\n    }, {\n      display: 'block',\n      paddingLeft: v.messagePaddingLeft\n    });\n  },\n  icon: function icon(_ref5) {\n    var p = _ref5.props,\n        v = _ref5.variables;\n    return Object.assign({}, p.hasErrorMessage && {\n      color: v.colorScheme.red.foreground\n    });\n  }\n};\n//# sourceMappingURL=formFieldStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var formLabelStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'block',\n      lineHeight: v.lineHeight,\n      marginBottom: v.marginBottom\n    }, p.inline && {\n      marginRight: pxToRem(10),\n      display: 'inline'\n    }, p.required && {\n      '::after': {\n        content: '\"*\"'\n      }\n    });\n  }\n};\n//# sourceMappingURL=formLabelStyles.js.map\n","export var formMessageStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'block',\n      paddingLeft: v.paddingLeft\n    }, p.error && {\n      color: v.colorScheme.red.foreground\n    });\n  }\n};\n//# sourceMappingURL=formMessageStyles.js.map\n","export var toFlexAlignment = function toFlexAlignment(propValue) {\n  var trimmedValue = propValue.trim();\n\n  if (trimmedValue === 'start' || trimmedValue === 'end') {\n    return \"flex-\" + trimmedValue;\n  }\n\n  return trimmedValue;\n};\nexport var toFlexItemSizeValues = function toFlexItemSizeValues(sizeValue) {\n  return {\n    flexBasis: sizeValue\n  };\n};\n//# sourceMappingURL=utils.js.map\n","import { toFlexAlignment } from './utils';\nexport var flexStyles = {\n  root: function root(_ref) {\n    var _notLastChild;\n\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'flex'\n    }, p.debug && {\n      border: '1px dotted grey',\n      background: 'lightgrey'\n    }, p.inline && {\n      display: 'inline-flex'\n    }, p.column && {\n      flexDirection: 'column'\n    }, p.hAlign && (p.column ? {\n      alignItems: toFlexAlignment(p.hAlign)\n    } : {\n      justifyContent: toFlexAlignment(p.hAlign)\n    }), p.vAlign && (p.column ? {\n      justifyContent: toFlexAlignment(p.vAlign)\n    } : {\n      alignItems: toFlexAlignment(p.vAlign)\n    }), p.space && {\n      justifyContent: \"space-\" + p.space\n    }, p.wrap && {\n      flexWrap: 'wrap'\n    }, p.fill && {\n      width: '100%',\n      height: '100%'\n    }, p.padding && {\n      padding: v[p.padding]\n    }, p.gap && {\n      '> *:not(:last-child)': (_notLastChild = {}, _notLastChild[p.column ? 'marginBottom' : 'marginRight'] = v[p.gap], _notLastChild)\n    });\n  }\n};\n//# sourceMappingURL=flexStyles.js.map\n","import { toFlexAlignment, toFlexItemSizeValues } from './utils';\nexport var flexItemStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({}, p.align && {\n      alignSelf: toFlexAlignment(p.align)\n    }, p.size && toFlexItemSizeValues(v.hasOwnProperty(p.size) ? v[p.size] : p.size), typeof p.shrink === 'number' && {\n      flexShrink: p.shrink\n    }, p.shrink === false && {\n      flexShrink: 0\n    }, p.grow && {\n      flexGrow: p.grow\n    }, p.grow === true && {\n      flexGrow: 1\n    }, p.push && (p.flexDirection === 'column' ? {\n      marginTop: 'auto'\n    } : {\n      marginLeft: 'auto'\n    }));\n  }\n};\n//# sourceMappingURL=flexItemStyles.js.map\n","var getCSSTemplateValue = function getCSSTemplateValue(template) {\n  var templateAsNumber = Number(template);\n  return !isNaN(templateAsNumber) && templateAsNumber > 0 ? \"repeat(\" + template + \", 1fr)\" : String(template);\n};\n\nexport var gridStyles = {\n  root: function root(_ref) {\n    var props = _ref.props,\n        _ref$variables = _ref.variables,\n        height = _ref$variables.height,\n        width = _ref$variables.width,\n        defaultColumnCount = _ref$variables.defaultColumnCount,\n        gridGap = _ref$variables.gridGap,\n        padding = _ref$variables.padding;\n    var rows = props.rows,\n        _props$columns = props.columns,\n        columns = _props$columns === void 0 ? !props.rows && defaultColumnCount : _props$columns;\n    return Object.assign({\n      height: height,\n      width: width,\n      padding: padding,\n      gridGap: gridGap,\n      display: ['grid', '-ms-grid'],\n      justifyContent: 'space-evenly'\n    }, rows && !columns && {\n      gridAutoFlow: 'column'\n    }, rows && {\n      gridTemplateRows: getCSSTemplateValue(rows),\n      msGridRows: getCSSTemplateValue(rows)\n    }, columns && {\n      gridTemplateColumns: getCSSTemplateValue(columns),\n      msGridColumns: getCSSTemplateValue(columns)\n    }, {\n      '& > *': {\n        outlineOffset: '-3px'\n      }\n    });\n  }\n};\n//# sourceMappingURL=gridStyles.js.map\n","/** Copy of TextAlignProperty from csstype (works around TS error) */\n// This is probably removable if we turn off isolatedModules in the future (then we can just\n// re-export TextAlignProperty).)\nexport var translateAlignProp = function translateAlignProp(textAlignProp) {\n  // This assignment verifies that the copy of TextAlignProperty matches up with the real one.\n  var alignProp = textAlignProp;\n\n  switch (alignProp) {\n    case 'start':\n      return 'left';\n\n    case 'end':\n      return 'right';\n\n    default:\n      return alignProp;\n  }\n};\n//# sourceMappingURL=translateAlignProp.js.map\n","import _get from \"lodash/get\";\nimport { translateAlignProp } from '../../../../styles/translateAlignProp';\nexport var headerStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var colors = v.colorScheme[p.color];\n    return Object.assign({\n      display: 'block',\n      color: _get(colors, 'foreground', v.color),\n      textAlign: translateAlignProp(p.align)\n    }, p.hasDescription && {\n      marginBottom: 0\n    });\n  }\n};\n//# sourceMappingURL=headerStyles.js.map\n","import _get from \"lodash/get\";\nimport { pxToRem } from '../../../../utils';\nexport var headerDescriptionStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var colors = v.colorScheme[p.color];\n    return {\n      display: 'block',\n      color: _get(colors, 'foreground', v.color),\n      fontSize: pxToRem(22),\n      fontWeight: 400\n    };\n  }\n};\n//# sourceMappingURL=headerDescriptionStyles.js.map\n","import { callable } from '@fluentui/styles';\nimport { pxToRem } from '../../../../utils';\n\nvar getPaddedStyle = function getPaddedStyle() {\n  return {\n    padding: pxToRem(4)\n  };\n};\n\nvar getBorderedStyles = function getBorderedStyles(boxShadowColor) {\n  return Object.assign({}, getPaddedStyle(), {\n    boxShadow: \"0 0 0 .05rem \" + boxShadowColor + \" inset\"\n  });\n};\n\nvar getIconSize = function getIconSize(size, v) {\n  var modifiedSizes = {\n    large: {\n      x: 24,\n      xx: 28\n    }\n  };\n  return v.sizeModifier && modifiedSizes[size] && modifiedSizes[size][v.sizeModifier] ? pxToRem(modifiedSizes[size][v.sizeModifier]) : v[size + \"Size\"];\n};\n\nvar getXSpacingStyles = function getXSpacingStyles(xSpacing, horizontalSpace) {\n  switch (xSpacing) {\n    case 'none':\n      return {\n        marginLeft: 0,\n        marginRight: 0\n      };\n\n    case 'before':\n      return {\n        marginLeft: horizontalSpace,\n        marginRight: 0\n      };\n\n    case 'after':\n      return {\n        marginLeft: 0,\n        marginRight: horizontalSpace\n      };\n\n    case 'both':\n      return {\n        marginLeft: horizontalSpace,\n        marginRight: horizontalSpace\n      };\n  }\n};\n\nexport var svgIconStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      speak: 'none',\n      verticalAlign: 'middle'\n    }, getXSpacingStyles(p.xSpacing, v.horizontalSpace), p.circular && Object.assign({}, getPaddedStyle(), {\n      borderRadius: '50%'\n    }), p.disabled && {\n      color: v.disabledColor\n    }, {\n      display: 'inline-block'\n    }, (p.bordered || v.borderColor) && getBorderedStyles(v.borderColor || v.color || 'currentColor'), {\n      backgroundColor: v.backgroundColor\n    });\n  },\n  outlinePart: function outlinePart(_ref2) {\n    var p = _ref2.props;\n    return Object.assign({\n      display: 'none'\n    }, p.outline && {\n      display: 'block'\n    });\n  },\n  filledPart: function filledPart(_ref3) {\n    var p = _ref3.props;\n    return Object.assign({}, p.outline && {\n      display: 'none'\n    });\n  },\n  svg: function svg(_ref4) {\n    var _ref4$props = _ref4.props,\n        size = _ref4$props.size,\n        disabled = _ref4$props.disabled,\n        rotate = _ref4$props.rotate,\n        v = _ref4.variables,\n        rtl = _ref4.rtl;\n    var iconSizeInRems = getIconSize(size, v);\n    return Object.assign({\n      display: 'block',\n      width: iconSizeInRems,\n      height: iconSizeInRems,\n      fill: v.color || 'currentColor'\n    }, disabled && {\n      fill: v.disabledColor\n    }, {\n      // Manual flipping to make it compatible with Emotion and Fela in the same time\n      transform: \"rotate(\" + rotate + \"deg) /* @noflip */\"\n    }, rtl && {\n      transform: \"rotate(\" + -1 * rotate + \"deg) /* @noflip */\"\n    });\n  },\n  svgFlippingInRtl: function svgFlippingInRtl(config) {\n    var props = config.props,\n        rtl = config.rtl;\n    return Object.assign({}, callable(svgIconStyles.svg)(config), rtl && {\n      transform: \"scaleX(-1) rotate(\" + props.rotate + \"deg) /* @noflip */\"\n    });\n  },\n  redPath: function redPath(_ref5) {\n    var v = _ref5.variables;\n    return {\n      fill: v.redColor\n    };\n  }\n};\n//# sourceMappingURL=svgIconStyles.js.map\n","export var imageStyles = {\n  root: function root(_ref) {\n    var props = _ref.props,\n        variables = _ref.variables;\n    return Object.assign({\n      boxSizing: 'border-box',\n      display: 'inline-block',\n      verticalAlign: 'middle',\n      width: props.fluid && '100%' || variables.width,\n      height: variables.height || 'auto'\n    }, props.circular && {\n      borderRadius: variables.circularRadius\n    }, props.avatar && {\n      width: props.fluid && '100%' || variables.avatarSize,\n      borderRadius: variables.avatarRadius\n    });\n  }\n};\n//# sourceMappingURL=imageStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      flexDirection: 'column',\n      justifyContent: 'center',\n      display: 'inline-flex',\n      position: 'relative',\n      outline: 0,\n      verticalAlign: 'middle'\n    }, p.fluid && {\n      width: '100%'\n    }, p.labelPosition === 'inline' && {\n      flexDirection: 'row',\n      alignItems: 'center'\n    });\n  },\n  input: function input(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({\n      backgroundColor: v.backgroundColor\n    }, p.inverted && {\n      backgroundColor: v.backgroundColorInverted\n    }, {\n      lineHeight: 'unset',\n      color: v.fontColor,\n      borderColor: v.borderColor,\n      borderRadius: v.borderRadius,\n      borderStyle: 'solid',\n      borderWidth: v.borderWidth,\n      outline: 'none',\n      padding: v.inputPadding,\n      position: 'relative'\n    }, p.fluid && {\n      width: '100%'\n    }, p.inline && {\n      float: 'left'\n    }, p.disabled && {\n      color: v.colorDisabled,\n      boxShadow: 'none'\n    }, {\n      '::placeholder': Object.assign({\n        color: v.placeholderColor,\n        opacity: 1\n      }, p.disabled && {\n        color: v.colorDisabled\n      }),\n      ':focus': Object.assign({}, !p.error && {\n        borderColor: v.inputFocusBorderColor\n      })\n    }, !p.hasValue && {\n      ':-webkit-autofill:focus': {\n        '-webkit-text-fill-color': 'transparent'\n      }\n    }, p.clearable && {\n      padding: v.inputPaddingWithIconAtEnd\n    }, p.hasIcon && {\n      padding: p.iconPosition === 'start' ? v.inputPaddingWithIconAtStart : v.inputPaddingWithIconAtEnd\n    }, p.labelPosition === 'inside' && {\n      paddingTop: v.inputInsideLabelPaddingTop\n    }, p.error && {\n      border: pxToRem(1) + \" solid \" + v.borderColorError\n    }, {\n      '::-ms-clear': {\n        display: 'none'\n      }\n    });\n  },\n  icon: function icon(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign({\n      color: v.iconColor,\n      outline: 0,\n      display: 'flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      position: v.iconPosition,\n      top: 0,\n      bottom: 0\n    }, p.error && {\n      color: v.colorError\n    }, p.requiredAndSuccessful && {\n      color: v.successfulColor\n    }, p.disabled && {\n      color: v.colorDisabled\n    }, p.iconPosition === 'start' && {\n      left: v.iconLeft\n    }, p.iconPosition === 'end' && {\n      right: v.iconRight\n    }, p.clearable && p.hasValue && Object.assign({\n      height: '100%',\n      width: pxToRem(16),\n      color: v.iconColor\n    }, p.disabled && {\n      color: v.colorDisabled\n    }));\n  },\n  inputContainer: function inputContainer() {\n    return {\n      position: 'relative'\n    };\n  }\n};\n//# sourceMappingURL=inputStyles.js.map\n","export var inputLabelStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'block',\n      transition: 'all .2s',\n      lineHeight: v.lineHeight,\n      marginBottom: v.marginBottom\n    }, p.labelPosition === 'inside' && Object.assign({\n      bottom: v.insideLabelBottom,\n      top: 0,\n      left: 0,\n      margin: 0,\n      position: 'absolute',\n      display: 'flex',\n      alignItems: 'center',\n      zIndex: 100,\n      paddingLeft: v.insideLabelPaddingLeft\n    }, p.hasValue && {\n      transform: 'translateY(-16px)',\n      fontSize: v.insideLabelActiveFontSize\n    }), p.labelPosition === 'inline' && {\n      paddingRight: v.inlineLabelPaddingRight\n    }, p.required && {\n      '::after': {\n        content: '\"*\"'\n      }\n    });\n  }\n};\n//# sourceMappingURL=inputLabelStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var labelStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      overflow: 'hidden',\n      height: v.height,\n      lineHeight: v.height,\n      color: v.foreground,\n      backgroundColor: v.background,\n      fontSize: pxToRem(14),\n      borderRadius: pxToRem(3),\n      padding: v.padding\n    }, p.hasImage && (p.imagePosition === 'start' ? {\n      paddingLeft: v.startPaddingLeft\n    } : {\n      paddingRight: v.endPaddingRight\n    }), p.circular && {\n      borderRadius: v.circularRadius\n    }, p.color === 'black' && {\n      color: v.blackForeground,\n      backgroundColor: v.blackBackground\n    }, p.color === 'white' && {\n      color: v.whiteForeground,\n      backgroundColor: v.whiteBackground\n    }, p.color === 'brand' && {\n      color: v.brandForeground,\n      backgroundColor: v.brandBackground\n    }, p.color === 'grey' && {\n      color: v.greyForeground,\n      backgroundColor: v.greyBackground\n    }, p.color === 'orange' && {\n      color: v.orangeForeground,\n      backgroundColor: v.orangeBackground\n    }, p.color === 'red' && {\n      color: v.redForeground,\n      backgroundColor: v.redBackground\n    }, p.color === 'green' && {\n      color: v.greenForeground,\n      backgroundColor: v.greenBackground\n    }, p.color === 'yellow' && {\n      color: v.yellowForeground,\n      backgroundColor: v.yellowBackground\n    });\n  },\n  content: function content(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    var hasStartElement = p.hasImage && p.imagePosition === 'start' || p.hasIcon && p.iconPosition === 'start';\n    var hasEndElement = p.hasImage && p.imagePosition === 'end' || p.hasIcon && p.iconPosition === 'end';\n    return Object.assign({}, hasStartElement && {\n      marginLeft: pxToRem(3)\n    }, !hasStartElement && p.circular && {\n      marginLeft: pxToRem(4)\n    }, hasEndElement && {\n      marginRight: pxToRem(3)\n    }, !hasEndElement && p.circular && {\n      marginRight: pxToRem(4)\n    });\n  },\n  image: function image(_ref3) {\n    var v = _ref3.variables;\n    return {\n      height: v.height,\n      width: v.height\n    };\n  },\n  icon: function icon(_ref4) {\n    var p = _ref4.props,\n        v = _ref4.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: v.iconSize,\n      height: v.iconSize,\n      '& > :first-child': {\n        height: '100%',\n        width: '100%',\n        '& svg': {\n          height: '100%',\n          width: '100%'\n        }\n      }\n    }, p.hasActionableIcon && {\n      cursor: 'pointer'\n    });\n  }\n};\n//# sourceMappingURL=labelStyles.js.map\n","var debugStyle = function debugStyle(_ref) {\n  var name = _ref.name,\n      color = _ref.color,\n      style = _ref.style;\n  return {\n    position: 'relative',\n    border: \"2px \" + style + \" \" + color,\n    '::before': {\n      content: \"'\" + name + \"'\",\n      position: 'absolute',\n      padding: '1px 4px 1px',\n      top: '-2px',\n      left: '-2px',\n      fontSize: '8px',\n      fontWeight: 900,\n      lineHeight: 1,\n      letterSpacing: '1px',\n      color: '#fff',\n      background: color\n    }\n  };\n};\n\nexport var debugRoot = function debugRoot() {\n  return Object.assign({}, debugStyle({\n    name: 'LAYOUT',\n    color: 'cornflowerblue',\n    style: 'solid'\n  }), {\n    padding: '8px',\n    margin: '2px'\n  });\n};\nexport var debugArea = function debugArea() {\n  return Object.assign({}, debugStyle({\n    name: 'AREA',\n    color: 'lightsalmon',\n    style: 'dashed'\n  }), {\n    padding: '8px',\n    margin: '2px'\n  });\n};\nexport var debugGap = function debugGap(_ref2) {\n  var vertical = _ref2.vertical;\n  return {\n    display: 'grid',\n    background: '#ccc',\n    '::before': Object.assign({\n      content: '\"GAP\"'\n    }, vertical ? {\n      letterSpacing: '1px'\n    } : {\n      textOrientation: 'upright',\n      writingMode: 'vertical-rl'\n    }, {\n      alignSelf: 'center',\n      justifySelf: 'center',\n      fontSize: '8px',\n      fontWeight: 900,\n      lineHeight: 0,\n      color: '#fff'\n    })\n  };\n};\n//# sourceMappingURL=debugStyles.js.map\n","import { debugRoot, debugArea, debugGap } from '../../../../styles/debugStyles';\n\nvar countTrue = function countTrue(items) {\n  return items.filter(Boolean).length;\n};\n\nexport var layoutStyles = {\n  root: function root(_ref) {\n    var _Object$assign;\n\n    var props = _ref.props;\n    var alignItems = props.alignItems,\n        debug = props.debug,\n        gap = props.gap,\n        justifyItems = props.justifyItems,\n        hasMain = props.hasMain,\n        mainSize = props.mainSize,\n        hasEnd = props.hasEnd,\n        endSize = props.endSize,\n        hasStart = props.hasStart,\n        startSize = props.startSize,\n        vertical = props.vertical;\n    return Object.assign({}, debug && debugRoot(), (_Object$assign = {\n      justifyItems: justifyItems,\n      alignItems: alignItems,\n      display: ['grid', '-ms-grid']\n    }, _Object$assign[vertical ? 'gridTemplateRows' : 'gridTemplateColumns'] = [// Heads up!\n    // IE11 Doesn't support grid-gap, insert virtual columns instead\n    hasStart && startSize, gap && hasStart && hasMain && gap, hasMain && mainSize, gap && (hasStart || hasMain) && hasEnd && gap, hasEnd && endSize].filter(Boolean).join(' '), _Object$assign), vertical && {\n      gridAutoFlow: 'row',\n      msGridColumns: '1fr'\n    });\n  },\n  gap: function gap(_ref2) {\n    var props = _ref2.props;\n    return Object.assign({}, props.debug && debugGap({\n      vertical: props.vertical\n    }));\n  },\n  start: function start(_ref3) {\n    var _Object$assign2;\n\n    var p = _ref3.props;\n    return Object.assign({}, p.debug && debugArea(), (_Object$assign2 = {\n      alignItems: 'center',\n      display: 'inline-flex'\n    }, _Object$assign2[p.vertical ? 'msGridRow' : 'msGridColumn'] = '1', _Object$assign2));\n  },\n  main: function main(_ref4) {\n    var _Object$assign3;\n\n    var p = _ref4.props;\n    return Object.assign({}, p.debug && debugArea(), (_Object$assign3 = {\n      alignItems: 'center',\n      display: ['grid', '-ms-grid']\n    }, _Object$assign3[p.vertical ? 'msGridRow' : 'msGridColumn'] = countTrue([p.hasStart, p.hasStart && p.gap, p.hasMain]), _Object$assign3));\n  },\n  end: function end(_ref5) {\n    var _Object$assign4;\n\n    var p = _ref5.props;\n    return Object.assign({}, p.debug && debugArea(), (_Object$assign4 = {\n      alignItems: 'center',\n      display: 'inline-flex'\n    }, _Object$assign4[p.vertical ? 'msGridRow' : 'msGridColumn'] = countTrue([p.hasStart, p.hasStart && p.gap, p.hasMain && p.gap]), _Object$assign4));\n  }\n};\n//# sourceMappingURL=layoutStyles.js.map\n","import { pxToRem } from '../../../../utils';\nvar rootFlexDirections = {\n  above: 'column-reverse',\n  below: 'column',\n  start: 'row-reverse',\n  end: 'row'\n};\nexport var loaderStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    return {\n      alignItems: 'center',\n      display: p.inline ? 'inline-flex' : 'flex',\n      justifyContent: 'center',\n      flexDirection: rootFlexDirections[p.labelPosition]\n    };\n  },\n  indicator: function indicator(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return {\n      height: v.containerHeights[p.size],\n      width: v.containerWidths[p.size],\n      overflow: 'hidden'\n    };\n  },\n  svg: function svg(_ref3) {\n    var p = _ref3.props,\n        t = _ref3.theme,\n        v = _ref3.variables;\n    var outerAnimation = {\n      animationName: {\n        to: {\n          opacity: 1\n        }\n      },\n      animationDelay: '1.5s',\n      animationDirection: 'normal',\n      animationDuration: '.3s',\n      animationFillMode: 'both',\n      animationIterationCount: '1',\n      animationPlayState: 'running',\n      animationTimingFunction: 'ease-out',\n      display: 'block',\n      overflow: 'hidden',\n      position: 'relative'\n    };\n    var svgAnimation = {\n      animationName: {\n        to: {\n          transform: \"translate3d(0, \" + v.svgTranslatePosition[p.size] + \", 0)\"\n        }\n      },\n      animationDelay: '0s',\n      animationDirection: 'normal',\n      animationDuration: '2s',\n      animationFillMode: 'both',\n      animationPlayState: 'running',\n      animationTimingFunction: 'steps(60, end)',\n      animationIterationCount: 'infinite'\n    };\n    return Object.assign({}, outerAnimation, {\n      ':before': Object.assign({}, svgAnimation, {\n        backgroundImage: v.svgContent,\n        content: '\" \"',\n        display: 'block',\n        overflow: 'hidden',\n        height: v.svgHeights[p.size],\n        width: v.svgWidths[p.size]\n      })\n    });\n  },\n  label: function label() {\n    return {\n      margin: pxToRem(10)\n    };\n  }\n};\n//# sourceMappingURL=loaderStyles.js.map\n","export var itemLayoutStyles = {\n  root: function root(_ref) {\n    var variables = _ref.variables;\n    return {\n      gridTemplateRows: \"minmax(\" + variables.height + \", max-content)\",\n      paddingLeft: variables.paddingLeft,\n      paddingRight: variables.paddingRight\n    };\n  }\n};\n//# sourceMappingURL=itemLayoutStyles.js.map\n","import { debugRoot } from '../../../../styles/debugStyles';\nexport var listStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    return Object.assign({}, p.debug && debugRoot(), {\n      display: p.horizontal ? 'inline-flex' : 'block'\n    }, p.isListTag && {\n      listStyle: 'none',\n      padding: 0,\n      margin: 0\n    });\n  }\n};\n//# sourceMappingURL=listStyles.js.map\n","import { screenReaderContainerStyles } from '../../../../utils/accessibility/Styles/accessibilityStyles';\nimport { listItemContentClassName } from '../../../../components/List/ListItemContent';\nimport { listItemContentMediaClassName } from '../../../../components/List/ListItemContentMedia';\nimport { listItemEndMediaClassName } from '../../../../components/List/ListItemEndMedia';\nimport { listItemHeaderClassName } from '../../../../components/List/ListItemHeader';\nimport { listItemHeaderMediaClassName } from '../../../../components/List/ListItemHeaderMedia';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\n\nvar selectableHoverStyle = function selectableHoverStyle(p, v) {\n  var _ref;\n\n  return _ref = {\n    background: v.selectableFocusHoverBackgroundColor,\n    color: v.selectableFocusHoverColor,\n    cursor: 'pointer'\n  }, _ref[\"& .\" + listItemHeaderClassName] = {\n    color: 'inherit'\n  }, _ref[\"& .\" + listItemContentClassName] = {\n    color: 'inherit'\n  }, _ref[\"& .\" + listItemHeaderMediaClassName] = Object.assign({}, screenReaderContainerStyles, {\n    color: 'inherit'\n  }), _ref[\"& .\" + listItemContentMediaClassName] = {\n    display: 'none',\n    color: 'inherit'\n  }, _ref[\"& .\" + listItemEndMediaClassName] = {\n    display: 'block',\n    color: 'inherit'\n  }, _ref;\n};\n\nvar selectedStyle = function selectedStyle(variables) {\n  return {\n    background: variables.selectedBackgroundColor,\n    color: variables.selectedColor\n  };\n};\n\nexport var listItemStyles = {\n  root: function root(_ref2) {\n    var _Object$assign;\n\n    var p = _ref2.props,\n        v = _ref2.variables,\n        siteVariables = _ref2.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      display: 'flex',\n      alignItems: 'center',\n      minHeight: v.minHeight,\n      padding: v.rootPadding\n    }, (p.selectable || p.navigable) && Object.assign((_Object$assign = {\n      position: 'relative'\n    }, _Object$assign[\"& .\" + listItemEndMediaClassName] = {\n      display: 'none'\n    }, _Object$assign['&:hover'] = selectableHoverStyle(p, v), _Object$assign[':focus'] = borderFocusStyles[':focus'], _Object$assign[':focus-visible'] = Object.assign({}, borderFocusStyles[':focus-visible'], {\n      zIndex: v.zIndex\n    }), _Object$assign), p.selected && selectedStyle(v)), p.important && {\n      fontWeight: v.importantFontWeight\n    });\n  },\n  headerWrapper: function headerWrapper() {\n    return {\n      display: 'flex'\n    };\n  },\n  contentWrapper: function contentWrapper() {\n    return {\n      display: 'flex'\n    };\n  },\n  main: function main() {\n    return {\n      display: 'flex',\n      flexDirection: 'column',\n      flexGrow: 1,\n      minWidth: 0 // needed for the truncate styles to work\n\n    };\n  }\n};\n//# sourceMappingURL=listItemStyles.js.map\n","export var listItemContentStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      flexGrow: 1,\n      fontSize: v.contentFontSize,\n      lineHeight: v.contentLineHeight\n    }, p.truncate && {\n      overflow: 'hidden',\n      textOverflow: 'ellipsis',\n      whiteSpace: 'nowrap'\n    }, (!p.hasHeader || p.hasContentMedia) && {\n      marginRight: v.gap\n    });\n  }\n};\n//# sourceMappingURL=listItemContentStyles.js.map\n","export var listItemContentMediaStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      fontSize: v.contentMediaFontSize,\n      lineHeight: v.contentMediaLineHeight\n    };\n  }\n};\n//# sourceMappingURL=listItemContentMediaStyles.js.map\n","export var listItemEndMediaStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    return Object.assign({\n      flexShrink: 0\n    }, (p.selectable || p.navigable) && {\n      display: 'none'\n    });\n  }\n};\n//# sourceMappingURL=listItemEndMediaStyles.js.map\n","export var listItemHeaderStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      flexGrow: 1,\n      fontSize: v.headerFontSize,\n      lineHeight: v.headerLineHeight\n    }, p.truncate && {\n      overflow: 'hidden',\n      textOverflow: 'ellipsis',\n      whiteSpace: 'nowrap'\n    }, (!p.hasContent || p.hasHeaderMedia) && {\n      marginRight: v.gap\n    });\n  }\n};\n//# sourceMappingURL=listItemHeaderStyles.js.map\n","export var listItemHeaderMediaStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      alignSelf: 'flex-end',\n      fontSize: v.headerMediaFontSize,\n      lineHeight: v.headerMediaLineHeight\n    };\n  }\n};\n//# sourceMappingURL=listItemHeaderMediaStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var listItemMediaStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({}, p.important && {\n      '::before': {\n        content: '\"\"',\n        position: 'absolute',\n        left: pxToRem(8),\n        width: pxToRem(2),\n        height: pxToRem(2),\n        background: '#000'\n      }\n    }, (p.hasHeader || p.hasContent) && {\n      marginRight: v.gap\n    });\n  }\n};\n//# sourceMappingURL=listItemMediaStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nexport var menuStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var iconOnly = p.iconOnly,\n        fluid = p.fluid,\n        pointing = p.pointing,\n        pills = p.pills,\n        primary = p.primary,\n        underlined = p.underlined,\n        vertical = p.vertical,\n        submenu = p.submenu;\n    var colors = getColorScheme(v.colorScheme, null, primary);\n    return Object.assign({\n      display: 'flex',\n      minHeight: pxToRem(24),\n      margin: 0,\n      padding: 0,\n      color: v.color,\n      backgroundColor: v.backgroundColor || 'inherit',\n      listStyleType: 'none'\n    }, iconOnly && {\n      alignItems: 'center'\n    }, vertical && Object.assign({\n      flexDirection: 'column',\n      backgroundColor: v.verticalBackgroundColor,\n      padding: pxToRem(8) + \" 0\"\n    }, submenu && {\n      boxShadow: v.verticalBoxShadow\n    }, !fluid && !submenu && {\n      width: 'fit-content'\n    }, iconOnly && {\n      display: 'inline-block',\n      width: 'auto'\n    }), !pills && !iconOnly && !(pointing && vertical) && !underlined && {\n      // primary has hardcoded grey border color\n      border: v.borderWidth + \" solid \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border),\n      borderRadius: pxToRem(4)\n    }, underlined && {\n      borderBottom: v.underlinedBottomBorderWidth + \" solid \" + v.underlinedBorderColor\n    });\n  }\n};\n//# sourceMappingURL=menuStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var verticalPillsBottomMargin = pxToRem(5);\nexport var horizontalPillsRightMargin = pxToRem(8);\nexport var verticalPointingBottomMargin = pxToRem(12);\nexport var underlinedItem = function underlinedItem(color) {\n  return {\n    paddingBottom: 0,\n    borderBottom: \"solid \" + pxToRem(4) + \" \" + color,\n    transition: 'color .1s ease'\n  };\n};\nexport var getFocusedStyles = function getFocusedStyles(_ref) {\n  var props = _ref.props,\n      v = _ref.variables,\n      colors = _ref.colors;\n  var primary = props.primary,\n      underlined = props.underlined,\n      active = props.active,\n      vertical = props.vertical;\n  if (active && !underlined && !vertical) return {};\n  return Object.assign({\n    color: v.colorActive || colors.foregroundActive,\n    background: v.backgroundColorFocus || colors.backgroundFocus\n  }, primary && {\n    color: colors.foregroundFocus,\n    background: colors.backgroundFocus\n  }, vertical && Object.assign({\n    border: \"solid 1px \" + v.borderColorFocus,\n    outline: \"solid 1px \" + v.outlineColorFocus,\n    margin: pxToRem(1),\n    background: v.verticalBackgroundColorFocus,\n    color: v.colorFocus || colors.foregroundFocus\n  }, primary && {\n    color: v.color\n  }, active && Object.assign({\n    color: v.colorActive,\n    background: v.backgroundColorActive || colors.backgroundActive\n  }, primary && {\n    color: colors.foregroundFocus\n  })));\n};\nexport var pointingBeak = function pointingBeak(_ref2) {\n  var props = _ref2.props,\n      v = _ref2.variables,\n      colors = _ref2.colors;\n  var pointing = props.pointing,\n      primary = props.primary;\n  var top;\n  var borders;\n  var backgroundColor = v.backgroundColorActive || colors.backgroundActive;\n  var borderColor = v.borderColor || primary ? v.primaryBorderColor : colors.border;\n\n  if (pointing === 'start') {\n    borders = {\n      borderTop: \"1px solid \" + borderColor,\n      borderLeft: \"1px solid \" + borderColor\n    };\n    top = '-1px'; // 1px for the border\n  } else {\n    borders = {\n      borderBottom: \"1px solid \" + borderColor,\n      borderRight: \"1px solid \" + borderColor\n    };\n    top = '100%';\n  }\n\n  return {\n    '::after': Object.assign({\n      visibility: 'visible',\n      background: backgroundColor,\n      position: 'absolute',\n      content: '\"\"',\n      top: top,\n      left: '50%',\n      transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',\n      margin: '.5px 0 0',\n      width: pxToRem(10),\n      height: pxToRem(10),\n      border: 'none'\n    }, borders, {\n      zIndex: v.beakZIndex,\n      transition: 'background .1s ease'\n    })\n  };\n};\nexport var menuItemStyles = {\n  root: function root(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables,\n        siteVariables = _ref3.theme.siteVariables;\n    var active = p.active,\n        iconOnly = p.iconOnly,\n        isFromKeyboard = p.isFromKeyboard,\n        pointing = p.pointing,\n        primary = p.primary,\n        underlined = p.underlined,\n        vertical = p.vertical,\n        disabled = p.disabled;\n    var colors = getColorScheme(v.colorScheme, null, primary);\n    return Object.assign({\n      color: 'inherit',\n      display: 'block',\n      cursor: 'pointer',\n      whiteSpace: 'nowrap',\n      overflow: 'hidden'\n    }, pointing && vertical && {\n      border: '1px solid transparent'\n    }, iconOnly && {\n      border: pxToRem(2) + \" solid transparent\"\n    }, {\n      padding: v.horizontalPadding\n    }, vertical && {\n      padding: v.verticalItemPadding\n    }, pointing && vertical && {\n      padding: pxToRem(8) + \" \" + pxToRem(18)\n    }, underlined && {\n      padding: pxToRem(4) + \" 0\"\n    }, iconOnly && {\n      margin: pxToRem(1),\n      padding: pxToRem(5),\n      // padding works this way to get the border to only be 30x30px on focus which is the current design\n      display: 'flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      overflow: 'visible'\n    }, active && Object.assign({}, iconOnly && Object.assign({\n      color: v.iconOnlyColorActive\n    }, getIconFillOrOutlineStyles({\n      outline: false\n    })), underlined && Object.assign({\n      color: v.activeUnderlinedColor\n    }, underlinedItem(v.activeUnderlinedBorderBottomColor), primary && Object.assign({\n      color: v.activeUnderlinedPrimaryColor\n    }, underlinedItem(v.borderColorActive || colors.borderActive)), !primary && {\n      fontWeight: 700\n    })), isFromKeyboard && Object.assign({\n      color: 'inherit'\n    }, iconOnly && Object.assign({}, getBorderFocusStyles({\n      variables: siteVariables\n    }), getIconFillOrOutlineStyles({\n      outline: false\n    })), primary ? Object.assign({}, iconOnly && {\n      borderColor: v.borderColorActive || colors.borderActive\n    }) : Object.assign({}, underlined && {\n      fontWeight: 700\n    }, underlined && active && underlinedItem(v.colorActive)), underlined && Object.assign({}, getBorderFocusStyles({\n      variables: siteVariables\n    }), {\n      ':focus-visible': Object.assign({}, getBorderFocusStyles({\n        variables: siteVariables\n      })[':focus-visible'], {\n        borderColor: v.borderColorActive\n      })\n    })), {\n      ':focus': {\n        outline: 0\n      },\n      // hover styles\n      ':hover': Object.assign({\n        color: v.colorHover\n      }, underlined && {\n        color: v.underlinedColorHover\n      }, !disabled && Object.assign({}, iconOnly && getIconFillOrOutlineStyles({\n        outline: false\n      }), primary ? Object.assign({}, iconOnly && {\n        color: 'inherit'\n      }, !active && underlined && underlinedItem(v.underlinedBorderColor || colors.backgroundActive)) : !active && underlined && underlinedItem(v.backgroundColorActive || colors.backgroundActive)))\n    }, disabled && {\n      cursor: 'default'\n    });\n  },\n  menu: function menu(_ref4) {\n    var v = _ref4.variables;\n    return {\n      zIndex: v.menuZIndex\n    };\n  }\n};\n//# sourceMappingURL=menuItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var menuItemIconStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: v.iconSize,\n      height: v.iconSize,\n      '& > :first-child': {\n        height: '100%',\n        width: '100%',\n        '& svg': {\n          height: '100%',\n          width: '100%'\n        }\n      }\n    }, p.hasContent && {\n      marginRight: pxToRem(10)\n    }, !p.iconOnly && {\n      // reduce margins so text has the dominant influence on the vertical height\n      marginTop: 0,\n      marginBottom: pxToRem(-8),\n      verticalAlign: 'top'\n    });\n  }\n};\n//# sourceMappingURL=menuItemIconStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var menuItemContentStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    var widthAdjust = (p.hasIcon ? 26 : 0) + (p.hasMenu ? 16 : 0);\n    return Object.assign({\n      whiteSpace: 'normal',\n      lineHeight: 1.5,\n      marginTop: pxToRem(-4),\n      marginBottom: pxToRem(-4),\n      display: 'inline-block'\n    }, (p.inSubmenu || p.vertical) && {\n      width: 'max-content',\n      minWidth: pxToRem(46 - widthAdjust),\n      maxWidth: pxToRem(262 - widthAdjust),\n      marginRight: pxToRem(16)\n    });\n  }\n};\n//# sourceMappingURL=menuItemContentStyles.js.map\n","export var submenuIndicatorUrl = function submenuIndicatorUrl(color) {\n  return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' viewBox='8 8 16 16'%3E%3Cpath d='M19.49,16a.91.91,0,0,1-.29.7l-5,5a1,1,0,0,1-.71.3,1,1,0,0,1-1-1,1,1,0,0,1,.29-.7L17.08,16l-4.3-4.29a1,1,0,0,1-.29-.71,1,1,0,0,1,1.71-.71l5,5A1,1,0,0,1,19.49,16Z' /%3E%3C/svg%3E\\\")\";\n};\nexport var submenuIndicatorDirection = function submenuIndicatorDirection(vertical, rtl) {\n  return vertical ? rtl ? {\n    transform: \"scaleX(-1)\"\n  } : {} : {\n    transform: \"rotate(\" + (rtl ? -90 : 90) + \"deg)\"\n  };\n};\n//# sourceMappingURL=submenuIndicatorUrl.js.map\n","import { pxToRem } from '../../../../utils';\nimport { submenuIndicatorUrl, submenuIndicatorDirection } from './submenuIndicatorUrl';\nexport var menuItemIndicatorStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        rtl = _ref.rtl;\n    return Object.assign({\n      position: 'relative',\n      float: 'right',\n      left: pxToRem(12),\n      userSelect: 'none',\n      marginRight: pxToRem(4)\n    }, p.inSubmenu && {\n      position: 'absolute',\n      top: pxToRem(6),\n      right: pxToRem(2),\n      left: 'unset'\n    }, {\n      content: '\" \"',\n      display: 'block',\n      overflow: 'hidden',\n      height: pxToRem(16),\n      width: pxToRem(16),\n      backgroundSize: pxToRem(16),\n      backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n    }, p.active && Object.assign({\n      backgroundImage: submenuIndicatorUrl(v.activeIndicatorColor)\n    }, p.primary && Object.assign({\n      backgroundImage: submenuIndicatorUrl(v.activePrimaryIndicatorColor)\n    }, p.vertical && {\n      backgroundImage: submenuIndicatorUrl(v.activePrimaryVerticalIndicatorColor)\n    })), p.underlined && {\n      backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n    }, p.iconOnly && {\n      backgroundImage: submenuIndicatorUrl(v.indicatorColor)\n    }, submenuIndicatorDirection(p.vertical, rtl));\n  }\n};\n//# sourceMappingURL=menuItemIndicatorStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { menuItemClassName } from '../../../../components/Menu/MenuItem';\nimport { menuItemIndicatorClassName } from '../../../../components/Menu/MenuItemIndicator';\nimport { getColorScheme } from '../../colors';\nimport { submenuIndicatorUrl, submenuIndicatorDirection } from './submenuIndicatorUrl';\nimport { horizontalPillsRightMargin, verticalPillsBottomMargin, pointingBeak, getFocusedStyles } from './menuItemStyles';\nexport var menuItemWrapperStyles = {\n  root: function root(_ref) {\n    var _Object$assign;\n\n    var props = _ref.props,\n        v = _ref.variables,\n        rtl = _ref.rtl;\n    var active = props.active,\n        disabled = props.disabled,\n        iconOnly = props.iconOnly,\n        isFromKeyboard = props.isFromKeyboard,\n        pills = props.pills,\n        pointing = props.pointing,\n        secondary = props.secondary,\n        underlined = props.underlined,\n        vertical = props.vertical,\n        primary = props.primary,\n        on = props.on;\n    var colors = getColorScheme(v.colorScheme, null, primary);\n    return Object.assign({\n      color: 'inherit',\n      lineHeight: 1,\n      position: 'relative',\n      verticalAlign: 'middle',\n      display: 'block'\n    }, secondary && {\n      background: 'salmon'\n    }, vertical && {\n      border: \"solid \" + v.verticalItemBorderWidth + \" \" + v.verticalItemBorderColor\n    }, pills && Object.assign({}, vertical ? {\n      margin: \"0 0 \" + verticalPillsBottomMargin + \" 0\"\n    } : {\n      margin: \"0 \" + horizontalPillsRightMargin + \" 0 0\"\n    }, {\n      borderRadius: pxToRem(5)\n    }), underlined && {\n      display: 'flex',\n      alignItems: 'center',\n      height: pxToRem(29),\n      lineHeight: v.lineHeightBase,\n      padding: \"0 \" + pxToRem(4),\n      margin: \"0 \" + pxToRem(4) + \" 0 0\",\n      ':nth-child(n+2)': {\n        marginLeft: \"\" + pxToRem(4)\n      },\n      boxShadow: 'none'\n    }, !vertical && !pills && !underlined && !iconOnly && {\n      boxShadow: \"-1px 0 0 0 \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border) + \" inset\"\n    }, active && Object.assign({\n      color: v.wrapperColorActive\n    }, !underlined && on !== 'hover' && Object.assign({\n      background: v.backgroundColorActive || colors.backgroundActive\n    }, iconOnly && {\n      background: v.activeIconOnlyWrapperBackgroundColor\n    }, !iconOnly && primary && {\n      color: colors.foregroundActive\n    }), underlined && {\n      color: v.activeUnderlinedWrapperColor\n    }, pointing && vertical && {\n      '::before': Object.assign({\n        content: \"''\",\n        position: 'absolute',\n        width: pxToRem(3),\n        height: \"calc(100% + \" + pxToRem(4) + \")\",\n        top: pxToRem(-2),\n        backgroundColor: v.pointingIndicatorBackgroundColor\n      }, isFromKeyboard && {\n        display: 'none'\n      }, pointing === 'end' ? {\n        right: pxToRem(-2)\n      } : {\n        left: pxToRem(-2)\n      })\n    }, pointing && !vertical && Object.assign({}, pointingBeak({\n      props: props,\n      variables: v,\n      colors: colors\n    }))), isFromKeyboard && Object.assign({\n      color: v.wrapperColorFocus\n    }, !underlined && Object.assign({\n      background: v.wrapperBackgroundColorFocus\n    }, primary && {\n      background: v.primaryWrapperBackgroundColorFocus,\n      color: v.primaryWrapperColorFocus\n    }), !iconOnly && !underlined && getFocusedStyles({\n      props: props,\n      variables: v,\n      colors: colors\n    }), iconOnly && {\n      background: v.iconOnlyWrapperBackgroundColorFocus,\n      color: v.iconOnlyColorActive\n    }), {\n      // hover styles\n      ':hover': Object.assign({\n        color: v.wrapperColorHover,\n        background: v.backgroundColorHover || colors.backgroundHover\n      }, active && {\n        background: v.activeWrapperBackgroundColorHover\n      }, vertical && {\n        color: v.wrapperColorHover,\n        background: v.backgroundColorHover || colors.backgroundHover\n      }, primary && {\n        color: v.primaryWrapperColorHover\n      }, underlined && {\n        color: v.underlinedWrapperColorHover,\n        background: v.underlinedWrapperBackgroundHover\n      }, iconOnly && {\n        background: v.iconOnlyBackgroundColorHover,\n        color: v.iconOnlyColorHover\n      }, (_Object$assign = {}, _Object$assign[\"&>.\" + menuItemClassName + \">.\" + menuItemIndicatorClassName] = Object.assign({\n        backgroundImage: submenuIndicatorUrl(v.indicatorColorHover)\n      }, primary && {\n        backgroundImage: submenuIndicatorUrl(v.primaryIndicatorColorHover)\n      }, submenuIndicatorDirection(vertical, rtl)), _Object$assign))\n    }, iconOnly && {\n      display: 'flex'\n    }, {\n      ':first-child': Object.assign({}, !pills && !iconOnly && !(pointing && vertical) && !underlined && Object.assign({}, vertical && {\n        '::before': {\n          display: 'none'\n        }\n      }, !vertical && {\n        borderBottomLeftRadius: pxToRem(3),\n        borderTopLeftRadius: pxToRem(3)\n      }))\n    }, disabled && {\n      color: v.colorDisabled || colors.foregroundDisabled,\n      cursor: 'default',\n      ':hover': {// empty - overwrite all existing hover styles\n      }\n    });\n  }\n};\n//# sourceMappingURL=menuItemWrapperStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { verticalPillsBottomMargin, horizontalPillsRightMargin, verticalPointingBottomMargin } from './menuItemStyles';\nexport var menuDividerStyles = {\n  root: function root(_ref) {\n    var _Object$assign;\n\n    var p = _ref.props,\n        v = _ref.variables;\n    var colors = getColorScheme(v.colorScheme, null, p.primary);\n    var borderColor = p.primary ? v.primaryBorderColor : v.borderColor || colors.border;\n    var borderType = p.vertical ? 'borderTop' : 'borderLeft';\n    return Object.assign({}, p.pointing && p.vertical && {\n      marginBottom: verticalPointingBottomMargin\n    }, p.pills && Object.assign({}, p.vertical ? {\n      margin: \"0 0 \" + verticalPillsBottomMargin + \" 0\"\n    } : {\n      margin: \"0 \" + horizontalPillsRightMargin + \" 0 0\"\n    }), p.hasContent ? {\n      display: 'flex',\n      justifyContent: 'center',\n      flexDirection: 'column',\n      textAlign: 'center'\n    } : Object.assign((_Object$assign = {}, _Object$assign[borderType] = \"1px solid \" + borderColor, _Object$assign), !p.vertical && {\n      alignSelf: 'stretch'\n    }, p.vertical && p.inSubmenu && {\n      margin: '8px 0'\n    }));\n  }\n};\n//# sourceMappingURL=menuDividerStyles.js.map\n","import { popupContentSlotClassNames } from '../../../../components/Popup/PopupContent';\nexport var menuButtonStyles = {\n  root: function root() {\n    return {\n      boxSizing: 'border-box',\n      display: 'inline-block'\n    };\n  },\n  popupContent: function popupContent() {\n    var _ref;\n\n    return _ref = {}, _ref[\"& .\" + popupContentSlotClassNames.content] = {\n      borderWidth: '0px',\n      padding: '0px'\n    }, _ref;\n  }\n};\n//# sourceMappingURL=menuButtonStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var pillStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    return Object.assign({\n      display: 'inline-flex',\n      width: 'fit-content',\n      position: 'relative',\n      height: v.height,\n      maxHeight: v.height,\n      borderRadius: v.borderRadius,\n      background: v.background,\n      margin: v.margin,\n      minWidth: v.minWidth,\n      ':hover': {\n        background: v.backgroundHover\n      }\n    }, p.rectangular && Object.assign({\n      borderRadius: v.roundedBorderRadius\n    }, (p.size === 'small' || p.size === 'smaller') && {\n      borderRadius: v.smallerRoundedBorderRadius\n    }), p.size === 'smaller' && {\n      minWidth: v.smallerMinWidth,\n      margin: v.smallerMargin,\n      height: v.smallerHeight,\n      maxHeight: v.smallerHeight\n    }, p.size === 'small' && {\n      minWidth: v.smallMinWidth,\n      margin: v.smallMargin,\n      height: v.smallHeight,\n      maxHeight: v.smallHeight\n    }, p.disabled && {\n      pointerEvents: 'none',\n      cursor: 'not-allowed',\n      background: v.disabledBackground,\n      color: v.disabledColor,\n      ':hover': {\n        background: v.disabledBackground\n      }\n    }, p.appearance === 'outline' && Object.assign({\n      borderWidth: '1px',\n      borderStyle: 'solid',\n      background: v.outlineBackground,\n      borderColor: v.outlineBorderColor,\n      ':hover': {\n        background: v.outlineBackground\n      }\n    }, p.disabled && {\n      borderColor: v.outlineDisabledborder\n    }), p.appearance === 'inverted' && Object.assign({\n      background: v.invertedBackground,\n      ':hover': {\n        background: v.invertedBackground\n      }\n    }, p.disabled && {\n      background: v.disabledBackground\n    }), p.selectable && Object.assign({\n      cursor: 'pointer'\n    }, p.selected && {\n      background: 'transparent',\n      boxShadow: \"inset \" + v.selectedIconColor + \" 0px 0px 0px 1px\"\n    }), getBorderFocusStyles({\n      variables: siteVariables\n    }));\n  }\n};\n//# sourceMappingURL=pillStyles.js.map\n","export var pillContentStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      fontSize: v.contentFontSize,\n      padding: v.contentPadding,\n      alignSelf: 'center'\n    }, p.size === 'small' && {\n      fontSize: v.contentFontSizeSmall,\n      padding: v.contentPaddingSmall\n    }, p.size === 'smaller' && {\n      fontSize: v.contentFontSizeSmaller,\n      padding: v.contentPaddingSmaller\n    }, p.actionable && {\n      paddingRight: 0\n    });\n  }\n};\n//# sourceMappingURL=pillContentStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var pillActionStyles = {\n  root: function root(_ref) {\n    var _Object$assign;\n\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      border: 'none',\n      background: 'transparent',\n      margin: v.actionMargin,\n      width: v.actionWidth,\n      cursor: 'pointer',\n      outline: 'none'\n    }, (p.size === 'small' || p.size === 'smaller') && {\n      width: v.smallOrSmallerActionWidth\n    }, (_Object$assign = {}, _Object$assign[\"& .\" + svgIconClassName] = {\n      height: '100%',\n      width: '100%',\n      '& svg': {\n        height: '100%',\n        width: '100%'\n      }\n    }, _Object$assign));\n  }\n};\n//# sourceMappingURL=pillActionStyles.js.map\n","export var pillImageStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      width: v.imageWidth,\n      height: v.imageHeight,\n      borderRadius: '50%'\n    }, p.size === 'small' && {\n      width: v.smallImageWidth,\n      height: v.smallImageHeight\n    }, p.size === 'smaller' && {\n      width: v.smallerImageWidth,\n      height: v.smallerImageHeight\n    });\n  }\n};\n//# sourceMappingURL=pillImageStyles.js.map\n","import { svgIconClassName } from '@fluentui/react-icons-northstar';\nexport var pillIconStyles = {\n  root: function root(_ref) {\n    var _Object$assign;\n\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      border: 'none',\n      background: 'transparent',\n      margin: v.iconMargin,\n      width: v.iconWidth,\n      cursor: 'pointer',\n      outline: 'none'\n    }, (p.size === 'small' || p.size === 'smaller') && {\n      width: v.smallOrSmallerIconWidth\n    }, p.selectable && p.hasImage && Object.assign({\n      width: v.selectedImageIconWidth,\n      height: v.selectedImageIconWidth,\n      marginLeft: 0,\n      color: v.selectedIconColor\n    }, p.size === 'small' && {\n      width: v.smallSelectedImageIconWidth,\n      height: v.smallSelectedImageIconWidth\n    }, p.size === 'smaller' && {\n      width: v.smallerSelectedImageIconWidth,\n      height: v.smallerSelectedImageIconWidth\n    }), (_Object$assign = {}, _Object$assign[\"& .\" + svgIconClassName] = Object.assign({\n      height: '100%',\n      width: '100%'\n    }, p.selectable && p.hasImage && {\n      position: 'relative',\n      // TODO: Remove this workaround once we have proper icon from designer\n      '::after': {\n        content: '\"\"',\n        position: 'absolute',\n        background: v.selectedIconCheckColor,\n        left: '10%',\n        top: '10%',\n        borderRadius: '50%',\n        width: '80%',\n        height: '80%'\n      }\n    }, {\n      '& svg': Object.assign({}, p.selectable && p.hasImage && {\n        position: 'absolute'\n      }, {\n        zIndex: 100,\n        height: '100%',\n        width: '100%'\n      })\n    }), _Object$assign));\n  }\n};\n//# sourceMappingURL=pillIconStyles.js.map\n","export var getContainerStyles = function getContainerStyles(options) {\n  var padding = options.padding,\n      placement = options.placement;\n  return Object.assign({}, placement === 'bottom' && {\n    paddingTop: padding\n  }, placement === 'top' && {\n    paddingBottom: padding\n  }, placement === 'left' && {\n    paddingRight: padding\n  }, placement === 'right' && {\n    paddingLeft: padding\n  });\n};\nexport var getPointerStyles = function getPointerStyles(options) {\n  var backgroundColor = options.backgroundColor,\n      borderColor = options.borderColor,\n      borderSize = options.borderSize,\n      gap = options.gap,\n      height = options.height,\n      padding = options.padding,\n      placement = options.placement,\n      rtl = options.rtl,\n      svg = options.svg,\n      width = options.width;\n  return Object.assign({\n    display: 'block',\n    position: 'absolute',\n    zIndex: 1\n  }, (placement === 'bottom' || placement === 'top') && {\n    paddingLeft: gap,\n    paddingRight: gap,\n    height: height,\n    width: \"calc(\" + width + \" + (\" + gap + \" * 2))\"\n  }, (placement === 'left' || placement === 'right') && {\n    paddingBottom: gap,\n    paddingTop: gap,\n    height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n    width: height\n  }, placement === 'bottom' && {\n    top: \"calc(\" + padding + \" - \" + height + \" + (\" + borderSize + \" * 2))\"\n  }, placement === 'top' && {\n    bottom: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n  }, placement === 'left' && {\n    right: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n  }, placement === 'right' && {\n    left: \"calc(\" + padding + \" - \" + height + \" + \" + borderSize + \")\"\n  }, {\n    '::before': Object.assign({\n      content: '\" \"',\n      display: 'block',\n      height: height,\n      position: 'relative',\n      transformOrigin: 'center top',\n      borderBottomColor: 'transparent',\n      borderLeftColor: 'transparent',\n      borderRightColor: 'transparent',\n      borderTopColor: 'transparent',\n      borderStyle: 'solid',\n      left: 0,\n      top: 0\n    }, placement === 'bottom' && {\n      borderBottomColor: backgroundColor,\n      borderWidth: \"0 \" + height + \" \" + height\n    }, placement === 'top' && {\n      borderTopColor: backgroundColor,\n      borderWidth: height + \" \" + height + \" 0\",\n      top: \"calc(\" + borderSize + \" * -1)\"\n    }, placement === 'left' && {\n      borderLeftColor: backgroundColor,\n      borderWidth: height + \" 0 \" + height + \" \" + height\n    }, placement === 'right' && {\n      borderRightColor: backgroundColor,\n      borderWidth: height + \" \" + height + \" \" + height + \" 0\"\n    }),\n    '::after': Object.assign({\n      content: '\" \"',\n      display: 'block',\n      height: height,\n      position: 'relative',\n      transformOrigin: 'center top',\n      zIndex: -1,\n      borderBottomColor: 'transparent',\n      borderLeftColor: 'transparent',\n      borderRightColor: 'transparent',\n      borderTopColor: 'transparent',\n      borderStyle: 'solid'\n    }, placement === 'bottom' && {\n      borderBottomColor: borderColor,\n      borderWidth: \"0 \" + height + \" \" + height,\n      left: 0,\n      bottom: \"calc(\" + height + \" + 1px)\"\n    }, placement === 'top' && {\n      borderTopColor: borderColor,\n      borderWidth: height + \" \" + height + \" 0\",\n      left: 0,\n      bottom: height\n    }, placement === 'left' && {\n      borderLeftColor: borderColor,\n      borderWidth: height + \" 0 \" + height + \" \" + height,\n      left: borderSize,\n      bottom: width\n    }, placement === 'right' && {\n      borderRightColor: borderColor,\n      borderWidth: height + \" \" + height + \" \" + height + \" 0\",\n      right: borderSize,\n      bottom: width\n    })\n  }, svg && {\n    // :before & :after are used to draw CSS triangles, not valid for SVG\n    '::before': Object.assign({\n      content: '\" \"',\n      backgroundImage: svg,\n      backgroundRepeat: 'no-repeat',\n      backgroundPosition: 'center',\n      display: 'block',\n      position: 'relative'\n    }, placement === 'bottom' && {\n      height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n      width: height,\n      left: gap,\n      bottom: \"calc(\" + width + \" - \" + height + \" + \" + borderSize + \")\",\n      transform: \"rotate(\" + (rtl ? -90 : 90) + \"deg)\"\n    }, placement === 'top' && {\n      height: \"calc(\" + width + \" + (\" + gap + \" * 2))\",\n      width: height,\n      left: gap,\n      bottom: \"calc(\" + gap + \" + \" + height + \" - \" + borderSize + \")\",\n      transform: \"rotate(\" + (rtl ? 90 : -90) + \"deg)\"\n    }, placement === 'left' && {\n      height: width,\n      width: height,\n      left: 0,\n      transform: \"rotate(\" + (rtl ? 0 : 180) + \"deg)\"\n    }, placement === 'right' && {\n      height: width,\n      width: height,\n      right: 0,\n      transform: \"rotate(\" + (rtl ? 180 : 0) + \"deg)\"\n    }),\n    '::after': undefined\n  });\n};\n//# sourceMappingURL=getPointerStyles.js.map\n","import { getContainerStyles, getPointerStyles } from '../../getPointerStyles';\nexport var popupContentStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'block',\n      zIndex: v.zIndex\n    }, p.pointing && Object.assign({\n      pointerEvents: 'none'\n    }, getContainerStyles({\n      placement: p.basePlacement,\n      padding: v.pointerMargin\n    })), p.autoSize && {\n      // when autoSize is true, root will have inline style maxWidth and maxHeight set by popper\n      display: 'flex',\n      overflow: 'hidden'\n    });\n  },\n  pointer: function pointer(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables,\n        rtl = _ref2.rtl;\n    return getPointerStyles({\n      backgroundColor: v.backgroundColor,\n      borderColor: v.borderColor,\n      borderSize: v.borderSize,\n      gap: v.pointerGap,\n      padding: v.pointerMargin,\n      height: v.pointerHeight,\n      width: v.pointerWidth,\n      placement: p.basePlacement,\n      rtl: rtl\n    });\n  },\n  content: function content(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign({\n      display: 'block',\n      background: v.backgroundColor,\n      color: v.color,\n      boxShadow: v.boxShadow,\n      border: v.borderSize + \" solid \" + v.borderColor,\n      borderRadius: v.borderRadius,\n      padding: v.padding,\n      transform: 'rotate(360deg)'\n    }, p.pointing && {\n      pointerEvents: 'all'\n    }, p.autoSize && {\n      overflow: 'auto'\n    });\n  }\n};\n//# sourceMappingURL=popupContentStyles.js.map\n","export var providerStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      background: v.background,\n      color: v.color,\n      textAlign: 'left',\n      '& ::-webkit-scrollbar': {\n        height: v.scrollbarHeight,\n        width: v.scrollbarWidth,\n        ':disabled': {\n          display: 'none'\n        }\n      },\n      '& ::-webkit-scrollbar-thumb': {\n        borderRadius: v.scrollbarThumbBorderRadius,\n        border: \"solid \" + v.scrollbarThumbBorderSize + \" transparent\",\n        backgroundClip: 'content-box',\n        backgroundColor: v.scrollbarThumbBackgroundColor,\n        ':hover': {\n          backgroundColor: v.scrollbarThumbHoverBackgroundColor,\n          border: \"solid \" + v.scrollbarThumbHoverBorderSize + \" transparent\"\n        }\n      },\n      '& ::-webkit-scrollbar-track': {\n        background: 'transparent'\n      }\n    };\n  }\n};\n//# sourceMappingURL=providerStyles.js.map\n","export var radioGroupStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    return {\n      display: 'flex',\n      flexDirection: p.vertical ? 'column' : 'row'\n    };\n  }\n};\n//# sourceMappingURL=radioGroupStyles.js.map\n","import { radioGroupItemSlotClassNames } from '../../../../components/RadioGroup/RadioGroupItem';\nimport { pxToRem } from '../../../../utils';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\n\nvar restHoverFocusTextColor = function restHoverFocusTextColor(textColor) {\n  return {\n    color: textColor,\n    ':hover': {\n      color: textColor\n    },\n    ':focus': {\n      color: textColor\n    }\n  };\n};\n\nexport var radioGroupItemStyles = {\n  root: function root(_ref) {\n    var _hover;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    return Object.assign({\n      position: 'relative',\n      alignItems: 'center',\n      borderStyle: 'solid',\n      borderWidth: \"\" + pxToRem(1),\n      borderColor: 'transparent',\n      borderRadius: \"\" + pxToRem(2),\n      color: v.textColorDefault,\n      cursor: 'pointer',\n      display: p.vertical ? 'flex' : 'inline-flex',\n      fontSize: v.textFontSize,\n      padding: v.padding,\n      margin: v.margin,\n      ':hover': (_hover = {\n        color: v.textColorDefaultHoverFocus\n      }, _hover[\"& .\" + radioGroupItemSlotClassNames.indicator] = Object.assign({\n        borderColor: v.textColorDefaultHoverFocus\n      }, !p.disabled && !p.checked && {\n        borderColor: v.indicatorBorderColorDefaultHover\n      }), _hover),\n      ':focus': {\n        color: v.textColorDefaultHoverFocus\n      }\n    }, p.checked && Object.assign({}, restHoverFocusTextColor(v.textColorChecked)), p.disabled && Object.assign({}, restHoverFocusTextColor(v.colorDisabled)), getBorderFocusStyles({\n      variables: siteVariables\n    }));\n  },\n  indicator: function indicator(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables;\n    return Object.assign({\n      margin: pxToRem(2) + \" 0\",\n      outline: 0,\n      display: 'flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: pxToRem(16),\n      height: pxToRem(16),\n      verticalAlign: 'midddle',\n      color: v.indicatorColorDefault\n    }, p.checked && {\n      color: v.indicatorBackgroundColorChecked\n    }, p.disabled && {\n      color: v.colorDisabled\n    });\n  },\n  label: function label() {\n    return {\n      margin: \"0 0 0 \" + pxToRem(12)\n    };\n  }\n};\n//# sourceMappingURL=radioGroupItemStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var segmentStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var colors = getColorScheme(v.colorScheme, p.color);\n    return Object.assign({\n      borderColor: 'transparent',\n      borderRadius: v.borderRadius,\n      borderStyle: v.borderStyle,\n      borderWidth: v.borderWidth,\n      boxShadow: v.boxShadow,\n      padding: v.padding,\n      color: v.color,\n      backgroundColor: v.backgroundColor\n    }, p.color && {\n      borderColor: colors.foreground\n    }, p.inverted && {\n      color: v.backgroundColor,\n      backgroundColor: p.color ? colors.foreground : v.color\n    }, p.disabled && Object.assign({\n      boxShadow: 'none',\n      borderColor: v.disabledBorderColor,\n      color: v.disabledColor,\n      backgroundColor: v.disabledBackgroundColor\n    }, p.inverted && {\n      color: v.disabledBackgroundColor,\n      backgroundColor: v.disabledColor\n    }));\n  }\n};\n//# sourceMappingURL=segmentStyles.js.map\n","export var pulse = {\n  from: {\n    opacity: 1\n  },\n  '50%': {\n    opacity: 0.5\n  },\n  to: {\n    opacity: 1\n  }\n};\nexport var wave = {\n  '0%': {\n    backgroundPosition: '-1200px 0'\n  },\n  '100%': {\n    backgroundPosition: '1200px 0'\n  }\n};\n//# sourceMappingURL=keyframes.js.map\n","import { pulse, wave } from './keyframes';\nimport { skeletonLineClassName } from '../../../../../components/Skeleton/SkeletonLine';\nimport { skeletonShapeClassName } from '../../../../../components/Skeleton/SkeletonShape';\nimport { skeletonButtonClassName } from '../../../../../components/Skeleton/SkeletonButton';\nimport { skeletonInputClassName } from '../../../../../components/Skeleton/SkeletonInput';\nimport { skeletonAvatarClassName } from '../../../../../components/Skeleton/SkeletonAvatar';\n\nvar waveStyles = function waveStyles(primaryColor, secondoryColor) {\n  return {\n    position: 'static',\n    overflow: 'hidden',\n    animationDuration: '4.5s',\n    animationName: wave,\n    animationIterationCount: 'infinite',\n    backgroundColor: '#FFFFFF',\n    animationTimingFunction: 'linear',\n    backgroundImage: \"linear-gradient(to right, \" + secondoryColor + \" 0%, \" + primaryColor + \" 20%, \" + secondoryColor + \" 40%)\",\n    backgroundSize: '1200px 100%'\n  };\n};\n\nvar pulseStyles = {\n  animationName: pulse,\n  animationDuration: '1.5s',\n  animationIterationCount: 'infinite'\n};\nexport var getAnimations = function getAnimations(primaryColor, secondoryColor) {\n  var _pulse, _wave;\n\n  return {\n    pulse: (_pulse = {}, _pulse[\"& .\" + skeletonLineClassName] = pulseStyles, _pulse[\"& .\" + skeletonShapeClassName] = pulseStyles, _pulse[\"& .\" + skeletonButtonClassName] = pulseStyles, _pulse[\"& .\" + skeletonAvatarClassName] = pulseStyles, _pulse[\"& .\" + skeletonInputClassName] = pulseStyles, _pulse),\n    wave: (_wave = {}, _wave[\"& .\" + skeletonLineClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonShapeClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonButtonClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonAvatarClassName] = waveStyles(primaryColor, secondoryColor), _wave[\"& .\" + skeletonInputClassName] = waveStyles(primaryColor, secondoryColor), _wave)\n  };\n};\n//# sourceMappingURL=animations.js.map\n","import { getAnimations } from './utils/animations';\nexport var skeletonStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var animations = getAnimations(v.animationBackground, v.animationBackgroundSecondary);\n    return Object.assign({\n      width: '100%'\n    }, p.animation && animations[p.animation]);\n  }\n};\n//# sourceMappingURL=skeletonStyles.js.map\n","export var skeletonLineStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return {\n      display: 'block',\n      width: p.width,\n      height: p.height,\n      backgroundColor: v.lineBackground,\n      margin: v.lineMargin\n    };\n  }\n};\n//# sourceMappingURL=skeletonLineStyles.js.map\n","export var skeletonShapeStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'block',\n      width: p.width,\n      height: p.height,\n      backgroundColor: v.shapeBackground,\n      margin: v.shapeMargin\n    }, p.round && {\n      borderRadius: '50%'\n    });\n  }\n};\n//# sourceMappingURL=skeletonShapeStyles.js.map\n","export var skeletonButtonStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'inline-block',\n      background: v.buttonBackground,\n      height: v.buttonHeight,\n      width: v.buttonWidth\n    }, p.size === 'small' && {\n      height: v.buttonSmallHeight,\n      width: v.buttonSmallWidth\n    }, p.circular && Object.assign({\n      width: v.buttonHeight,\n      borderRadius: v.buttonCircularBorderRadius\n    }, p.size === 'small' && {\n      width: v.buttonSmallHeight\n    }), p.iconOnly && Object.assign({\n      width: v.buttonHeight\n    }, p.size === 'small' && {\n      width: v.buttonSmallHeight\n    }), p.fluid && {\n      width: '100%',\n      maxWidth: '100%'\n    });\n  }\n};\n//# sourceMappingURL=skeletonButtonStyles.js.map\n","export var skeletonTextStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'block',\n      background: v.textBackground,\n      height: v.textMediumHeight,\n      width: v.textWidth\n    }, p.size === 'smaller' && {\n      height: v.textSmallerHeight\n    }, p.size === 'small' && {\n      height: v.textSmallHeight\n    }, p.size === 'large' && {\n      height: v.textLargeHeight\n    }, p.size === 'larger' && {\n      height: v.textLargerHeight\n    });\n  }\n};\n//# sourceMappingURL=skeletonTextStyles.js.map\n","export var skeletonInputStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      flexDirection: 'column',\n      justifyContent: 'center',\n      display: 'inline-flex',\n      position: 'relative',\n      height: v.inputHeight,\n      width: v.inputWidth,\n      background: v.inputBackground\n    }, p.fluid && {\n      width: '100%'\n    });\n  }\n};\n//# sourceMappingURL=skeletonInputStyles.js.map\n","export var skeletonAvatarStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'inline-block',\n      verticalAlign: 'middle',\n      borderRadius: '50%',\n      background: v.buttonBackground,\n      height: v.avatarMedium,\n      width: v.avatarMedium\n    }, p.size === 'smallest' && {\n      height: v.avatarSmallest,\n      width: v.avatarSmallest\n    }, p.size === 'smaller' && {\n      height: v.avatarSmaller,\n      width: v.avatarSmaller\n    }, p.size === 'small' && {\n      height: v.avatarSmall,\n      width: v.avatarSmall\n    }, p.size === 'large' && {\n      height: v.avatarLarge,\n      width: v.avatarLarge\n    }, p.size === 'larger' && {\n      height: v.avatarLarger,\n      width: v.avatarLarger\n    }, p.size === 'largest' && {\n      height: v.avatarLargest,\n      width: v.avatarLargest\n    });\n  }\n};\n//# sourceMappingURL=skeletonAvatarStyles.js.map\n","import { sliderSlotClassNames } from '../../../../components/Slider/Slider';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nvar selectors = {\n  WEBKIT_THUMB: '::-webkit-slider-thumb',\n  MOZ_THUMB: '::-moz-range-thumb',\n  MS_FILL_LOWER: '::-ms-fill-lower',\n  MS_FILL_UPPER: '::-ms-fill-upper',\n  MS_THUMB: '::-ms-thumb'\n};\n\nvar getCommonSlotStyles = function getCommonSlotStyles(p, v) {\n  return {\n    cursor: 'pointer',\n    pointerEvents: 'none',\n    position: 'absolute',\n    border: 0,\n    height: v.railHeight,\n    marginTop: \"calc(\" + v.height + \" / 2 - \" + v.railHeight + \" / 2)\"\n  };\n}; // this selector is used to identify the thumb slot from a previous sibling\n\n\nvar thumbFromPreviousSiblingSelector = \"&+ .\" + sliderSlotClassNames.thumb;\n\nvar getFluidStyles = function getFluidStyles(p) {\n  return p.fluid && !p.vertical && {\n    width: '100%'\n  };\n};\n\nexport var sliderStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      height: v.height\n    }, p.disabled && {\n      pointerEvents: 'none'\n    }, p.vertical && {\n      height: v.length,\n      width: v.height\n    }, getFluidStyles(p));\n  },\n  input: function input(_ref2) {\n    var _Object$assign, _active, _focus, _focusVisible;\n\n    var p = _ref2.props,\n        v = _ref2.variables,\n        siteVariables = _ref2.theme.siteVariables;\n    var activeThumbStyles = {\n      height: v.activeThumbHeight,\n      width: v.activeThumbWidth,\n      background: v.activeThumbColor,\n      marginTop: \"calc(\" + v.height + \" / 2  - \" + v.activeThumbHeight + \" / 2)\",\n      marginLeft: \"calc(-\" + v.activeThumbWidth + \" / 2)\"\n    };\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables,\n      borderPadding: v.thumbBorderPadding\n    });\n    var thumbStyles = {\n      border: 0,\n      width: '1px'\n    };\n    return Object.assign((_Object$assign = {\n      '-webkit-appearance': 'none',\n      cursor: 'pointer',\n      height: '100%',\n      width: '100%',\n      margin: 0,\n      padding: 0,\n      opacity: 0\n    }, _Object$assign[selectors.WEBKIT_THUMB] = Object.assign({}, thumbStyles, {\n      '-webkit-appearance': 'none'\n    }), _Object$assign[selectors.MOZ_THUMB] = thumbStyles, _Object$assign[selectors.MS_THUMB] = Object.assign({}, thumbStyles, {\n      marginTop: \"calc(-\" + v.thumbHeight + \" / 2)\"\n    }), _Object$assign[selectors.MS_FILL_LOWER] = {\n      display: 'none'\n    }, _Object$assign[selectors.MS_FILL_UPPER] = {\n      display: 'none'\n    }, _Object$assign), getFluidStyles(p), {\n      ':active': (_active = {}, _active[thumbFromPreviousSiblingSelector] = activeThumbStyles, _active),\n      ':focus': (_focus = {\n        outline: 0\n      }, _focus[thumbFromPreviousSiblingSelector] = borderFocusStyles[':focus'], _focus),\n      ':focus-visible': (_focusVisible = {}, _focusVisible[thumbFromPreviousSiblingSelector] = Object.assign({}, borderFocusStyles[':focus-visible'], activeThumbStyles), _focusVisible)\n    });\n  },\n  inputWrapper: function inputWrapper(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    var transformOriginValue = \"calc(\" + v.length + \" / 2)\";\n    return Object.assign({\n      position: 'relative',\n      display: 'inline-block',\n      height: v.height,\n      width: v.length\n    }, p.vertical && {\n      transform: 'rotate(-90deg)',\n      transformOrigin: transformOriginValue + \" \" + transformOriginValue\n    }, getFluidStyles(p));\n  },\n  rail: function rail(_ref4) {\n    var p = _ref4.props,\n        v = _ref4.variables;\n    return Object.assign({\n      width: '100%',\n      background: v.railColor\n    }, getCommonSlotStyles(p, v), p.disabled && {\n      background: v.disabledRailColor\n    });\n  },\n  track: function track(_ref5) {\n    var p = _ref5.props,\n        v = _ref5.variables;\n    return Object.assign({\n      background: v.trackColor\n    }, getCommonSlotStyles(p, v), p.disabled && {\n      background: v.disabledTrackColor\n    });\n  },\n  thumb: function thumb(_ref6) {\n    var p = _ref6.props,\n        v = _ref6.variables;\n    return Object.assign({\n      border: 0,\n      borderRadius: '100%',\n      cursor: 'pointer',\n      pointerEvents: 'none',\n      position: 'absolute',\n      background: v.thumbColor,\n      height: v.thumbHeight,\n      width: v.thumbWidth,\n      marginTop: \"calc(\" + v.height + \" / 2  - \" + v.thumbHeight + \" / 2)\",\n      marginLeft: \"calc(-\" + v.thumbWidth + \" / 2)\"\n    }, p.disabled && {\n      background: v.disabledThumbColor\n    });\n  }\n};\n//# sourceMappingURL=sliderStyles.js.map\n","import { reactionSlotClassNames } from '../../../../components/Reaction/Reaction';\nimport { pxToRem } from '../../../../utils';\nvar contentClassNameSelector = \"& .\" + reactionSlotClassNames.content;\nexport var reactionStyles = {\n  root: function root(_ref) {\n    var _hover;\n\n    var p = _ref.props,\n        v = _ref.variables;\n    return {\n      cursor: 'pointer',\n      background: 'transparent',\n      border: pxToRem(0),\n      padding: pxToRem(0),\n      display: 'inline-flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      color: v.meReacting ? v.meReactingColor : v.otherReactingColor,\n      ':hover': (_hover = {\n        color: v.meReacting ? v.meReactingColorHover : v.otherReactingColorHover\n      }, _hover[contentClassNameSelector] = {\n        fontWeight: v.fontWeightHover\n      }, _hover),\n      position: 'relative',\n      ':focus': {\n        outline: 'none'\n      },\n      ':focus-visible': {\n        ':after': {\n          content: '\"\"',\n          position: 'absolute',\n          top: \"-\" + pxToRem(2),\n          right: \"-\" + pxToRem(2),\n          bottom: \"-\" + pxToRem(2),\n          left: \"-\" + pxToRem(2),\n          borderWidth: '1px',\n          borderStyle: 'solid',\n          borderColor: v.borderColorFocus,\n          borderRadius: pxToRem(2),\n          boxShadow: \"0px 0px 0px 1px \" + v.boxShadowColor + \" inset\"\n        }\n      }\n    };\n  },\n  icon: function icon(_ref2) {\n    var p = _ref2.props;\n    return {\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      marginRight: p.hasContent ? pxToRem(4) : pxToRem(0)\n    };\n  },\n  content: function content(_ref3) {\n    var v = _ref3.variables;\n    return {\n      fontSize: v.contentFontSize\n    };\n  }\n};\n//# sourceMappingURL=reactionStyles.js.map\n","export var reactionGroupStyles = {\n  root: function root() {\n    return {};\n  },\n  reaction: function reaction(_ref) {\n    var v = _ref.variables;\n    return {\n      ':not(:last-child)': {\n        marginRight: v.reactionSpacing\n      }\n    };\n  }\n};\n//# sourceMappingURL=reactionGroupStyles.js.map\n","import { pxToRem } from '../../../../utils';\n\nvar getBackgroundColor = function getBackgroundColor(state, variables) {\n  switch (state) {\n    case 'success':\n      return variables.successBackgroundColor;\n\n    case 'info':\n      return variables.infoBackgroundColor;\n\n    case 'warning':\n      return variables.warningBackgroundColor;\n\n    case 'error':\n      return variables.errorBackgroundColor;\n\n    case 'unknown':\n    default:\n      return variables.defaultBackgroundColor;\n  }\n};\n\nvar getTextColor = function getTextColor(state, variables) {\n  switch (state) {\n    case 'success':\n      return variables.successTextColor;\n\n    case 'info':\n      return variables.infoTextColor;\n\n    case 'warning':\n      return variables.warningTextColor;\n\n    case 'error':\n      return variables.errorTextColor;\n\n    case 'unknown':\n    default:\n      return variables.defaultTextColor;\n  }\n};\n\nvar sizeToPxValue = {\n  smallest: 6,\n  smaller: 10,\n  small: 10,\n  medium: 10,\n  large: 10,\n  larger: 16,\n  largest: 0\n};\nexport var getSizeStyles = function getSizeStyles(sizeInPx, variables) {\n  var borderWidth = variables.borderColor && variables.borderWidth || 0;\n  var sizeInRem = pxToRem(sizeInPx + 2 * borderWidth);\n  return {\n    height: sizeInRem,\n    width: sizeInRem\n  };\n};\nexport var statusStyles = {\n  root: function root(_ref) {\n    var _ref$props = _ref.props,\n        color = _ref$props.color,\n        size = _ref$props.size,\n        state = _ref$props.state,\n        variables = _ref.variables;\n    return Object.assign({\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center'\n    }, getSizeStyles(sizeToPxValue[size], variables), {\n      verticalAlign: 'middle',\n      borderRadius: '9999px'\n    }, variables.borderColor && {\n      borderColor: variables.borderColor,\n      borderWidth: pxToRem(variables.borderWidth),\n      borderStyle: 'solid'\n    }, {\n      backgroundColor: color || getBackgroundColor(state, variables)\n    });\n  },\n  icon: function icon(_ref2) {\n    var state = _ref2.props.state,\n        v = _ref2.variables;\n    return {\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      width: v.iconSize,\n      height: v.iconSize,\n      color: getTextColor(state, v),\n      '& > :first-child': {\n        height: '100%',\n        width: '100%',\n        '& svg': {\n          height: '100%',\n          width: '100%'\n        }\n      }\n    };\n  }\n};\n//# sourceMappingURL=statusStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var splitButtonStyles = {\n  menuButton: function menuButton(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      borderTopRightRadius: 0,\n      borderBottomRightRadius: 0,\n      borderRightWidth: 0,\n      padding: v.padding,\n      minWidth: v.minWidth\n    }, p.size === 'small' && {\n      height: v.smallDimension,\n      padding: v.smallPadding,\n      minWidth: v.smallMinWidth,\n      boxShadow: v.smallBoxShadow\n    }, {\n      ':focus-visible': {\n        borderRightWidth: 0,\n        ':before': {\n          borderRightWidth: 0\n        },\n        ':after': {\n          borderRightWidth: 0\n        }\n      },\n      ':active': {\n        animationName: 'unset',\n        animationDuration: 'unset'\n      }\n    });\n  },\n  root: function root(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables,\n        siteVariables = _ref2.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: {\n        borderRadius: v.focusBorderRadius,\n        borderWidth: v.focusBorderWidth,\n        focusInnerBorderColor: v.focusInnerBorderColor,\n        focusOuterBorderColor: v.focusOuterBorderColor,\n        zIndexes: {\n          foreground: v.focusBorderZIndex\n        }\n      }\n    });\n    return {\n      borderRadius: v.borderRadius,\n      position: 'relative',\n      whiteSpace: 'nowrap',\n      display: 'inline-block',\n      width: 'fit-content',\n      ':focus-within': Object.assign({\n        boxShadow: 'none'\n      }, p.isFromKeyboard && Object.assign({}, borderFocusStyles[':focus-visible']))\n    };\n  }\n};\n//# sourceMappingURL=splitButtonStyles.js.map\n","export var toggleIndicatorUrl = function toggleIndicatorUrl(color, outline) {\n  if (outline) {\n    return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M21.5,13.5c0,0.1,0,0.3-0.1,0.4l-5,5C16.3,19,16.1,19,16,19c-0.1,0-0.3-0.1-0.4-0.1l-5-5c-0.1-0.1-0.2-0.2-0.1-0.4 c0-0.3,0.2-0.5,0.5-0.5c0.1,0,0.3,0.1,0.4,0.1l4.6,4.6l4.7-4.6c0.1-0.1,0.2-0.1,0.4-0.1C21.3,13,21.5,13.2,21.5,13.5z' /%3E%3C/svg%3E\\\")\";\n  }\n\n  return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M16,19.5c-0.3,0-0.5-0.1-0.7-0.3l-5-5C10.1,14,10,13.8,10,13.5c0-0.6,0.4-1,1-1c0.3,0,0.5,0.1,0.7,0.3l4.3,4.3l4.3-4.3 c0.2-0.2,0.4-0.3,0.7-0.3c0.6,0,1,0.4,1,1c0,0.3-0.1,0.5-0.3,0.7l-5,5C16.5,19.4,16.3,19.5,16,19.5z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=toggleIndicatorUrl.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { toggleIndicatorUrl } from './toggleIndicatorUrl';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, outline, size) {\n  return {\n    content: '\"\"',\n    width: size,\n    height: size,\n    backgroundImage: toggleIndicatorUrl(color, outline),\n    backgroundRepeat: 'no-repeat'\n  };\n};\n\nexport var splitButtonToggleStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        theme = _ref.theme;\n    var siteVariables = theme.siteVariables;\n    var borderWidth = siteVariables.borderWidth;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: {\n        borderRadius: v.focusBorderRadius,\n        borderWidth: v.focusBorderWidth,\n        focusInnerBorderColor: v.focusInnerBorderColor,\n        focusOuterBorderColor: v.focusOuterBorderColor,\n        zIndexes: {\n          foreground: v.focusBorderZIndex\n        }\n      },\n      borderPadding: borderWidth\n    });\n    return Object.assign({\n      height: v.toggleButtonHeight,\n      minWidth: v.toggleButtonHeight,\n      color: v.toggleButtonColor,\n      backgroundColor: v.toggleButtonBackgroundColor,\n      borderRadius: v.toggleButtonBorderRadius,\n      display: 'inline-flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      position: 'relative',\n      verticalAlign: 'middle',\n      cursor: 'pointer',\n      outline: 0,\n      padding: 0,\n      borderWidth: borderWidth,\n      borderStyle: 'solid',\n      borderColor: v.toggleButtonBorderColor,\n      boxShadow: v.toggleButtonBoxShadow,\n      borderTopLeftRadius: 0,\n      borderBottomLeftRadius: 0\n    }, getIconFillOrOutlineStyles({\n      outline: true\n    }), {\n      ':before': Object.assign({}, getIndicatorStyles(p.disabled ? v.toggleButtonColorDisabled : p.primary ? v.toggleButtonPrimaryColor : v.toggleButtonColor, true, v.toggleButtonIndicatorSize)),\n      ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n        outline: false\n      }), {\n        ':before': Object.assign({}, getIndicatorStyles(v.toggleButtonColorHover, false, v.toggleButtonIndicatorSize)),\n        color: v.toggleButtonColorHover,\n        background: v.toggleButtonBackgroundColorHover\n      }),\n      ':active': {\n        color: v.toggleButtonColorActive,\n        backgroundColor: v.toggleButtonBackgroundColorActive,\n        borderColor: v.toggleButtonBorderColorActive,\n        boxShadow: 'none'\n      },\n      ':focus': borderFocusStyles[':focus'],\n      ':focus-visible': {\n        backgroundColor: v.toggleButtonBackgroundColorFocus,\n        borderColor: v.toggleButtonBorderColorFocus,\n        color: v.toggleButtonColorFocus,\n        borderWidth: borderWidth,\n        ':hover': {\n          borderColor: v.toggleButtonBorderColorHover\n        }\n      }\n    }, p.primary && {\n      color: v.toggleButtonPrimaryColor,\n      backgroundColor: v.toggleButtonPrimaryBackgroundColor,\n      borderColor: v.toggleButtonPrimaryBorderColor,\n      boxShadow: v.toggleButtonPrimaryBoxShadow,\n      borderWidth: \"0 0 0 \" + siteVariables.borderWidth,\n      ':active': {\n        backgroundColor: v.toggleButtonPrimaryBackgroundColorActive,\n        boxShadow: 'none'\n      },\n      ':focus': borderFocusStyles[':focus'],\n      ':focus-visible': {\n        backgroundColor: v.toggleButtonPrimaryBackgroundColorFocus\n      },\n      ':hover': {\n        color: v.toggleButtonPrimaryHoverColor,\n        backgroundColor: v.toggleButtonPrimaryHoverBackgroundColor\n      }\n    }, p.disabled && {\n      cursor: 'default',\n      color: v.toggleButtonColorDisabled,\n      boxShadow: 'none',\n      pointerEvents: 'none',\n      ':hover': {\n        color: v.toggleButtonColorDisabled\n      },\n      backgroundColor: v.toggleButtonBackgroundColorDisabled,\n      borderWidth: \"0 0 0 \" + siteVariables.borderWidth,\n      borderColor: v.borderColorDisabled\n    }, p.size === 'small' && {\n      height: v.smallDimension,\n      width: v.smallDimension,\n      minWidth: v.smallMinWidth,\n      boxShadow: v.smallBoxShadow\n    });\n  }\n};\n//# sourceMappingURL=splitButtonToggleStyles.js.map\n","import { getColorSchemeKey } from '../../colors';\nimport { translateAlignProp } from '../../../../styles/translateAlignProp';\nexport var textStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var colors = v.colorScheme[getColorSchemeKey(p.color)];\n    return Object.assign({}, p.color && {\n      color: colors.foreground\n    }, p.atMention === true && {\n      color: v.atMentionOtherColor\n    }, p.truncated && {\n      overflow: 'hidden',\n      textOverflow: 'ellipsis',\n      whiteSpace: 'nowrap'\n    }, p.disabled && {\n      color: v.disabledColor\n    }, p.error && {\n      color: v.errorColor\n    }, p.success && {\n      color: v.successColor\n    }, p.temporary && {\n      fontStyle: 'italic'\n    }, p.align && {\n      display: 'block',\n      textAlign: translateAlignProp(p.align)\n    }, p.weight === 'light' && {\n      fontWeight: v.fontWeightLight\n    }, p.weight === 'semilight' && {\n      fontWeight: v.fontWeightSemilight\n    }, p.weight === 'regular' && {\n      fontWeight: v.fontWeightRegular\n    }, p.weight === 'semibold' && {\n      fontWeight: v.fontWeightSemibold\n    }, p.weight === 'bold' && {\n      fontWeight: v.fontWeightBold\n    }, p.size === 'smallest' && {\n      fontSize: v.fontSizeSmallest,\n      lineHeight: v.fontLineHeightSmallest\n    }, p.size === 'smaller' && {\n      fontSize: v.fontSizeSmaller,\n      lineHeight: v.fontLineHeightSmaller\n    }, p.size === 'small' && {\n      fontSize: v.fontSizeSmall,\n      lineHeight: v.fontLineHeightSmall\n    }, p.size === 'medium' && {\n      fontSize: v.fontSizeMedium,\n      lineHeight: v.fontLineHeightMedium\n    }, p.size === 'large' && {\n      fontSize: v.fontSizeLarge,\n      lineHeight: v.fontLineHeightLarge\n    }, p.size === 'larger' && {\n      fontSize: v.fontSizeLarger,\n      lineHeight: v.fontLineHeightLarger\n    }, p.size === 'largest' && {\n      fontSize: v.fontSizeLargest,\n      lineHeight: v.fontLineHeightLargest\n    }, p.atMention === 'me' && {\n      color: v.atMentionMeColor,\n      fontWeight: v.atMentionMeFontWeight\n    }, p.timestamp && {\n      color: v.timestampColor\n    }, p.important && {\n      color: v.importantColor,\n      fontWeight: v.importantWeight\n    });\n  }\n};\n//# sourceMappingURL=textStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      margin: v.margin,\n      height: v.height,\n      backgroundColor: v.backgroundColor\n    }, p.inverted && {\n      backgroundColor: v.invertedBackgroundColor\n    }, {\n      color: v.fontColor,\n      borderColor: v.borderColor,\n      borderRadius: v.borderRadius,\n      borderStyle: 'solid',\n      borderWidth: v.borderWidth,\n      outline: 0,\n      padding: v.padding,\n      resize: p.resize || 'none'\n    }, p.fluid && {\n      width: '100%'\n    }, p.disabled && {\n      pointerEvents: 'none',\n      color: v.disabledColor,\n      boxShadow: 'none'\n    }, p.error && {\n      border: pxToRem(1) + \" solid \" + v.borderColorError\n    }, {\n      '::placeholder': Object.assign({\n        color: v.placeholderColor,\n        opacity: 1\n      }, p.disabled && {\n        color: v.disabledColor\n      }),\n      ':focus': {\n        borderColor: v.borderColorFocus\n      }\n    });\n  }\n};\n//# sourceMappingURL=textAreaStyles.js.map\n","import { pxToRem } from '../../../../utils/index';\nexport var toolbarStyles = {\n  root: function root() {\n    return {\n      display: 'flex',\n      alignItems: 'center',\n      position: 'relative'\n    };\n  },\n  offsetMeasure: function offsetMeasure() {\n    return {\n      position: 'absolute',\n      visibility: 'hidden',\n      left: 0,\n      top: 0\n    };\n  },\n  overflowContainer: function overflowContainer() {\n    return {\n      display: 'flex',\n      overflow: 'hidden',\n      flexGrow: 1\n    };\n  },\n  overflowSentinel: function overflowSentinel(_ref) {\n    var props = _ref.props;\n    return {\n      width: pxToRem(100),\n      display: props.overflowOpen ? 'block' : 'none',\n      visibility: 'hidden'\n    };\n  }\n};\n//# sourceMappingURL=toolbarStyles.js.map\n","export var toolbarRadioGroupStyles = {\n  root: function root() {\n    return {\n      display: 'flex',\n      whiteSpace: 'nowrap'\n    };\n  }\n};\n//# sourceMappingURL=toolbarRadioGroupStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var toolbarCustomItemStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var colors = getColorScheme(v.colorScheme);\n    var borderWidth = siteVariables.borderWidth;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      position: 'relative',\n      backgroundColor: v.background,\n      borderColor: 'transparent',\n      borderWidth: borderWidth,\n      borderStyle: 'solid',\n      height: v.itemHeight,\n      color: v.foreground || colors.foreground1,\n      display: 'flex',\n      alignItems: 'center',\n      justifyContent: 'center'\n    }, p.fitted !== true && p.fitted !== 'horizontally' && {\n      paddingLeft: v.customItemHorizontalPadding,\n      paddingRight: v.customItemHorizontalPadding\n    }, p.fitted !== true && p.fitted !== 'vertically' && {\n      paddingTop: v.customItemVerticalPadding,\n      paddingBottom: v.customItemVerticalPadding\n    }, {\n      ':focus': borderFocusStyles[':focus'],\n      ':focus-visible': borderFocusStyles[':focus-visible']\n    });\n  }\n};\n//# sourceMappingURL=toolbarCustomItemStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarDividerStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    var colors = getColorScheme(v.colorScheme);\n    return {\n      borderLeft: \"1px solid \" + (v.dividerBorder || colors.border),\n      margin: v.dividerMargin,\n      alignSelf: 'stretch'\n    };\n  }\n};\n//# sourceMappingURL=toolbarDividerStyles.js.map\n","import { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var toolbarItemStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var colors = getColorScheme(v.colorScheme);\n    var borderWidth = siteVariables.borderWidth;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      position: 'relative',\n      backgroundColor: v.background,\n      borderWidth: borderWidth,\n      borderStyle: 'solid',\n      borderColor: 'transparent',\n      borderRadius: v.borderRadius,\n      height: v.itemHeight,\n      minWidth: v.itemHeight,\n      padding: v.itemPadding,\n      color: v.foreground || colors.foreground1,\n      cursor: 'pointer',\n      ':focus': borderFocusStyles[':focus']\n    }, p.active && Object.assign({\n      color: v.foregroundActive || colors.foregroundActive,\n      backgroundColor: v.backgroundActive\n    }, getIconFillOrOutlineStyles({\n      outline: false\n    })), {\n      ':hover': Object.assign({\n        color: v.foregroundHover || colors.foregroundHover,\n        backgroundColor: v.backgroundHover || colors.backgroundHover\n      }, getIconFillOrOutlineStyles({\n        outline: false\n      })),\n      ':focus-visible': borderFocusStyles[':focus-visible']\n    }, p.disabled && {\n      color: v.foregroundDisabled || colors.foregroundDisabled1,\n      backgroundColor: v.backgroundDisabled,\n      cursor: 'default',\n      pointerEvents: 'none',\n      ':hover': {// empty to overwrite all existing hover styles\n      }\n    });\n  }\n};\n//# sourceMappingURL=toolbarItemStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarMenuStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    var colors = getColorScheme(v.colorScheme);\n    return {\n      display: 'flex',\n      flexDirection: 'column',\n      listStyleType: 'none',\n      margin: 0,\n      padding: v.menuPadding,\n      backgroundColor: v.menuBackground || colors.background,\n      boxShadow: v.menuBoxShadow,\n      borderStyle: 'solid',\n      borderColor: v.menuBorder || colors.border,\n      borderWidth: v.menuBorderWidth,\n      borderRadius: v.menuBorderRadius,\n      maxWidth: v.menuMaxWidth,\n      zIndex: v.overlayZIndex\n    };\n  }\n};\n//# sourceMappingURL=toolbarMenuStyles.js.map\n","import { getColorScheme } from '../../colors';\nexport var toolbarMenuDividerStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    var colors = getColorScheme(v.colorScheme);\n    return {\n      borderTop: \"1px solid \" + (v.menuDividerBorder || colors.border),\n      margin: v.menuDividerMargin,\n      alignSelf: 'stretch'\n    };\n  }\n};\n//# sourceMappingURL=toolbarMenuDividerStyles.js.map\n","export var submenuIndicatorUrl = function submenuIndicatorUrl(color) {\n  return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' viewBox='8 8 16 16'%3E%3Cpath d='M19.49,16a.91.91,0,0,1-.29.7l-5,5a1,1,0,0,1-.71.3,1,1,0,0,1-1-1,1,1,0,0,1,.29-.7L17.08,16l-4.3-4.29a1,1,0,0,1-.29-.71,1,1,0,0,1,1.71-.71l5,5A1,1,0,0,1,19.49,16Z' /%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=submenuIndicatorUrl.js.map\n","export var activeIndicatorUrl = function activeIndicatorUrl(color) {\n  return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' fill='\" + encodeURIComponent(color) + \"' focusable='false' view-box='8 8 16 16'%3E%3Cg%3E%3Cpath d='M23.5 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=activeIndicatorUrl.js.map\n","import { getColorScheme } from '../../colors';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { submenuIndicatorUrl } from './submenuIndicatorUrl';\nimport { activeIndicatorUrl } from './activeIndicatorUrl';\nimport { toolbarMenuItemSubmenuIndicatorClassName } from '../../../../components/Toolbar/ToolbarMenuItemSubmenuIndicator';\nimport { toolbarMenuItemActiveIndicatorClassName } from '../../../../components/Toolbar/ToolbarMenuItemActiveIndicator';\nexport var toolbarMenuItemStyles = {\n  root: function root(_ref) {\n    var _hover, _ref2;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var colors = getColorScheme(v.colorScheme);\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables,\n      borderRadius: 0\n    });\n    return Object.assign({\n      position: 'relative',\n      color: v.menuItemForeground || colors.foreground1,\n      borderWidth: v.menuBorderWidth,\n      backgroundColor: 'transparent',\n      borderColor: 'transparent',\n      display: 'flex',\n      alignItems: 'center',\n      textAlign: 'left',\n      width: '100%',\n      maxWidth: '100%',\n      padding: v.menuItemPadding,\n      cursor: 'pointer',\n      minHeight: v.itemHeight,\n      lineHeight: v.lineHeightBase,\n      ':focus': {\n        outline: 0\n      },\n      ':hover': (_hover = {\n        color: v.menuItemForegroundHover || colors.menuItemForegroundHover,\n        backgroundColor: v.menuItemBackgroundHover || colors.menuItemBackgroundHover\n      }, _hover[\"& .\" + toolbarMenuItemSubmenuIndicatorClassName] = {\n        backgroundImage: submenuIndicatorUrl(v.menuItemForegroundHover || colors.menuItemForegroundHover)\n      }, _hover[\"& .\" + toolbarMenuItemActiveIndicatorClassName] = {\n        backgroundImage: activeIndicatorUrl(v.menuItemForegroundHover || colors.menuItemForegroundHover)\n      }, _hover),\n      ':focus-visible': borderFocusStyles[':focus-visible']\n    }, p.disabled && (_ref2 = {\n      cursor: 'default',\n      color: v.menuItemForegroundDisabled || colors.foregroundDisabled1,\n      backgroundColor: v.menuItemBackgroundDisabled\n    }, _ref2[\"& .\" + toolbarMenuItemSubmenuIndicatorClassName] = {\n      backgroundImage: submenuIndicatorUrl(v.menuItemForegroundDisabled || colors.foregroundDisabled1)\n    }, _ref2[\"& .\" + toolbarMenuItemActiveIndicatorClassName] = {\n      backgroundImage: activeIndicatorUrl(v.menuItemForegroundDisabled || colors.foregroundDisabled1)\n    }, _ref2[':hover'] = {// empty to overwrite all existing hover styles\n    }, _ref2));\n  },\n  wrapper: function wrapper() {\n    return {\n      display: 'block'\n    };\n  }\n};\n//# sourceMappingURL=toolbarMenuItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var toolbarMenuItemIconStyles = {\n  root: function root(_ref) {\n    var p = _ref.props;\n    return Object.assign({}, p.hasContent && {\n      marginRight: pxToRem(10),\n      marginTop: pxToRem(3),\n      display: 'flex',\n      alignSelf: 'start'\n    });\n  }\n};\n//# sourceMappingURL=toolbarMenuItemIconStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { pxToRem } from '../../../../utils';\nimport { submenuIndicatorUrl } from './submenuIndicatorUrl';\nexport var toolbarMenuItemSubmenuIndicatorStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        rtl = _ref.rtl;\n    var colors = getColorScheme(v.colorScheme);\n    return Object.assign({\n      backgroundImage: submenuIndicatorUrl(v.menuItemForeground || colors.foreground1),\n      backgroundPosition: 'center',\n      backgroundRepeat: 'no-repeat'\n    }, rtl && {\n      transform: \"scaleX(-1)\"\n    }, {\n      width: pxToRem(16),\n      height: '100%',\n      position: 'absolute',\n      right: pxToRem(7),\n      top: 0\n    });\n  }\n};\n//# sourceMappingURL=toolbarMenuItemSubmenuIndicatorStyles.js.map\n","import { getColorScheme } from '../../colors';\nimport { pxToRem } from '../../../../utils';\nimport { activeIndicatorUrl } from './activeIndicatorUrl';\nexport var toolbarMenuItemActiveIndicatorStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    var colors = getColorScheme(v.colorScheme);\n    return {\n      backgroundImage: activeIndicatorUrl(v.menuItemForeground || colors.foreground1),\n      backgroundPosition: 'center',\n      backgroundRepeat: 'no-repeat',\n      width: pxToRem(24),\n      height: '100%',\n      position: 'absolute',\n      right: pxToRem(7)\n    };\n  }\n};\n//# sourceMappingURL=toolbarMenuItemActiveIndicatorStyles.js.map\n","export var toolbarMenuRadioGroupStyles = {\n  root: function root() {\n    return {\n      padding: 0\n    };\n  }\n};\n//# sourceMappingURL=toolbarMenuRadioGroupStyles.js.map\n","export var toolbarMenuRadioGroupWrapperStyles = {\n  root: function root() {\n    return {};\n  }\n};\n//# sourceMappingURL=toolbarMenuRadioGroupWrapperStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var treeStyles = {\n  root: function root() {\n    return {\n      display: 'block',\n      paddingLeft: \"\" + pxToRem(10)\n    };\n  }\n};\n//# sourceMappingURL=treeStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { treeTitleClassName, treeTitleSlotClassNames } from '../../../../components/Tree/TreeTitle';\nexport var treeItemStyles = {\n  root: function root(_ref) {\n    var _ref2, _ref3, _Object$assign;\n\n    var siteVariables = _ref.theme.siteVariables,\n        p = _ref.props;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return {\n      listStyleType: 'none',\n      ':focus': Object.assign({}, p.selectable && (_ref2 = {}, _ref2[\"& .\" + treeTitleSlotClassNames.indicator] = {\n        display: 'inline-block'\n      }, _ref2), borderFocusStyles[':focus']),\n      ':focus-visible': Object.assign({\n        outline: 0\n      }, p.selectable && (_ref3 = {}, _ref3[\"& .\" + treeTitleSlotClassNames.indicator] = {\n        display: 'inline-block'\n      }, _ref3), (_Object$assign = {}, _Object$assign[\"> .\" + treeTitleClassName] = Object.assign({\n        position: 'relative'\n      }, borderFocusStyles[':focus-visible']), _Object$assign))\n    };\n  }\n};\n//# sourceMappingURL=treeItemStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { treeTitleSlotClassNames } from '../../../../components/Tree/TreeTitle';\nimport { pxToRem } from '../../../../utils';\nimport { checkboxIndicatorUrl } from '../Checkbox/checkboxIndicatorUrl';\nimport { checkboxIndicatorIndeterminatedUrl } from './checkboxIndicatorIndeterminatedUrl';\nexport var treeTitleStyles = {\n  root: function root(_ref) {\n    var _ref2, _ref3, _ref4;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      padding: v.padding,\n      cursor: 'pointer',\n      color: v.color,\n      position: 'relative',\n      marginLeft: pxToRem(1 + (p.level - 1) * 10),\n      paddingRight: v.paddingRight,\n      paddingLeft: v.paddingLeft\n    }, p.selectable && {\n      display: 'flex',\n      justifyContent: 'space-between',\n      alignItems: 'center'\n    }, {\n      ':focus': Object.assign({}, p.selectable && (_ref2 = {}, _ref2[\"> .\" + treeTitleSlotClassNames.indicator] = {\n        display: 'inline-block'\n      }, _ref2), borderFocusStyles[':focus']),\n      ':focus-visible': borderFocusStyles[':focus-visible'],\n      ':hover': Object.assign({}, p.selectable && (_ref3 = {\n        background: v.hoverBackground\n      }, _ref3[\"> .\" + treeTitleSlotClassNames.indicator] = {\n        display: 'inline-block'\n      }, _ref3))\n    }, p.showIndicator && (_ref4 = {}, _ref4[\"> .\" + treeTitleSlotClassNames.indicator] = {\n      display: 'inline-block'\n    }, _ref4));\n  },\n  selectionIndicator: function selectionIndicator(_ref5) {\n    var p = _ref5.props,\n        v = _ref5.variables;\n    return Object.assign({\n      display: 'none',\n      float: 'right',\n      verticalAlign: 'middle',\n      boxShadow: 'unset',\n      width: pxToRem(16),\n      height: pxToRem(16),\n      borderColor: v.borderColor,\n      borderStyle: v.borderStyle,\n      borderRadius: v.borderRadius,\n      borderWidth: v.borderWidth,\n      color: v.indicatorColor,\n      margin: v.selectionIndicatorMargin,\n      padding: v.padding,\n      userSelect: 'none',\n      backgroundImage: checkboxIndicatorUrl(v.indicatorColor, v.background),\n      backgroundPosition: 'center',\n      backgroundRepeat: 'no-repeat'\n    }, p.selected && {\n      borderColor: v.checkedBorderColor,\n      backgroundImage: checkboxIndicatorUrl(v.checkedIndicatorColor, v.checkedBackground)\n    }, p.indeterminate && {\n      borderColor: v.checkedBorderColor,\n      backgroundImage: checkboxIndicatorIndeterminatedUrl(v.checkedIndicatorColor, v.checkedBackground)\n    }, p.disabled && {\n      background: v.disabledBackground,\n      borderColor: v.disabledBorderColor\n    }, p.disabled && p.selected && {\n      color: v.disabledCheckedIndicatorColor,\n      borderColor: v.disabledBackgroundChecked,\n      backgroundImage: checkboxIndicatorUrl(v.disabledCheckedIndicatorColor, v.disabledBackgroundChecked)\n    });\n  }\n};\n//# sourceMappingURL=treeTitleStyles.js.map\n","export var checkboxIndicatorIndeterminatedUrl = function checkboxIndicatorIndeterminatedUrl(color, backgroundColor) {\n  return \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' style='background-color: \" + escape(backgroundColor) + \"; padding: 2px;' focusable='false' viewBox='8 8 22.5 22.5'%3E%3Cg%3E%3Cpath fill='\" + escape(color) + \"' d='M10 16v-1h12v1H10z 11.875a.968.968 0 0 1-.289.711l-8.25 8.25c-.192.193-.43.289-.711.289s-.519-.096-.711-.289l-4.75-4.75a.965.965 0 0 1-.289-.711c0-.125.027-.25.082-.375s.129-.234.223-.328a.953.953 0 0 1 .695-.297c.135 0 .266.025.391.074.125.05.231.121.32.215l4.039 4.047 7.539-7.547a.886.886 0 0 1 .32-.215c.125-.049.255-.074.391-.074a1.004 1.004 0 0 1 .922.625.97.97 0 0 1 .078.375z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=checkboxIndicatorIndeterminatedUrl.js.map\n","export var videoStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      display: 'inline-block',\n      verticalAlign: 'middle',\n      width: v.width,\n      height: v.height || 'auto'\n    };\n  }\n};\n//# sourceMappingURL=videoStyles.js.map\n","import { getContainerStyles, getPointerStyles } from '../../getPointerStyles';\nimport { pointerSvgUrl } from '../../pointerSvgUrl';\nexport var tooltipContentStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      display: 'none',\n      position: 'absolute',\n      maxWidth: v.maxWidth,\n      zIndex: v.zIndex\n    }, p.pointing && Object.assign({\n      pointerEvents: 'all'\n    }, getContainerStyles({\n      placement: p.basePlacement,\n      padding: v.pointerMargin\n    })), p.open && {\n      display: 'block'\n    });\n  },\n  pointer: function pointer(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables,\n        rtl = _ref2.rtl;\n    return Object.assign({\n      display: 'block',\n      position: 'absolute',\n      width: v.pointerWidth,\n      height: v.pointerHeight\n    }, getPointerStyles({\n      backgroundColor: v.backgroundColor,\n      borderSize: v.borderSize,\n      borderColor: 'transparent',\n      gap: v.pointerGap,\n      padding: v.pointerMargin,\n      height: v.pointerHeight,\n      width: v.pointerWidth,\n      placement: p.basePlacement,\n      rtl: rtl,\n      svg: pointerSvgUrl(v.backgroundColor)\n    }));\n  },\n  content: function content(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign({\n      display: 'block',\n      padding: v.padding,\n      textAlign: 'left',\n      color: v.color,\n      background: v.backgroundColor,\n      borderRadius: v.borderRadius,\n      boxShadow: v.boxShadow\n    }, p.pointing && {\n      pointerEvents: 'all'\n    });\n  }\n};\n//# sourceMappingURL=tooltipContentStyles.js.map\n","export var pointerSvgUrl = function pointerSvgUrl(backgroundColor) {\n  return \"url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='\" + encodeURIComponent(backgroundColor) + \"' viewBox='0 0 6 16'%3E%3Cpath d='M.708 9.527a2.002 2.002 0 0 1 0-3.055l3.284-2.78C5.324 2.562 5.991 1.332 5.991 0c0 1.002.02 15.013 0 16 0-1.333-.665-2.562-1.995-3.689L.708 9.527z' fill-rule='evenodd' clip-rule='evenodd'/%3E%3C/svg%3E%0A\\\");\";\n};\n//# sourceMappingURL=pointerSvgUrl.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselStyles = {\n  root: function root() {\n    return {\n      display: 'inline-block',\n      position: 'relative'\n    };\n  },\n  itemsContainerWrapper: function itemsContainerWrapper(_ref) {\n    var v = _ref.variables,\n        p = _ref.props;\n    return Object.assign({\n      display: 'flex',\n      width: pxToRem(v.width),\n      overflowX: 'hidden'\n    }, p.shouldFocusContainer && p.isFromKeyboard && {\n      border: \"1px solid \" + v.focusOuterBorderColor,\n      borderRadius: v.focusOuterBorderRadius\n    });\n  },\n  itemsContainer: function itemsContainer() {\n    return {\n      padding: 0,\n      margin: 0,\n      display: 'flex',\n      listStyle: 'none',\n      willChange: 'transform'\n    };\n  }\n};\n//# sourceMappingURL=carouselStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselItemStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      width: pxToRem(v.width),\n      marginBottom: pxToRem(16),\n      ':focus': {\n        outline: 'none'\n      }\n    };\n  }\n};\n//# sourceMappingURL=carouselItemStyles.js.map\n","import { pxToRem } from '../../../../utils';\nimport { getColorScheme } from '../../colors';\nexport var carouselNavigationStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    var iconOnly = p.iconOnly,\n        primary = p.primary,\n        vertical = p.vertical,\n        thumbnails = p.thumbnails;\n    var colors = getColorScheme(v.colorScheme, null, primary);\n    return Object.assign({\n      display: 'flex',\n      minHeight: pxToRem(24),\n      margin: 0,\n      padding: 0,\n      color: v.color,\n      backgroundColor: v.backgroundColor || 'inherit',\n      listStyleType: 'none',\n      justifyContent: 'center'\n    }, !vertical && thumbnails && {\n      justifyContent: 'start',\n      transform: \"translateX(\" + pxToRem(v.width / 2 - v.thumbnailWidth / 2 - +p.activeIndex * v.thumbnailWidth) + \")\",\n      transition: 'transform .5s ease'\n    }, iconOnly && {\n      alignItems: 'center'\n    }, vertical && Object.assign({\n      flexDirection: 'column',\n      backgroundColor: v.verticalBackgroundColor,\n      width: 'fit-content',\n      padding: pxToRem(8) + \" 0\"\n    }, iconOnly && {\n      display: 'inline-block',\n      width: 'auto'\n    }), !iconOnly && !vertical && {\n      // primary has hardcoded grey border color\n      border: v.borderWidth + \" solid \" + (primary ? v.primaryBorderColor : v.borderColor || colors.border),\n      borderRadius: pxToRem(4)\n    });\n  }\n};\n//# sourceMappingURL=carouselNavigationStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { tabBehavior } from '@fluentui/accessibility';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useTelemetry, getElementType, useFluentContext, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var carouselNavigationItemClassName = 'ui-carousel__navigationitem';\nexport var carouselNavigationItemSlotClassNames = {\n  indicator: carouselNavigationItemClassName + \"__indicator\",\n  content: carouselNavigationItemClassName + \"__content\"\n};\n/**\n * A CarouselItem is an actionable item within a Carousel.\n */\n\nexport var CarouselNavigationItem = /*#__PURE__*/function () {\n  var CarouselNavigationItem = function CarouselNavigationItem(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CarouselNavigationItem.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        thumbnails = props.thumbnails,\n        vertical = props.vertical,\n        active = props.active,\n        content = props.content,\n        iconOnly = props.iconOnly,\n        primary = props.primary,\n        indicator = props.indicator,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(CarouselNavigationItem.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: CarouselNavigationItem.displayName,\n      actionHandlers: {\n        performClick: function performClick(event) {\n          return !event.defaultPrevented && handleClick(event);\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          active: active\n        };\n      }\n    });\n\n    var _useStyles = useStyles(CarouselNavigationItem.displayName, {\n      className: carouselNavigationItemClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          thumbnails: thumbnails,\n          vertical: vertical,\n          active: active,\n          hasContent: !!content,\n          iconOnly: iconOnly,\n          primary: primary,\n          hasIndicator: !!indicator\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var renderContent = function renderContent() {\n      return content ? Box.create(content, {\n        defaultProps: function defaultProps() {\n          return {\n            as: 'span',\n            className: carouselNavigationItemSlotClassNames.content,\n            styles: resolvedStyles.content\n          };\n        }\n      }) : Box.create(indicator, {\n        defaultProps: function defaultProps() {\n          return {\n            className: carouselNavigationItemSlotClassNames.indicator,\n            styles: resolvedStyles.indicator\n          };\n        }\n      });\n    };\n\n    var handleClick = function handleClick(e) {\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var handleBlur = function handleBlur(e) {\n      _invoke(props, 'onBlur', e, props);\n    };\n\n    var handleFocus = function handleFocus(e) {\n      _invoke(props, 'onFocus', e, props);\n    };\n\n    var element = /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onBlur: handleBlur,\n      onFocus: handleFocus,\n      onClick: handleClick\n    }, unhandledProps)), rtlTextContainer.getAttributes({\n      forElements: [children]\n    })), childrenExist(children) ? children : renderContent());\n    setEnd();\n    return element;\n  };\n\n  CarouselNavigationItem.displayName = 'CarouselNavigationItem';\n  CarouselNavigationItem.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    active: PropTypes.bool,\n    indicator: customPropTypes.shorthandAllowingChildren,\n    iconOnly: PropTypes.bool,\n    index: PropTypes.number,\n    onClick: PropTypes.func,\n    primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n    secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n    vertical: PropTypes.bool,\n    thumbnails: PropTypes.bool\n  });\n  CarouselNavigationItem.handledProps = Object.keys(CarouselNavigationItem.propTypes);\n  CarouselNavigationItem.defaultProps = {\n    accessibility: tabBehavior,\n    as: 'li',\n    indicator: {}\n  };\n  CarouselNavigationItem.create = createShorthandFactory({\n    Component: CarouselNavigationItem,\n    mappedArrayProp: 'content'\n  });\n  return CarouselNavigationItem;\n}();\n//# sourceMappingURL=CarouselNavigationItem.js.map\n","import { pxToRem } from '../../../../utils';\nimport { carouselNavigationItemSlotClassNames } from '../../../../components/Carousel/CarouselNavigationItem';\nimport { getColorScheme } from '../../colors';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nexport var carouselNavigationItemStyles = {\n  root: function root(_ref) {\n    var _Object$assign;\n\n    var p = _ref.props,\n        v = _ref.variables;\n    var active = p.active,\n        iconOnly = p.iconOnly,\n        primary = p.primary,\n        vertical = p.vertical,\n        thumbnails = p.thumbnails;\n    var colors = getColorScheme(v.colorScheme, null, primary);\n    return Object.assign({\n      color: 'inherit',\n      display: 'block',\n      cursor: 'pointer',\n      whiteSpace: 'nowrap'\n    }, iconOnly && {\n      border: pxToRem(2) + \" solid transparent\"\n    }, vertical ? {\n      padding: v.verticalItemPadding\n    } : {\n      padding: v.horizontalPadding\n    }, iconOnly && {\n      margin: pxToRem(1),\n      padding: pxToRem(5),\n      // padding works this way to get the border to only be 30x30px on focus which is the current design\n      display: 'flex',\n      alignItems: 'center',\n      justifyContent: 'center'\n    }, active && iconOnly && Object.assign({\n      color: v.iconOnlyColorActive\n    }, getIconFillOrOutlineStyles({\n      outline: false\n    })), {\n      // focus styles\n      ':focus-visible': Object.assign({}, iconOnly && Object.assign({\n        borderRadius: '50%'\n      }, thumbnails && {\n        borderRadius: '0'\n      }, {\n        borderColor: v.iconOnlyColorActive\n      }, getIconFillOrOutlineStyles({\n        outline: false\n      })))\n    }, iconOnly && primary && {\n      color: 'inherit',\n      borderColor: v.borderColorActive || colors.borderActive\n    }, {\n      ':focus': {\n        outline: 0\n      },\n      // hover styles\n      ':hover': Object.assign((_Object$assign = {\n        color: 'inherit'\n      }, _Object$assign[\"& .\" + carouselNavigationItemSlotClassNames.indicator] = {\n        background: v.indicatorBackgroundColor\n      }, _Object$assign), iconOnly && getIconFillOrOutlineStyles({\n        outline: false\n      }), primary && iconOnly && {\n        color: 'inherit'\n      })\n    });\n  },\n  content: function content(_ref2) {\n    var p = _ref2.props;\n    var widthAdjust = p.hasIndicator ? 26 : 0;\n    return Object.assign({\n      whiteSpace: 'normal',\n      lineHeight: 1.5,\n      marginTop: pxToRem(-4),\n      marginBottom: pxToRem(-4),\n      display: 'inline-block'\n    }, p.thumbnails && Object.assign({\n      width: pxToRem(60)\n    }, !p.active && {\n      opacity: 0.4\n    }), p.vertical && {\n      width: 'max-content',\n      minWidth: pxToRem(46 - widthAdjust),\n      maxWidth: pxToRem(262 - widthAdjust),\n      marginRight: pxToRem(16)\n    });\n  },\n  indicator: function indicator(_ref3) {\n    var p = _ref3.props,\n        v = _ref3.variables;\n    return Object.assign({\n      borderRadius: '50%',\n      width: pxToRem(7),\n      height: pxToRem(7),\n      background: v.indicatorBackgroundColor\n    }, p.active && {\n      background: v.indicatorActiveBackgroundColor\n    }, p.hasContent && {\n      marginRight: pxToRem(10)\n    }, !p.iconOnly && {\n      // reduce margins so text has the dominant influence on the vertical height\n      marginTop: 0,\n      marginBottom: pxToRem(-8),\n      verticalAlign: 'top'\n    });\n  }\n};\n//# sourceMappingURL=carouselNavigationItemStyles.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport { buttonBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getElementType, useFluentContext, useAccessibility, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nexport var carouselPaddleClassName = 'ui-carousel__paddle';\nexport var carouselPaddleSlotClassNames = {\n  content: carouselPaddleClassName + \"__content\"\n};\n/**\n * A CarouselPaddle allows users to customize the paddles inside the Carousel component.\n *\n * @accessibility\n * Implements [ARIA Button](https://www.w3.org/TR/wai-aria-practices-1.1/#button) design pattern.\n */\n\nexport var CarouselPaddle = /*#__PURE__*/function () {\n  var CarouselPaddle = function CarouselPaddle(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CarouselPaddle.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        as = props.as,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        disabled = props.disabled,\n        design = props.design,\n        hidden = props.hidden,\n        next = props.next,\n        previous = props.previous,\n        styles = props.styles,\n        variables = props.variables;\n    var hasChildren = childrenExist(children);\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: CarouselPaddle.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          as: String(as),\n          disabled: disabled\n        };\n      },\n      actionHandlers: {\n        performClick: function performClick(event) {\n          event.preventDefault();\n          handleClick(event);\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(CarouselPaddle.displayName, {\n      className: carouselPaddleClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          disabled: disabled,\n          hidden: hidden,\n          next: next,\n          previous: previous\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var unhandledProps = useUnhandledProps(CarouselPaddle.handledProps, props);\n    var ElementType = getElementType(props);\n\n    var handleClick = function handleClick(e) {\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var result = /*#__PURE__*/React.createElement(ElementType, _extends({}, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), getA11Props('root', Object.assign({\n      onClick: handleClick,\n      disabled: disabled,\n      className: classes.root\n    }, unhandledProps))), hasChildren ? children : Box.create(content, {\n      defaultProps: function defaultProps() {\n        return getA11Props('content', {\n          as: 'span',\n          className: carouselPaddleSlotClassNames.content,\n          styles: resolvedStyles.content\n        });\n      }\n    }));\n    setEnd();\n    return result;\n  };\n\n  CarouselPaddle.defaultProps = {\n    as: 'button',\n    accessibility: buttonBehavior,\n    content: {}\n  };\n  CarouselPaddle.displayName = 'CarouselPaddle';\n  CarouselPaddle.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: 'shorthand'\n  }), {\n    disabled: PropTypes.bool,\n    hidden: PropTypes.bool,\n    onClick: PropTypes.func,\n    next: customPropTypes.every([customPropTypes.disallow(['previous']), PropTypes.bool]),\n    previous: customPropTypes.every([customPropTypes.disallow(['next']), PropTypes.bool])\n  });\n  CarouselPaddle.handledProps = Object.keys(CarouselPaddle.propTypes);\n  CarouselPaddle.create = createShorthandFactory({\n    Component: CarouselPaddle,\n    mappedProp: 'content'\n  });\n  return CarouselPaddle;\n}();\n//# sourceMappingURL=CarouselPaddle.js.map\n","export var paddleIndicatorUrl = function paddleIndicatorUrl(color, next) {\n  return next ? \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M21.5 15.97c0 .28-.1.52-.29.71l-7 7c-.19.19-.43.29-.71.29-.14 0-.26-.03-.38-.08s-.23-.13-.32-.22-.16-.2-.22-.32a1.036 1.036 0 0 1-.01-.77c.05-.12.12-.23.21-.32l6.3-6.29-6.3-6.29a.85.85 0 0 1-.21-.32c-.05-.13-.07-.26-.07-.39a.995.995 0 0 1 .3-.7c.09-.09.2-.16.32-.22.12-.05.24-.08.38-.08.28 0 .52.1.71.29l7 7c.19.19.29.43.29.71z' /%3E%3C/g%3E%3C/svg%3E\\\")\" : \"url(\\\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' role='presentation' focusable='false' viewBox='8 8 16 16'%3E%3Cg%3E%3Cpath fill='\" + encodeURIComponent(color) + \"' d='M19.5 8.97c0 .14-.03.27-.07.39-.05.12-.12.23-.21.32l-6.3 6.29 6.3 6.29c.09.09.17.2.21.32a1.036 1.036 0 0 1-.01.77c-.05.12-.13.23-.22.32s-.2.16-.32.22a.995.995 0 0 1-1.09-.21l-7-7c-.19-.19-.29-.43-.29-.71s.1-.52.29-.71l7-7a.995.995 0 0 1 1.09-.21c.12.06.23.13.32.22s.16.2.22.32c.05.12.08.25.08.38z' /%3E%3C/g%3E%3C/svg%3E\\\")\";\n};\n//# sourceMappingURL=paddleIndicatorUrl.js.map\n","import { carouselPaddleSlotClassNames } from '../../../../components/Carousel/CarouselPaddle';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nimport { getIconFillOrOutlineStyles } from '../../getIconFillOrOutlineStyles';\nimport { paddleIndicatorUrl } from './paddleIndicatorUrl';\nimport { faster, ultraFast } from '../../animations/durations';\nimport { pxToRem } from '../../../../utils';\n\nvar getIndicatorStyles = function getIndicatorStyles(color, next, size) {\n  return {\n    width: size,\n    height: size,\n    backgroundImage: paddleIndicatorUrl(color, next),\n    backgroundRepeat: 'no-repeat'\n  };\n};\n\nexport var carouselPaddleStyles = {\n  root: function root(_ref) {\n    var _Object$assign;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        theme = _ref.theme;\n    var siteVariables = theme.siteVariables;\n    var borderWidth = siteVariables.borderWidth;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: {\n        borderRadius: v.focusBorderRadius,\n        borderWidth: v.focusBorderWidth,\n        focusInnerBorderColor: v.focusInnerBorderColor,\n        focusOuterBorderColor: v.focusOuterBorderColor,\n        zIndexes: {\n          foreground: v.focusBorderZIndex\n        }\n      },\n      borderPadding: borderWidth\n    });\n    return Object.assign({\n      height: v.paddleHeight,\n      minWidth: v.paddleHeight,\n      color: v.paddleColor,\n      backgroundColor: v.paddleBackgroundColor,\n      borderRadius: v.paddleBorderRadius,\n      border: 0,\n      display: 'inline-flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      position: 'relative',\n      verticalAlign: 'middle',\n      cursor: 'pointer',\n      marginBottom: pxToRem(40),\n      outline: 0,\n      padding: 0,\n      transition: faster,\n      zIndex: 1\n    }, p.hidden && {\n      visibility: 'hidden'\n    }, {\n      ':hover': Object.assign({}, getIconFillOrOutlineStyles({\n        outline: false\n      }), (_Object$assign = {}, _Object$assign[\"& .\" + carouselPaddleSlotClassNames.content] = Object.assign({}, getIndicatorStyles(v.paddleColor, p.next, v.paddleIndicatorSize)), _Object$assign.background = v.paddleBackgroundColorHover, _Object$assign)),\n      ':active': {\n        transition: ultraFast,\n        backgroundColor: v.paddleBackgroundColorActive\n      },\n      ':focus': borderFocusStyles[':focus'],\n      ':focus-visible': Object.assign({}, borderFocusStyles[':focus-visible'])\n    }, p.disabled && {\n      cursor: 'default',\n      color: v.paddleColorDisabled,\n      pointerEvents: 'none',\n      ':hover': {\n        color: v.paddleColorDisabled\n      },\n      backgroundColor: v.paddleBackgroundColorDisabled\n    });\n  },\n  content: function content(_ref2) {\n    var p = _ref2.props,\n        v = _ref2.variables,\n        rtl = _ref2.rtl;\n    return Object.assign({}, getIndicatorStyles(p.disabled ? v.paddleColorDisabled : v.paddleColor, p.next, v.paddleIndicatorSize), rtl && {\n      transform: 'scaleX(-1)'\n    });\n  }\n};\n//# sourceMappingURL=carouselPaddleStyles.js.map\n","import { pxToRem } from '../../../../utils';\nexport var carouselPaddlesContainerStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      display: 'flex',\n      width: pxToRem(v.width),\n      justifyContent: 'space-between',\n      alignItems: 'center',\n      position: 'absolute',\n      top: 0,\n      right: 0,\n      left: 0,\n      bottom: 0\n    };\n  }\n};\n//# sourceMappingURL=carouselPaddlesContainerStyles.js.map\n","export var tableStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      display: 'flex',\n      flexDirection: 'column',\n      background: v.backgroundColor\n    };\n  }\n};\n//# sourceMappingURL=tableStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var tableRowStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      display: 'flex',\n      flexDirection: 'row',\n      alignItems: 'center',\n      fontSize: v.bodyFontSize,\n      height: v.defaultRowHeight,\n      color: v.color,\n      backgroundColor: v.backgroundColor,\n      borderWidth: v.borderWidth,\n      borderStyle: 'solid',\n      borderColor: 'transparent',\n      borderBottomColor: v.rowBorderColor,\n      padding: v.rowPadding,\n      position: 'relative',\n      width: '100%',\n      ':hover': {\n        color: v.hoverColor,\n        backgroundColor: v.backgroundHoverColor,\n        borderColor: v.rowBorderHoverColor\n      }\n    }, borderFocusStyles, p.header && {\n      fontSize: v.headerFontSize,\n      ':hover': {\n        color: v.color,\n        backgroundColor: v.backgroundColor\n      }\n    }, p.compact && {\n      height: v.compactRowHeight\n    });\n  }\n};\n//# sourceMappingURL=tableRowStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var tableCellStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        siteVariables = _ref.theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables\n    });\n    return Object.assign({\n      display: 'flex',\n      flexFlow: 'row nowrap',\n      flexGrow: 1,\n      flexBasis: 0,\n      minWidth: v.minCellWidth,\n      outline: 0,\n      borderWidth: v.borderWidth,\n      borderStyle: 'solid',\n      borderColor: 'transparent'\n    }, borderFocusStyles, {\n      padding: v.cellPadding,\n      position: 'relative',\n      height: '100%'\n    });\n  },\n  content: function content(_ref2) {\n    var p = _ref2.props;\n    return Object.assign({\n      alignSelf: 'center'\n    }, p.truncateContent && {\n      display: 'block',\n      overflow: 'hidden',\n      textOverflow: 'ellipsis',\n      whiteSpace: 'nowrap'\n    });\n  }\n};\n//# sourceMappingURL=tableCellStyles.js.map\n","import { cardExpandableBoxClassName } from '../../../../components/Card/CardExpandableBox';\nimport { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var cardStyles = {\n  root: function root(_ref) {\n    var _ref2;\n\n    var p = _ref.props,\n        v = _ref.variables,\n        theme = _ref.theme;\n    var siteVariables = theme.siteVariables;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables,\n      borderRadius: v.borderRadius\n    });\n    return Object.assign({\n      display: 'flex',\n      flexDirection: 'column',\n      position: 'relative',\n      padding: v.padding,\n      margin: v.margin,\n      width: v.width,\n      height: v.height,\n      borderWidth: v.borderWidth,\n      borderStyle: v.borderStyle,\n      borderColor: v.borderColor,\n      borderRadius: v.borderRadius,\n      backgroundColor: v.backgroundColor\n    }, p.ghost && {\n      backgroundColor: v.ghostBackgroundColor\n    }, p.inverted && {\n      backgroundColor: v.invertedBackgroundColor\n    }, p.selected && {\n      backgroundColor: v.selectedBackgroundColor\n    }, {\n      boxShadow: v.boxShadow\n    }, p.elevated && {\n      boxShadow: v.elevatedBoxShadow\n    }, {\n      ':hover': Object.assign({\n        backgroundColor: v.backgroundColorHover\n      }, p.ghost && {\n        backgroundColor: v.ghostBackgroundColorHover\n      }, p.inverted && {\n        backgroundColor: v.invertedBackgroundColorHover\n      }, p.selected && {\n        backgroundColor: v.selectedBackgroundColorHover\n      }, {\n        borderColor: v.borderColorHover,\n        boxShadow: v.boxShadowHover\n      }, p.elevated && {\n        boxShadow: v.elevatedBoxShadowHover\n      })\n    }, borderFocusStyles, p.actionable && {\n      cursor: 'pointer',\n      ':focus-visible': Object.assign({\n        backgroundColor: v.backgroundColorFocus\n      }, p.ghost && {\n        backgroundColor: v.ghostBackgroundColorFocus\n      }, p.inverted && {\n        backgroundColor: v.invertedBackgroundColorFocus\n      }, p.selected && {\n        backgroundColor: v.selectedBackgroundColorFocus\n      }, {\n        boxShadow: v.boxShadowFocus\n      }, p.elevated && {\n        boxShadow: v.elevatedBoxShadowFocus\n      }, borderFocusStyles[':focus-visible']),\n      ':active': Object.assign({\n        backgroundColor: v.backgroundColorPressed\n      }, p.ghost && {\n        backgroundColor: v.ghostBackgroundColorPressed\n      }, p.inverted && {\n        backgroundColor: v.invertedBackgroundColorPressed\n      }, p.selected && {\n        backgroundColor: v.selectedBackgroundColorPressed\n      }, {\n        borderColor: v.borderColorPressed,\n        boxShadow: v.boxShadowPressed\n      }, p.elevated && {\n        boxShadow: v.elevatedBoxShadowPressed\n      })\n    }, p.size === 'small' && {\n      width: v.sizeSmallWidth,\n      height: v.sizeSmallHeight,\n      padding: v.sizeSmallPadding\n    }, p.size === 'large' && {\n      width: v.sizeLargeWidth,\n      height: v.sizeLargeHeight,\n      padding: v.sizeLargePadding\n    }, p.fluid && {\n      width: v.fluidWidth,\n      height: v.fluidHeight\n    }, p.horizontal && {\n      flexDirection: 'row'\n    }, p.compact && {\n      padding: v.compactPadding\n    }, p.centered && {\n      alignItems: 'center'\n    }, p.disabled && Object.assign({\n      cursor: 'not-allowed',\n      color: v.colorDisabled,\n      backgroundColor: v.backgroundColorDisabled,\n      borderColor: v.borderColorDisabled,\n      boxShadow: v.boxShadowDisabled\n    }, p.inverted && {\n      backgroundColor: v.invertedBackgroundColorDisabled\n    }, p.ghost && {\n      backgroundColor: v.ghostBackgroundColorDisabled\n    }, p.selected && {\n      backgroundColor: v.selectedBackgroundColorDisabled\n    }, {\n      ':hover': {\n        boxShadow: v.boxShadowDisabled\n      },\n      ':focus-visible': Object.assign({\n        boxShadow: v.boxShadowDisabled\n      }, borderFocusStyles[':focus-visible']),\n      ':active': {\n        boxShadow: v.boxShadowDisabled\n      }\n    }), p.expandable && (_ref2 = {}, _ref2[\"& .\" + cardExpandableBoxClassName] = {\n      maxHeight: v.expandableBoxStartMaxHeight,\n      transition: v.expandableBoxExpandTransition,\n      overflow: 'hidden'\n    }, _ref2[\"&:hover .\" + cardExpandableBoxClassName] = {\n      maxHeight: v.expandableBoxEndMaxHeight,\n      transition: v.expandableBoxExpandTransition\n    }, _ref2[\"&:focus .\" + cardExpandableBoxClassName] = {\n      maxHeight: v.expandableBoxEndMaxHeight,\n      transition: v.expandableBoxExpandTransition\n    }, _ref2));\n  }\n};\n//# sourceMappingURL=cardStyles.js.map\n","export var cardHeaderStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        p = _ref.props;\n    return Object.assign({\n      display: 'flex',\n      flexDirection: 'column',\n      margin: v.headerMargin\n    }, p.fitted && {\n      margin: v.fittedHeaderMargin\n    });\n  }\n};\n//# sourceMappingURL=cardHeaderStyles.js.map\n","export var cardBodyStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        p = _ref.props;\n    return Object.assign({\n      display: 'flex',\n      flexDirection: 'column',\n      margin: v.bodyMargin\n    }, p.fitted && {\n      margin: v.fittedBodyMargin\n    });\n  }\n};\n//# sourceMappingURL=cardBodyStyles.js.map\n","export var cardFooterStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables,\n        p = _ref.props;\n    return Object.assign({\n      display: 'flex',\n      flexDirection: 'column',\n      margin: v.footerMargin\n    }, p.fitted && {\n      margin: v.fittedFooterMargin\n    });\n  }\n};\n//# sourceMappingURL=cardFooterStyles.js.map\n","export var cardPreviewStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      margin: v.previewMargin\n    }, p.horizontal && {\n      margin: v.previewMarginHorizontal\n    }, p.fitted && {\n      margin: v.fittedPreviewMargin\n    });\n  }\n};\n//# sourceMappingURL=cardPreviewStyles.js.map\n","export var cardTopControlsStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      position: 'absolute',\n      top: v.topControlsTop,\n      right: v.topControlsRight\n    };\n  }\n};\n//# sourceMappingURL=cardTopControlsStyles.js.map\n","export var cardExpandableBoxStyles = {\n  root: function root() {\n    return {\n      display: 'flex'\n    };\n  }\n};\n//# sourceMappingURL=cardExpandableBoxStyles.js.map\n","import { inputSlotClassNames } from '../../../../components/Input/Input';\nexport var datepickerStyles = {\n  root: function root(_ref) {\n    var _ref2;\n\n    var p = _ref.props;\n    return Object.assign({}, !p.allowManualInput && (_ref2 = {}, _ref2[\"& .\" + inputSlotClassNames.input] = {\n      cursor: 'pointer'\n    }, _ref2));\n  }\n};\n//# sourceMappingURL=datepickerStyles.js.map\n","export var datepickerCalendarStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      minHeight: v.calendarMinHeight\n    };\n  }\n};\n//# sourceMappingURL=datepickerCalendarStyles.js.map\n","export var datepickerCalendarHeaderStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      display: 'flex',\n      alignItems: 'center',\n      paddingTop: v.calendarHeaderPaddingTop,\n      paddingBottom: v.calendarHeaderPaddingBottom\n    };\n  },\n  label: function label(_ref2) {\n    var v = _ref2.variables;\n    return {\n      fontWeight: v.calendarHeaderLabelFontWeight,\n      flexGrow: 1,\n      paddingLeft: v.calendarHeaderLabelPaddingLeft\n    };\n  }\n};\n//# sourceMappingURL=datepickerCalendarHeaderStyles.js.map\n","export var datepickerCalendarHeaderCellStyles = {\n  root: function root(_ref) {\n    var v = _ref.variables;\n    return {\n      textAlign: 'center',\n      verticalAlign: 'middle',\n      fontWeight: v.calendarHeaderCellFontWeight,\n      height: v.calendarHeaderCellHeight,\n      width: v.calendarHeaderCellWidth,\n      padding: v.calendarHeaderCellPadding,\n      display: 'table-cell'\n    };\n  }\n};\n//# sourceMappingURL=datepickerCalendarHeaderCellStyles.js.map\n","export var datepickerCalendarCellStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({\n      height: v.calendarCellHeight,\n      width: v.calendarCellWidth,\n      padding: v.calendarCellPadding,\n      ':hover': {\n        backgroundColor: v.calendarCellHoverBackgroundColor,\n        color: v.calendarCellHoverColor\n      }\n    }, p.quiet && {\n      color: v.calendarCellQuietColor\n    }, p.selected && {\n      color: v.calendarCellSelectedColor,\n      backgroundColor: v.calendarCellSelectedBackgroundColor\n    }, p.disabled && {\n      color: v.calendarCellDisabledColor,\n      cursor: 'default',\n      backgroundColor: v.calendarCellDisabledBackgroundColor,\n      ':hover': {}\n    });\n  }\n};\n//# sourceMappingURL=datepickerCalendarCellStyles.js.map\n","import { getBorderFocusStyles } from '../../getBorderFocusStyles';\nexport var datepickerCalendarCellButtonStyles = {\n  root: function root(_ref) {\n    var p = _ref.props,\n        v = _ref.variables,\n        theme = _ref.theme;\n    var siteVariables = theme.siteVariables;\n    var borderWidth = siteVariables.borderWidth;\n    var borderFocusStyles = getBorderFocusStyles({\n      variables: siteVariables,\n      borderPadding: borderWidth\n    });\n    return Object.assign({\n      textAlign: 'center',\n      height: '100%',\n      width: '100%',\n      cursor: 'pointer',\n      border: v.calendarCellBorder,\n      padding: v.calendarCellPadding,\n      margin: v.calendarCellMargin,\n      display: 'table-cell',\n      position: 'relative'\n    }, borderFocusStyles, {\n      backgroundColor: v.calendarCellBackgroundColor,\n      color: v.calendarCellColor,\n      ':hover': {\n        backgroundColor: v.calendarCellHoverBackgroundColor,\n        color: v.calendarCellHoverColor\n      }\n    }, p.quiet && {\n      color: v.calendarCellQuietColor\n    }, p.selected && {\n      color: v.calendarCellSelectedColor,\n      backgroundColor: v.calendarCellSelectedBackgroundColor\n    }, p.disabled && {\n      color: v.calendarCellDisabledColor,\n      cursor: 'default',\n      backgroundColor: v.calendarCellDisabledBackgroundColor,\n      ':hover': {}\n    }, p.today && {\n      backgroundColor: v.calendarCellTodayBackgroundColor,\n      color: v.calendarCellTodayColor,\n      borderRadius: v.calendarCellTodayBorderRadius\n    });\n  }\n};\n//# sourceMappingURL=datepickerCalendarCellButtonStyles.js.map\n","export var datepickerCalendarGridStyles = {\n  root: function root() {\n    return {\n      'border-spacing': '0rem',\n      tableLayout: 'fixed'\n    };\n  }\n};\n//# sourceMappingURL=datepickerCalendarGridStyles.js.map\n","import { datepickerCalendarCellButtonClassName } from '../../../../components/Datepicker/DatepickerCalendarCellButton';\nexport var datepickerCalendarGridRowStyles = {\n  root: function root(_ref) {\n    var _ref2;\n\n    var p = _ref.props,\n        v = _ref.variables;\n    return Object.assign({}, p.isRowSelectionActive && (_ref2 = {}, _ref2[\":hover .\" + datepickerCalendarCellButtonClassName] = {\n      backgroundColor: v.calendarCellHoverBackgroundColor,\n      color: v.calendarCellHoverColor\n    }, _ref2));\n  }\n};\n//# sourceMappingURL=datepickerCalendarGridRowStyles.js.map\n","import { globalStyles } from './globalStyles';\nimport { normalizeCSS } from './normalizeCSS';\nexport var staticStyles = [normalizeCSS, globalStyles];\n//# sourceMappingURL=index.js.map\n","// TODO: this would have to be packaged as a string or object during the build step\n//\n// import normalizeCSS from 'normalize.css'\n// Taken from https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css\nexport var normalizeCSS = \"/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}\";\n//# sourceMappingURL=normalizeCSS.js.map\n","export var globalStyles = function globalStyles(siteVars) {\n  return {\n    body: {\n      padding: siteVars.bodyPadding,\n      margin: siteVars.bodyMargin,\n      fontFamily: siteVars.bodyFontFamily,\n      fontSize: siteVars.bodyFontSize,\n      lineHeight: siteVars.bodyLineHeight\n    },\n    '*': {\n      boxSizing: 'border-box'\n    },\n    '*:before': {\n      boxSizing: 'border-box'\n    },\n    '*:after': {\n      boxSizing: 'border-box'\n    },\n\n    /* Adding priority for HTML `hidden` attribute to be applied correctly */\n    '[hidden]': {\n      display: 'none!important'\n    }\n  };\n};\n//# sourceMappingURL=globalStyles.js.map\n","import { createTheme } from '@fluentui/styles';\nimport { animations } from './animations';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nimport * as componentStyles from './componentStyles';\nimport { fontFaces } from './fontFaces';\nimport { staticStyles } from './staticStyles';\nexport var teamsTheme = createTheme({\n  siteVariables: siteVariables,\n  componentVariables: componentVariables,\n  componentStyles: componentStyles,\n  fontFaces: fontFaces,\n  staticStyles: staticStyles,\n  animations: animations\n}, 'teams');\n//# sourceMappingURL=index.js.map\n","export var fontFaces = [{\n  name: 'Segoe UI',\n  paths: ['https://res-1.cdn.office.net/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-regular.woff2'],\n  props: {\n    fontWeight: 400\n  }\n}, {\n  name: 'Segoe UI',\n  paths: ['https://res-1.cdn.office.net/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-semibold.woff2'],\n  props: {\n    fontWeight: 600\n  }\n}, {\n  name: 'Segoe UI',\n  paths: ['https://res-1.cdn.office.net/files/fabric/assets/fonts/segoeui-westeuropean/segoeui-bold.woff2'],\n  props: {\n    fontWeight: 700\n  }\n}];\n//# sourceMappingURL=fontFaces.js.map\n","import { SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n/**\n * @description\n * Provides navigation inside the inner focus zone using Tab key\n * @specification\n *  Adds role='radio'. This allows screen readers to handle the component as a radio button.\n *  Adds attribute 'aria-checked=true' based on the property 'checked'.\n *  Adds attribute 'aria-disabled=true' based on the property 'disabled'. This can be overriden by providing 'aria-disabled' property directly to the component.\n *  Adds attribute 'data-is-focusable=true' based on the property 'checked'.\n *  Triggers 'performClick' action with 'Spacebar' on 'root'.\n *  Implements roving tabIndex.\n */\n\nexport var radioGroupItemBehavior = function radioGroupItemBehavior(props) {\n  var _ref;\n\n  return {\n    attributes: {\n      root: Object.assign({\n        role: 'radio',\n        tabIndex: props.checked ? 0 : -1\n      }, props.checked && (_ref = {}, _ref[IS_FOCUSABLE_ATTRIBUTE] = true, _ref), {\n        'aria-checked': props.checked,\n        'aria-disabled': props.disabled\n      })\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=radioGroupItemBehavior.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RadioButtonIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M8,1A7,7,0,1,1,1,8,7.008,7.008,0,0,1,8,1M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8,1A7,7,0,1,1,1,8,7.008,7.008,0,0,1,8,1M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0Z\"\n    }), /*#__PURE__*/React.createElement(\"circle\", {\n      cx: \"8\",\n      cy: \"8\",\n      r: \"5\"\n    })));\n  },\n  displayName: 'RadioButtonIcon'\n});\n//# sourceMappingURL=RadioButtonIcon.js.map\n","import _invoke from \"lodash/invoke\";\nimport { radioGroupItemBehavior } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { createShorthandFactory, commonPropTypes, shouldPreventDefaultOnKeyDown } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { useAutoControlled, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { RadioButtonIcon } from '@fluentui/react-icons-northstar';\nexport var radioGroupItemClassName = 'ui-radiogroup__item';\nexport var radioGroupItemSlotClassNames = {\n  indicator: radioGroupItemClassName + \"__indicator\",\n  label: radioGroupItemClassName + \"__label\"\n};\n\n/**\n * A RadioGroupItem represents single input element within a RadioGroup.\n *\n * @accessibility\n * Radio items need to be grouped to correctly handle accessibility.\n */\nexport var RadioGroupItem = /*#__PURE__*/function () {\n  var RadioGroupItem = function RadioGroupItem(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(RadioGroupItem.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var label = props.label,\n        checkedIndicator = props.checkedIndicator,\n        indicator = props.indicator,\n        disabled = props.disabled,\n        vertical = props.vertical,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        shouldFocus = props.shouldFocus;\n    var elementRef = React.useRef();\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(RadioGroupItem.handledProps, props);\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultChecked,\n      value: props.checked,\n      initialValue: false\n    }),\n        checked = _useAutoControlled[0],\n        setChecked = _useAutoControlled[1];\n\n    var prevChecked = React.useRef(checked);\n\n    var handleClick = function handleClick(e) {\n      _invoke(props, 'onClick', e, props);\n\n      setChecked(function (prevChecked) {\n        return !prevChecked;\n      });\n    }; // This behavior is not conformant with native input radio, it was added to avoid breaking change\n    // and it should be fixed to be conformant with native, only calling onChange when item is clicked (checked will always be true)\n\n\n    React.useEffect(function () {\n      if (prevChecked.current !== checked) {\n        _invoke(props, 'onChange', undefined, Object.assign({}, props, {\n          checked: checked\n        }));\n\n        prevChecked.current = checked;\n      }\n    });\n    React.useEffect(function () {\n      if (checked && shouldFocus) elementRef.current.focus();\n    }, [checked, shouldFocus]);\n\n    var _useStyles = useStyles(RadioGroupItem.displayName, {\n      className: radioGroupItemClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          vertical: vertical,\n          disabled: disabled,\n          checked: checked\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: RadioGroupItem.displayName,\n      actionHandlers: {\n        performClick: function performClick(e) {\n          if (shouldPreventDefaultOnKeyDown(e)) {\n            e.preventDefault();\n          }\n\n          handleClick(e);\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          checked: checked,\n          disabled: disabled\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var handleChange = function handleChange(e) {\n      // RadioGroupItem component doesn't present any `input` component in markup, however all of our\n      // components should handle events transparently.\n      _invoke(props, 'onChange', e, Object.assign({}, props, {\n        checked: checked\n      }));\n    };\n\n    var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(Ref, {\n      innerRef: elementRef\n    }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick,\n      onChange: handleChange\n    }, unhandledProps)), Box.create(checked ? checkedIndicator : indicator, {\n      defaultProps: function defaultProps() {\n        return {\n          className: radioGroupItemSlotClassNames.indicator,\n          styles: resolvedStyles.indicator\n        };\n      }\n    }), Box.create(label, {\n      defaultProps: function defaultProps() {\n        return {\n          as: 'span',\n          className: radioGroupItemSlotClassNames.label,\n          styles: resolvedStyles.label\n        };\n      }\n    }))));\n    setEnd();\n    return element;\n  };\n\n  RadioGroupItem.displayName = 'RadioGroupItem';\n  RadioGroupItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    checked: PropTypes.bool,\n    defaultChecked: PropTypes.bool,\n    disabled: PropTypes.bool,\n    indicator: customPropTypes.shorthandAllowingChildren,\n    checkedIndicator: customPropTypes.shorthandAllowingChildren,\n    label: customPropTypes.itemShorthand,\n    name: PropTypes.string,\n    onClick: PropTypes.func,\n    onChange: PropTypes.func,\n    shouldFocus: PropTypes.bool,\n    value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    vertical: PropTypes.bool\n  });\n  RadioGroupItem.defaultProps = {\n    accessibility: radioGroupItemBehavior,\n    indicator: /*#__PURE__*/React.createElement(RadioButtonIcon, {\n      outline: true\n    }),\n    checkedIndicator: /*#__PURE__*/React.createElement(RadioButtonIcon, null)\n  };\n  RadioGroupItem.handledProps = Object.keys(RadioGroupItem.propTypes);\n  RadioGroupItem.create = createShorthandFactory({\n    Component: RadioGroupItem,\n    mappedProp: 'label'\n  });\n  return RadioGroupItem;\n}();\n//# sourceMappingURL=RadioGroupItem.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\nimport { menuItemBehavior } from './menuItemBehavior';\n/**\n * @description\n * The 'menu' role is used to identify an element that creates a list of common actions or functions that a user can invoke.\n *\n * @specification\n * Adds role='menu'.\n * Provides arrow key navigation in vertical direction.\n * Keyboard navigation is circular.\n * Component will get focus when mounted.\n */\n\nexport var submenuBehavior = function submenuBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'menu'\n      }\n    },\n    focusZone: {\n      props: {\n        isCircularNavigation: true,\n        shouldFocusOnMount: true,\n        direction: FocusZoneDirection.vertical\n      }\n    },\n    childBehaviors: {\n      item: menuItemBehavior\n    }\n  };\n};\n//# sourceMappingURL=submenuBehavior.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport { submenuBehavior, menuItemBehavior } from '@fluentui/accessibility';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { compose, focusAsync, mergeVariablesOverrides, useTelemetry, useAutoControlled, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useStyles, useContextSelectors } from '@fluentui/react-bindings';\nimport { Ref, handleRef } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthand, doesNodeContainClick, commonPropTypes, isFromKeyboard as isEventFromKeyboard, setWhatInputSource } from '../../utils';\nimport { Menu } from './Menu';\nimport { MenuItemIcon } from './MenuItemIcon';\nimport { MenuItemContent } from './MenuItemContent';\nimport { MenuItemIndicator } from './MenuItemIndicator';\nimport { MenuItemWrapper } from './MenuItemWrapper';\nimport { Popper, partitionPopperPropsFromShorthand } from '../../utils/positioner';\nimport { MenuContext } from './menuContext';\nexport var menuItemClassName = 'ui-menu__item';\nexport var menuItemSlotClassNames = {\n  submenu: menuItemClassName + \"__submenu\"\n};\n/**\n * A MenuItem is an actionable item within a Menu.\n */\n\nexport var MenuItem = /*#__PURE__*/function () {\n  var MenuItem = compose(function (inputProps, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var parentProps = useContextSelectors(MenuContext, {\n      active: function active(v) {\n        return v.activeIndex === inputProps.index;\n      },\n      onItemClick: function onItemClick(v) {\n        return v.onItemClick;\n      },\n      onItemSelect: function onItemSelect(v) {\n        return v.onItemSelect;\n      },\n      variables: function variables(v) {\n        return v.variables;\n      },\n      menuSlot: function menuSlot(v) {\n        return v.slots.menu;\n      },\n      slotProps: function slotProps(v) {\n        return v.slotProps.item;\n      },\n      accessibility: function accessibility(v) {\n        return v.behaviors.item;\n      }\n    }); // TODO: we should improve typings for the useContextSelectors\n\n    var props = Object.assign({}, parentProps.slotProps, {\n      active: parentProps.active,\n      variables: parentProps.variables,\n      accessibility: parentProps.accessibility\n    }, inputProps);\n    var _props$accessibility = props.accessibility,\n        accessibility = _props$accessibility === void 0 ? menuItemBehavior : _props$accessibility,\n        children = props.children,\n        content = props.content,\n        icon = props.icon,\n        wrapper = props.wrapper,\n        primary = props.primary,\n        secondary = props.secondary,\n        active = props.active,\n        vertical = props.vertical,\n        indicator = props.indicator,\n        disabled = props.disabled,\n        underlined = props.underlined,\n        iconOnly = props.iconOnly,\n        inSubmenu = props.inSubmenu,\n        pills = props.pills,\n        pointing = props.pointing,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        on = props.on;\n\n    var _partitionPopperProps = partitionPopperPropsFromShorthand(props.menu),\n        menu = _partitionPopperProps[0],\n        positioningProps = _partitionPopperProps[1];\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultMenuOpen,\n      value: props.menuOpen,\n      initialValue: false\n    }),\n        menuOpen = _useAutoControlled[0],\n        setMenuOpen = _useAutoControlled[1];\n\n    var _React$useState = React.useState(false),\n        isFromKeyboard = _React$useState[0],\n        setIsFromKeyboard = _React$useState[1];\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var slotProps = composeOptions.resolveSlotProps(Object.assign({}, props, {\n      accessibility: accessibility,\n      variables: mergeVariablesOverrides(variables, parentProps.variables),\n      isFromKeyboard: isFromKeyboard,\n      menuOpen: menuOpen\n    }));\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      actionHandlers: {\n        performClick: function performClick(event) {\n          return !event.defaultPrevented && handleClick(event);\n        },\n        openMenu: function (_openMenu) {\n          function openMenu(_x) {\n            return _openMenu.apply(this, arguments);\n          }\n\n          openMenu.toString = function () {\n            return _openMenu.toString();\n          };\n\n          return openMenu;\n        }(function (event) {\n          return openMenu(event);\n        }),\n        closeAllMenusAndFocusNextParentItem: function closeAllMenusAndFocusNextParentItem(event) {\n          return closeAllMenus(event);\n        },\n        closeMenu: function (_closeMenu) {\n          function closeMenu(_x2) {\n            return _closeMenu.apply(this, arguments);\n          }\n\n          closeMenu.toString = function () {\n            return _closeMenu.toString();\n          };\n\n          return closeMenu;\n        }(function (event) {\n          return closeMenu(event);\n        }),\n        closeMenuAndFocusTrigger: function closeMenuAndFocusTrigger(event) {\n          return closeMenu(event, true);\n        },\n        doNotNavigateNextParentItem: function doNotNavigateNextParentItem(event) {\n          event.stopPropagation();\n        },\n        closeAllMenus: function (_closeAllMenus) {\n          function closeAllMenus(_x3) {\n            return _closeAllMenus.apply(this, arguments);\n          }\n\n          closeAllMenus.toString = function () {\n            return _closeAllMenus.toString();\n          };\n\n          return closeAllMenus;\n        }(function (event) {\n          return closeAllMenus(event);\n        })\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          menuOpen: menuOpen,\n          hasMenu: !!menu,\n          disabled: disabled,\n          vertical: vertical,\n          active: active // for tabBehavior\n\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(MenuItem.displayName, {\n      className: composeOptions.className,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          primary: primary,\n          underlined: underlined,\n          active: active,\n          vertical: vertical,\n          pointing: pointing,\n          secondary: secondary,\n          disabled: disabled,\n          iconOnly: iconOnly,\n          pills: pills,\n          inSubmenu: inSubmenu,\n          isFromKeyboard: isFromKeyboard\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergeVariablesOverrides(parentProps.variables, variables)\n        };\n      },\n      rtl: context.rtl,\n      composeOptions: composeOptions,\n      unstable_props: Object.assign({}, props, {\n        menuOpen: menuOpen,\n        isFromKeyboard: isFromKeyboard\n      })\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var menuRef = React.useRef();\n    var itemRef = React.useRef();\n\n    var handleWrapperBlur = function handleWrapperBlur(e) {\n      if (!props.inSubmenu && !e.currentTarget.contains(e.relatedTarget)) {\n        trySetMenuOpen(false, e);\n      }\n    };\n\n    var dismissOnScroll = function dismissOnScroll(e) {\n      if (!isSubmenuOpen()) return; // we only need to dismiss if the scroll happens outside the menu\n\n      if (!menuRef.current.contains(e.target)) {\n        trySetMenuOpen(false, e);\n      }\n    };\n\n    var outsideClickHandler = function outsideClickHandler(e) {\n      if (!isSubmenuOpen()) return;\n\n      if (!doesNodeContainClick(itemRef.current, e, context.target) && !doesNodeContainClick(menuRef.current, e, context.target)) {\n        trySetMenuOpen(false, e);\n      }\n    };\n\n    var performClick = function performClick(e) {\n      if (menu) {\n        if (doesNodeContainClick(menuRef.current, e, context.target)) {\n          // submenu was clicked => close it and propagate\n          trySetMenuOpen(false, e, function () {\n            return focusAsync(itemRef.current);\n          });\n        } else {\n          // the menuItem element was clicked => toggle the open/close and stop propagation\n          trySetMenuOpen(active && on !== 'hover' ? !menuOpen : true, e);\n          e.stopPropagation();\n          e.preventDefault();\n        }\n      }\n    };\n\n    var handleClick = function handleClick(e) {\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      performClick(e);\n\n      _invoke(props, 'onClick', e, props);\n\n      _invoke(parentProps, 'onItemClick', e, props);\n    };\n\n    var handleBlur = function handleBlur(e) {\n      setIsFromKeyboard(false);\n\n      _invoke(props, 'onBlur', e, props);\n    };\n\n    var handleFocus = function handleFocus(e) {\n      setIsFromKeyboard(isEventFromKeyboard());\n\n      _invoke(props, 'onFocus', e, props);\n    };\n\n    var isSubmenuOpen = function isSubmenuOpen() {\n      return !!(menu && menuOpen);\n    };\n\n    var closeAllMenus = function closeAllMenus(e) {\n      if (!isSubmenuOpen()) {\n        return;\n      }\n\n      trySetMenuOpen(false, e, function () {\n        if (!inSubmenu) {\n          focusAsync(itemRef.current);\n        }\n      }); // avoid spacebar scrolling the page\n\n      if (!inSubmenu) {\n        e.preventDefault();\n      }\n    };\n\n    var closeMenu = function closeMenu(e, forceTriggerFocus) {\n      if (!isSubmenuOpen()) {\n        return;\n      }\n\n      var shouldStopPropagation = inSubmenu || props.vertical;\n      trySetMenuOpen(false, e, function () {\n        if (forceTriggerFocus || shouldStopPropagation) {\n          focusAsync(itemRef.current);\n        }\n      });\n\n      if (forceTriggerFocus || shouldStopPropagation) {\n        e.stopPropagation();\n      }\n    };\n\n    var openMenu = function openMenu(e) {\n      if (menu && !menuOpen) {\n        trySetMenuOpen(true, e);\n\n        _invoke(props, 'onActiveChanged', e, Object.assign({}, props, {\n          active: true\n        }));\n\n        e.stopPropagation();\n        e.preventDefault();\n      }\n    };\n\n    var rootHandlers = Object.assign({}, !wrapper && Object.assign({\n      onClick: handleClick\n    }, on === 'hover' && {\n      onMouseEnter: function onMouseEnter(e) {\n        setWhatInputSource(context.target, 'mouse');\n        trySetMenuOpen(true, e);\n\n        _invoke(props, 'onMouseEnter', e, props);\n\n        _invoke(parentProps, 'onItemSelect', e, props.index);\n      },\n      onMouseLeave: function onMouseLeave(e) {\n        trySetMenuOpen(false, e);\n\n        _invoke(props, 'onMouseLeave', e, props);\n      }\n    }));\n\n    var trySetMenuOpen = function trySetMenuOpen(newValue, e, onStateChanged) {\n      setMenuOpen(newValue); // The reason why post-effect is not passed as callback to trySetState method\n      // is that in 'controlled' mode the post-effect is applied before final re-rendering\n      // which cause a broken behavior: for e.g. when it is needed to focus submenu trigger on ESC.\n      // TODO: all DOM post-effects should be applied at componentDidMount & componentDidUpdated stages.\n\n      onStateChanged && onStateChanged();\n\n      _invoke(props, 'onMenuOpenChange', e, Object.assign({}, props, {\n        menuOpen: newValue\n      }));\n    };\n\n    var menuItemInner = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: function innerRef(node) {\n        itemRef.current = node;\n        handleRef(ref, node);\n      }\n    }, /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n      className: classes.root,\n      disabled: disabled,\n      onBlur: handleBlur,\n      onFocus: handleFocus,\n      onClick: handleClick\n    }, unhandledProps)), rootHandlers), childrenExist(children) ? children : /*#__PURE__*/React.createElement(React.Fragment, null, createShorthand(composeOptions.slots.icon, icon, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('icon', slotProps.icon);\n      }\n    }), createShorthand(composeOptions.slots.content, content, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('content', slotProps.content);\n      }\n    }), menu && createShorthand(composeOptions.slots.indicator, indicator, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('indicator', slotProps.indicator);\n      }\n    }))));\n\n    var handleWrapperOverrides = function handleWrapperOverrides(predefinedProps) {\n      return Object.assign({\n        onBlur: function onBlur(e) {\n          handleWrapperBlur(e);\n\n          _invoke(predefinedProps, 'onBlur', e, props);\n        }\n      }, on === 'hover' && {\n        onMouseEnter: function onMouseEnter(e) {\n          setWhatInputSource(context.target, 'mouse');\n          trySetMenuOpen(true, e);\n\n          _invoke(predefinedProps, 'onMouseEnter', e, props);\n\n          _invoke(parentProps, 'onItemSelect', e, props.index);\n        },\n        onMouseLeave: function onMouseLeave(e) {\n          trySetMenuOpen(false, e);\n\n          _invoke(predefinedProps, 'onMouseLeave', e, props);\n        }\n      });\n    };\n\n    var maybeSubmenu = menu && active && menuOpen ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n      innerRef: menuRef\n    }, /*#__PURE__*/React.createElement(Popper, _extends({\n      align: vertical ? 'top' : context.rtl ? 'end' : 'start',\n      position: vertical ? context.rtl ? 'before' : 'after' : 'below',\n      targetRef: itemRef\n    }, positioningProps), createShorthand(parentProps.menuSlot || composeOptions.slots.menu || Menu, menu, {\n      defaultProps: function defaultProps() {\n        return Object.assign({}, slotProps.menu, {\n          styles: resolvedStyles.menu\n        });\n      },\n      overrideProps: function overrideProps(predefinedProps) {\n        return {\n          onClick: function onClick(e) {\n            handleClick(e);\n\n            _invoke(predefinedProps, 'onClick', e, props);\n          }\n        };\n      }\n    }))), /*#__PURE__*/React.createElement(EventListener, {\n      listener: outsideClickHandler,\n      target: context.target,\n      type: \"click\"\n    }), /*#__PURE__*/React.createElement(EventListener, {\n      listener: dismissOnScroll,\n      target: context.target,\n      type: \"wheel\",\n      capture: true\n    }), /*#__PURE__*/React.createElement(EventListener, {\n      listener: dismissOnScroll,\n      target: context.target,\n      type: \"touchmove\",\n      capture: true\n    })) : null;\n\n    if (wrapper) {\n      var wrapperElement = createShorthand(composeOptions.slots.wrapper, wrapper, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('wrapper', slotProps.wrapper);\n        },\n        overrideProps: function overrideProps(predefinedProps) {\n          return Object.assign({\n            children: /*#__PURE__*/React.createElement(React.Fragment, null, menuItemInner, maybeSubmenu)\n          }, handleWrapperOverrides(predefinedProps));\n        }\n      });\n      setEnd();\n      return wrapperElement;\n    }\n\n    setEnd();\n    return menuItemInner;\n  }, {\n    displayName: 'MenuItem',\n    className: menuItemClassName,\n    slots: {\n      icon: MenuItemIcon,\n      indicator: MenuItemIndicator,\n      content: MenuItemContent,\n      wrapper: MenuItemWrapper\n    },\n    slotProps: function slotProps(props) {\n      return {\n        icon: {\n          hasContent: !!props.content,\n          iconOnly: props.iconOnly\n        },\n        content: {\n          hasIcon: !!props.icon,\n          hasMenu: !!props.menu,\n          inSubmenu: props.inSubmenu,\n          vertical: props.vertical\n        },\n        indicator: {\n          iconOnly: props.iconOnly,\n          vertical: props.vertical,\n          inSubmenu: props.inSubmenu,\n          active: props.active,\n          primary: props.primary,\n          underlined: props.underlined\n        },\n        wrapper: {\n          active: props.active,\n          disabled: props.disabled,\n          iconOnly: props.iconOnly,\n          isFromKeyboard: props.isFromKeyboard,\n          pills: props.pills,\n          pointing: props.pointing,\n          secondary: props.secondary,\n          underlined: props.underlined,\n          vertical: props.vertical,\n          primary: props.primary,\n          on: props.on,\n          variables: props.variables\n        },\n        menu: {\n          accessibility: submenuBehavior,\n          className: menuItemSlotClassNames.submenu,\n          vertical: true,\n          primary: props.primary,\n          secondary: props.secondary,\n          submenu: true,\n          indicator: props.indicator\n        }\n      };\n    },\n    handledProps: ['accessibility', 'as', 'on', 'children', 'className', 'content', 'design', 'active', 'disabled', 'icon', 'iconOnly', 'index', 'itemPosition', 'itemsCount', 'onClick', 'onFocus', 'onBlur', 'pills', 'pointing', 'primary', 'secondary', 'underlined', 'vertical', 'wrapper', 'menu', 'menuOpen', 'defaultMenuOpen', 'onActiveChanged', 'inSubmenu', 'indicator', 'onMenuOpenChange', 'styles', 'variables'],\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  MenuItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: 'shorthand'\n  }), {\n    active: PropTypes.bool,\n    disabled: PropTypes.bool,\n    icon: customPropTypes.shorthandAllowingChildren,\n    on: PropTypes.oneOf(['hover']),\n    iconOnly: PropTypes.bool,\n    index: PropTypes.number,\n    itemPosition: PropTypes.number,\n    itemsCount: PropTypes.number,\n    onClick: PropTypes.func,\n    onFocus: PropTypes.func,\n    onBlur: PropTypes.func,\n    pills: PropTypes.bool,\n    pointing: PropTypes.oneOf(['start', 'end', true, false]),\n    primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n    secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n    underlined: PropTypes.bool,\n    vertical: PropTypes.bool,\n    wrapper: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n    menu: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n    menuOpen: PropTypes.bool,\n    defaultMenuOpen: PropTypes.bool,\n    onActiveChanged: PropTypes.func,\n    inSubmenu: PropTypes.bool,\n    indicator: customPropTypes.shorthandAllowingChildren,\n    onMenuOpenChange: PropTypes.func\n  });\n  MenuItem.defaultProps = {\n    as: 'a',\n    wrapper: {},\n    indicator: {}\n  };\n  return MenuItem;\n}();\n//# sourceMappingURL=MenuItem.js.map\n","/**\n * @description\n * Add tabIndex to 0 if active and -1 if not\n * @specification\n * Adds role='option'.\n * Adds attribute 'aria-hidden=true' to 'icon' slot.\n */\nexport var dropdownSelectedItemBehavior = function dropdownSelectedItemBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'option',\n        tabIndex: props.active ? 0 : -1\n      },\n      icon: {\n        'aria-hidden': 'true'\n      }\n    }\n  };\n};\n//# sourceMappingURL=dropdownSelectedItemBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport { dropdownSelectedItemBehavior, getCode, keyboardKey } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { CloseIcon } from '@fluentui/react-icons-northstar';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Box } from '../Box/Box';\nimport { useUnhandledProps, useStyles, useFluentContext, useTelemetry, getElementType, useAccessibility } from '@fluentui/react-bindings';\nexport var dropdownSelectedItemClassName = 'ui-dropdown__selecteditem';\nexport var dropdownSelectedItemSlotClassNames = {\n  header: dropdownSelectedItemClassName + \"__header\",\n  icon: dropdownSelectedItemClassName + \"__icon\",\n  image: dropdownSelectedItemClassName + \"__image\"\n};\n\n/**\n * A DropdownSelectedItem represents a selected item of 'multiple-selection' Dropdown.\n */\nexport var DropdownSelectedItem = /*#__PURE__*/function () {\n  var DropdownSelectedItem = function DropdownSelectedItem(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(DropdownSelectedItem.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var active = props.active,\n        header = props.header,\n        icon = props.icon,\n        image = props.image,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var itemRef = React.useRef();\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(DropdownSelectedItem.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: DropdownSelectedItem.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          header: header,\n          active: active\n        };\n      },\n      rtl: context.rtl\n    });\n    React.useEffect(function () {\n      if (active) {\n        itemRef.current.focus();\n      }\n    }, [active]);\n\n    var _useStyles = useStyles(DropdownSelectedItem.displayName, {\n      className: dropdownSelectedItemClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          hasImage: !!image\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var handleClick = function handleClick(e) {\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var handleKeyDown = function handleKeyDown(e) {\n      _invoke(props, 'onKeyDown', e, props);\n    };\n\n    var handleIconOverrides = function handleIconOverrides(iconProps) {\n      return Object.assign({}, iconProps, {\n        onClick: function onClick(e, iconProps) {\n          e.stopPropagation();\n\n          _invoke(props, 'onRemove', e, iconProps);\n\n          _invoke(props, 'onClick', e, iconProps);\n        },\n        onKeyDown: function onKeyDown(e, iconProps) {\n          e.stopPropagation();\n\n          if (getCode(e) === keyboardKey.Enter) {\n            _invoke(props, 'onRemove', e, iconProps);\n          }\n\n          _invoke(props, 'onKeyDown', e, iconProps);\n        }\n      });\n    };\n\n    var headerElement = Box.create(header, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('header', {\n          as: 'span',\n          className: dropdownSelectedItemSlotClassNames.header,\n          styles: resolvedStyles.header\n        });\n      }\n    });\n    var iconElement = Box.create(icon, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('icon', {\n          className: dropdownSelectedItemSlotClassNames.icon,\n          styles: resolvedStyles.icon\n        });\n      },\n      overrideProps: handleIconOverrides\n    });\n    var imageElement = Image.create(image, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('image', {\n          avatar: true,\n          className: dropdownSelectedItemSlotClassNames.image,\n          styles: resolvedStyles.image\n        });\n      }\n    });\n    var element = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: itemRef\n    }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick,\n      onKeyDown: handleKeyDown\n    }, unhandledProps)), imageElement, headerElement, iconElement));\n    setEnd();\n    return element;\n  };\n\n  DropdownSelectedItem.displayName = 'DropdownSelectedItem';\n  DropdownSelectedItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false\n  }), {\n    active: PropTypes.bool,\n    header: customPropTypes.itemShorthand,\n    icon: customPropTypes.shorthandAllowingChildren,\n    image: customPropTypes.itemShorthandWithoutJSX,\n    onClick: PropTypes.func,\n    onKeyDown: PropTypes.func,\n    onRemove: PropTypes.func\n  });\n  DropdownSelectedItem.handledProps = Object.keys(DropdownSelectedItem.propTypes);\n  DropdownSelectedItem.defaultProps = {\n    accessibility: dropdownSelectedItemBehavior,\n    as: 'span',\n    icon: /*#__PURE__*/React.createElement(CloseIcon, null)\n  };\n  DropdownSelectedItem.create = createShorthandFactory({\n    Component: DropdownSelectedItem,\n    mappedProp: 'header'\n  });\n  return DropdownSelectedItem;\n}();\n//# sourceMappingURL=DropdownSelectedItem.js.map\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\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 */\nfunction isNumber(value) {\n  return typeof value == 'number' ||\n    (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { handleRef } from './utils'; // ========================================================\n// react/packages/react-reconciler/src/ReactFiber.js\n// ========================================================\n\n/**\n * Detects if a passed element is a Fiber object instead of an element. Is needed as `ReactDOM.findDOMNode()` returns\n * a Fiber in `react-test-renderer` that can cause issues with tests. Is used only in non-production env.\n *\n * @see https://github.com/facebook/react/issues/7371#issuecomment-317396864\n * @see https://github.com/Semantic-Org/Semantic-UI-React/issues/4061#issuecomment-694895617\n */\nfunction isFiberRef(node) {\n  if (node === null) {\n    return false;\n  }\n\n  if (node instanceof Element || node instanceof Text) {\n    return false;\n  }\n\n  return !!(node.type && node.tag);\n}\n\nexport var RefFindNode = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(RefFindNode, _React$Component);\n\n  function RefFindNode() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this.prevNode = null;\n    return _this;\n  }\n\n  var _proto = RefFindNode.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    var currentNode = ReactDOM.findDOMNode(this);\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (isFiberRef(currentNode)) {\n        currentNode = null;\n      }\n    }\n\n    this.prevNode = currentNode;\n    handleRef(this.props.innerRef, currentNode);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var currentNode = ReactDOM.findDOMNode(this);\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (isFiberRef(currentNode)) {\n        currentNode = null;\n      }\n    }\n\n    if (this.prevNode !== currentNode) {\n      this.prevNode = currentNode;\n      handleRef(this.props.innerRef, currentNode);\n    }\n\n    if (prevProps.innerRef !== this.props.innerRef) {\n      handleRef(this.props.innerRef, currentNode);\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    handleRef(this.props.innerRef, null);\n    delete this.prevNode;\n  };\n\n  _proto.render = function render() {\n    var children = this.props.children;\n    return children;\n  };\n\n  return RefFindNode;\n}(React.Component);\n//# sourceMappingURL=RefFindNode.js.map\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport * as React from 'react';\nimport { handleRef } from './utils';\nexport var RefForward = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(RefForward, _React$Component);\n\n  function RefForward() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this.currentNode = null;\n\n    _this.handleRefOverride = function (node) {\n      var _this$props = _this.props,\n          children = _this$props.children,\n          innerRef = _this$props.innerRef;\n      handleRef(children.ref, node);\n      handleRef(innerRef, node);\n      _this.currentNode = node;\n    };\n\n    return _this;\n  }\n\n  var _proto = RefForward.prototype;\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    if (prevProps.innerRef !== this.props.innerRef) {\n      handleRef(this.props.innerRef, this.currentNode);\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    delete this.currentNode;\n  };\n\n  _proto.render = function render() {\n    var children = this.props.children;\n    return /*#__PURE__*/React.cloneElement(children, {\n      ref: this.handleRefOverride\n    });\n  };\n\n  return RefForward;\n}(React.Component);\n//# sourceMappingURL=RefForward.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport * as React from 'react';\nimport * as ReactIs from 'react-is';\nimport { RefFindNode } from './RefFindNode';\nimport { RefForward } from './RefForward';\nexport var Ref = function Ref(props) {\n  var children = props.children,\n      innerRef = props.innerRef,\n      rest = _objectWithoutPropertiesLoose(props, [\"children\", \"innerRef\"]);\n\n  var child = React.Children.only(children);\n  var ElementType = ReactIs.isForwardRef(child) ? RefForward : RefFindNode;\n  var childWithProps = child && rest && Object.keys(rest).length > 0 ? /*#__PURE__*/React.cloneElement(child, rest) : child;\n  return /*#__PURE__*/React.createElement(ElementType, {\n    innerRef: innerRef\n  }, childWithProps);\n};\n//# sourceMappingURL=Ref.js.map\n","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/**\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 */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var listCacheClear = require('./_listCacheClear'),\n    listCacheDelete = require('./_listCacheDelete'),\n    listCacheGet = require('./_listCacheGet'),\n    listCacheHas = require('./_listCacheHas'),\n    listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\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 */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\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 */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nmodule.exports = getMapData;\n","var defineProperty = require('./_defineProperty');\n\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 */\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;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n  function object() {}\n  return function(proto) {\n    if (!isObject(proto)) {\n      return {};\n    }\n    if (objectCreate) {\n      return objectCreate(proto);\n    }\n    object.prototype = proto;\n    var result = new object;\n    object.prototype = undefined;\n    return result;\n  };\n}());\n\nmodule.exports = baseCreate;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\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 */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\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 */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n  switch (args.length) {\n    case 0: return func.call(thisArg);\n    case 1: return func.call(thisArg, args[0]);\n    case 2: return func.call(thisArg, args[0], args[1]);\n    case 3: return func.call(thisArg, args[0], args[1], args[2]);\n  }\n  return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseToString = require('./_baseToString');\n\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 */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee 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 `array`.\n */\nfunction arrayEach(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (iteratee(array[index], index, array) === false) {\n      break;\n    }\n  }\n  return array;\n}\n\nmodule.exports = arrayEach;\n","var baseFindIndex = require('./_baseFindIndex'),\n    baseIsNaN = require('./_baseIsNaN'),\n    strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n  return value === value\n    ? strictIndexOf(array, value, fromIndex)\n    : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n  var index = -1,\n      length = array.length;\n\n  if (start < 0) {\n    start = -start > length ? 0 : (length + start);\n  }\n  end = end > length ? length : end;\n  if (end < 0) {\n    end += length;\n  }\n  length = start > end ? 0 : ((end - start) >>> 0);\n  start >>>= 0;\n\n  var result = Array(length);\n  while (++index < length) {\n    result[index] = array[index + start];\n  }\n  return result;\n}\n\nmodule.exports = baseSlice;\n","var flatten = require('./flatten'),\n    overRest = require('./_overRest'),\n    setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n  return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var Stack = require('./_Stack'),\n    arrayEach = require('./_arrayEach'),\n    assignValue = require('./_assignValue'),\n    baseAssign = require('./_baseAssign'),\n    baseAssignIn = require('./_baseAssignIn'),\n    cloneBuffer = require('./_cloneBuffer'),\n    copyArray = require('./_copyArray'),\n    copySymbols = require('./_copySymbols'),\n    copySymbolsIn = require('./_copySymbolsIn'),\n    getAllKeys = require('./_getAllKeys'),\n    getAllKeysIn = require('./_getAllKeysIn'),\n    getTag = require('./_getTag'),\n    initCloneArray = require('./_initCloneArray'),\n    initCloneByTag = require('./_initCloneByTag'),\n    initCloneObject = require('./_initCloneObject'),\n    isArray = require('./isArray'),\n    isBuffer = require('./isBuffer'),\n    isMap = require('./isMap'),\n    isObject = require('./isObject'),\n    isSet = require('./isSet'),\n    keys = require('./keys'),\n    keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_FLAT_FLAG = 2,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n *  1 - Deep clone\n *  2 - Flatten inherited properties\n *  4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n  var result,\n      isDeep = bitmask & CLONE_DEEP_FLAG,\n      isFlat = bitmask & CLONE_FLAT_FLAG,\n      isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n  if (customizer) {\n    result = object ? customizer(value, key, object, stack) : customizer(value);\n  }\n  if (result !== undefined) {\n    return result;\n  }\n  if (!isObject(value)) {\n    return value;\n  }\n  var isArr = isArray(value);\n  if (isArr) {\n    result = initCloneArray(value);\n    if (!isDeep) {\n      return copyArray(value, result);\n    }\n  } else {\n    var tag = getTag(value),\n        isFunc = tag == funcTag || tag == genTag;\n\n    if (isBuffer(value)) {\n      return cloneBuffer(value, isDeep);\n    }\n    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n      result = (isFlat || isFunc) ? {} : initCloneObject(value);\n      if (!isDeep) {\n        return isFlat\n          ? copySymbolsIn(value, baseAssignIn(result, value))\n          : copySymbols(value, baseAssign(result, value));\n      }\n    } else {\n      if (!cloneableTags[tag]) {\n        return object ? value : {};\n      }\n      result = initCloneByTag(value, tag, isDeep);\n    }\n  }\n  // Check for circular references and return its corresponding clone.\n  stack || (stack = new Stack);\n  var stacked = stack.get(value);\n  if (stacked) {\n    return stacked;\n  }\n  stack.set(value, result);\n\n  if (isSet(value)) {\n    value.forEach(function(subValue) {\n      result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n    });\n  } else if (isMap(value)) {\n    value.forEach(function(subValue, key) {\n      result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n    });\n  }\n\n  var keysFunc = isFull\n    ? (isFlat ? getAllKeysIn : getAllKeys)\n    : (isFlat ? keysIn : keys);\n\n  var props = isArr ? undefined : keysFunc(value);\n  arrayEach(props || value, function(subValue, key) {\n    if (props) {\n      key = subValue;\n      subValue = value[key];\n    }\n    // Recursively populate clone (susceptible to call stack limits).\n    assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n  });\n  return result;\n}\n\nmodule.exports = baseClone;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var af = moment.defineLocale('af', {\n        months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM: function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Vandag om] LT',\n            nextDay: '[Môre om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[Gister om] LT',\n            lastWeek: '[Laas] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oor %s',\n            past: '%s gelede',\n            s: \"'n paar sekondes\",\n            ss: '%d sekondes',\n            m: \"'n minuut\",\n            mm: '%d minute',\n            h: \"'n uur\",\n            hh: '%d ure',\n            d: \"'n dag\",\n            dd: '%d dae',\n            M: \"'n maand\",\n            MM: '%d maande',\n            y: \"'n jaar\",\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            ); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week: {\n            dow: 1, // Maandag is die eerste dag van die week.\n            doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        },\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var ar = moment.defineLocale('ar', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'جانفي',\n            'فيفري',\n            'مارس',\n            'أفريل',\n            'ماي',\n            'جوان',\n            'جويلية',\n            'أوت',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '1',\n            2: '2',\n            3: '3',\n            4: '4',\n            5: '5',\n            6: '6',\n            7: '7',\n            8: '8',\n            9: '9',\n            0: '0',\n        },\n        pluralForm = function (n) {\n            return n === 0\n                ? 0\n                : n === 1\n                ? 1\n                : n === 2\n                ? 2\n                : n % 100 >= 3 && n % 100 <= 10\n                ? 3\n                : n % 100 >= 11\n                ? 4\n                : 5;\n        },\n        plurals = {\n            s: [\n                'أقل من ثانية',\n                'ثانية واحدة',\n                ['ثانيتان', 'ثانيتين'],\n                '%d ثوان',\n                '%d ثانية',\n                '%d ثانية',\n            ],\n            m: [\n                'أقل من دقيقة',\n                'دقيقة واحدة',\n                ['دقيقتان', 'دقيقتين'],\n                '%d دقائق',\n                '%d دقيقة',\n                '%d دقيقة',\n            ],\n            h: [\n                'أقل من ساعة',\n                'ساعة واحدة',\n                ['ساعتان', 'ساعتين'],\n                '%d ساعات',\n                '%d ساعة',\n                '%d ساعة',\n            ],\n            d: [\n                'أقل من يوم',\n                'يوم واحد',\n                ['يومان', 'يومين'],\n                '%d أيام',\n                '%d يومًا',\n                '%d يوم',\n            ],\n            M: [\n                'أقل من شهر',\n                'شهر واحد',\n                ['شهران', 'شهرين'],\n                '%d أشهر',\n                '%d شهرا',\n                '%d شهر',\n            ],\n            y: [\n                'أقل من عام',\n                'عام واحد',\n                ['عامان', 'عامين'],\n                '%d أعوام',\n                '%d عامًا',\n                '%d عام',\n            ],\n        },\n        pluralize = function (u) {\n            return function (number, withoutSuffix, string, isFuture) {\n                var f = pluralForm(number),\n                    str = plurals[u][pluralForm(number)];\n                if (f === 2) {\n                    str = str[withoutSuffix ? 0 : 1];\n                }\n                return str.replace(/%d/i, number);\n            };\n        },\n        months = [\n            'يناير',\n            'فبراير',\n            'مارس',\n            'أبريل',\n            'مايو',\n            'يونيو',\n            'يوليو',\n            'أغسطس',\n            'سبتمبر',\n            'أكتوبر',\n            'نوفمبر',\n            'ديسمبر',\n        ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/\\u200FM/\\u200FYYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'بعد %s',\n            past: 'منذ %s',\n            s: pluralize('s'),\n            ss: pluralize('s'),\n            m: pluralize('m'),\n            mm: pluralize('m'),\n            h: pluralize('h'),\n            hh: pluralize('h'),\n            d: pluralize('d'),\n            dd: pluralize('d'),\n            M: pluralize('M'),\n            MM: pluralize('M'),\n            y: pluralize('y'),\n            yy: pluralize('y'),\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n            '_'\n        ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ص|م/,\n        isPM: function (input) {\n            return 'م' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale  :  Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n            '_'\n        ),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss: '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı',\n    };\n\n    var az = moment.defineLocale('az', {\n        months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n            '_'\n        ),\n        weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[sabah saat] LT',\n            nextWeek: '[gələn həftə] dddd [saat] LT',\n            lastDay: '[dünən] LT',\n            lastWeek: '[keçən həftə] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s əvvəl',\n            s: 'bir neçə saniyə',\n            ss: '%d saniyə',\n            m: 'bir dəqiqə',\n            mm: '%d dəqiqə',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir il',\n            yy: '%d il',\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM: function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal: function (number) {\n            if (number === 0) {\n                // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = (number % 100) - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            dd: 'дзень_дні_дзён',\n            MM: 'месяц_месяцы_месяцаў',\n            yy: 'год_гады_гадоў',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months: {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n                '_'\n            ),\n            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n                '_'\n            ),\n        },\n        monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(\n            '_'\n        ),\n        weekdays: {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n                '_'\n            ),\n            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n        },\n        weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n        },\n        calendar: {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'праз %s',\n            past: '%s таму',\n            s: 'некалькі секунд',\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithPlural,\n            hh: relativeTimeWithPlural,\n            d: 'дзень',\n            dd: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM: function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) &&\n                        number % 100 !== 12 &&\n                        number % 100 !== 13\n                        ? number + '-і'\n                        : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bg = moment.defineLocale('bg', {\n        months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Днес в] LT',\n            nextDay: '[Утре в] LT',\n            nextWeek: 'dddd [в] LT',\n            lastDay: '[Вчера в] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Миналата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Миналия] dddd [в] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'след %s',\n            past: 'преди %s',\n            s: 'няколко секунди',\n            ss: '%d секунди',\n            m: 'минута',\n            mm: '%d минути',\n            h: 'час',\n            hh: '%d часа',\n            d: 'ден',\n            dd: '%d дена',\n            w: 'седмица',\n            ww: '%d седмици',\n            M: 'месец',\n            MM: '%d месеца',\n            y: 'година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var bm = moment.defineLocale('bm', {\n        months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n            '_'\n        ),\n        monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'MMMM [tile] D [san] YYYY',\n            LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bi lɛrɛ] LT',\n            nextDay: '[Sini lɛrɛ] LT',\n            nextWeek: 'dddd [don lɛrɛ] LT',\n            lastDay: '[Kunu lɛrɛ] LT',\n            lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s kɔnɔ',\n            past: 'a bɛ %s bɔ',\n            s: 'sanga dama dama',\n            ss: 'sekondi %d',\n            m: 'miniti kelen',\n            mm: 'miniti %d',\n            h: 'lɛrɛ kelen',\n            hh: 'lɛrɛ %d',\n            d: 'tile kelen',\n            dd: 'tile %d',\n            M: 'kalo kelen',\n            MM: 'kalo %d',\n            y: 'san kelen',\n            yy: 'san %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bn = moment.defineLocale('bn', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n            '_'\n        ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'রাত' && hour >= 4) ||\n                (meridiem === 'দুপুর' && hour < 5) ||\n                meridiem === 'বিকাল'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '১',\n            2: '২',\n            3: '৩',\n            4: '৪',\n            5: '৫',\n            6: '৬',\n            7: '৭',\n            8: '৮',\n            9: '৯',\n            0: '০',\n        },\n        numberMap = {\n            '১': '1',\n            '২': '2',\n            '৩': '3',\n            '৪': '4',\n            '৫': '5',\n            '৬': '6',\n            '৭': '7',\n            '৮': '8',\n            '৯': '9',\n            '০': '0',\n        };\n\n    var bnBd = moment.defineLocale('bn-bd', {\n        months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n            '_'\n        ),\n        monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n            '_'\n        ),\n        weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n            '_'\n        ),\n        weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm সময়',\n            LTS: 'A h:mm:ss সময়',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm সময়',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n        },\n        calendar: {\n            sameDay: '[আজ] LT',\n            nextDay: '[আগামীকাল] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[গতকাল] LT',\n            lastWeek: '[গত] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s পরে',\n            past: '%s আগে',\n            s: 'কয়েক সেকেন্ড',\n            ss: '%d সেকেন্ড',\n            m: 'এক মিনিট',\n            mm: '%d মিনিট',\n            h: 'এক ঘন্টা',\n            hh: '%d ঘন্টা',\n            d: 'এক দিন',\n            dd: '%d দিন',\n            M: 'এক মাস',\n            MM: '%d মাস',\n            y: 'এক বছর',\n            yy: '%d বছর',\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n\n        meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'রাত') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ভোর') {\n                return hour;\n            } else if (meridiem === 'সকাল') {\n                return hour;\n            } else if (meridiem === 'দুপুর') {\n                return hour >= 3 ? hour : hour + 12;\n            } else if (meridiem === 'বিকাল') {\n                return hour + 12;\n            } else if (meridiem === 'সন্ধ্যা') {\n                return hour + 12;\n            }\n        },\n\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 6) {\n                return 'ভোর';\n            } else if (hour < 12) {\n                return 'সকাল';\n            } else if (hour < 15) {\n                return 'দুপুর';\n            } else if (hour < 18) {\n                return 'বিকাল';\n            } else if (hour < 20) {\n                return 'সন্ধ্যা';\n            } else {\n                return 'রাত';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '༡',\n            2: '༢',\n            3: '༣',\n            4: '༤',\n            5: '༥',\n            6: '༦',\n            7: '༧',\n            8: '༨',\n            9: '༩',\n            0: '༠',\n        },\n        numberMap = {\n            '༡': '1',\n            '༢': '2',\n            '༣': '3',\n            '༤': '4',\n            '༥': '5',\n            '༦': '6',\n            '༧': '7',\n            '༨': '8',\n            '༩': '9',\n            '༠': '0',\n        };\n\n    var bo = moment.defineLocale('bo', {\n        months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n            '_'\n        ),\n        monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n            '_'\n        ),\n        monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n        monthsParseExact: true,\n        weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n            '_'\n        ),\n        weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[དི་རིང] LT',\n            nextDay: '[སང་ཉིན] LT',\n            nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay: '[ཁ་སང] LT',\n            lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ལ་',\n            past: '%s སྔན་ལ',\n            s: 'ལམ་སང',\n            ss: '%d སྐར་ཆ།',\n            m: 'སྐར་མ་གཅིག',\n            mm: '%d སྐར་མ',\n            h: 'ཆུ་ཚོད་གཅིག',\n            hh: '%d ཆུ་ཚོད',\n            d: 'ཉིན་གཅིག',\n            dd: '%d ཉིན་',\n            M: 'ཟླ་བ་གཅིག',\n            MM: '%d ཟླ་བ',\n            y: 'ལོ་གཅིག',\n            yy: '%d ལོ',\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'མཚན་མོ' && hour >= 4) ||\n                (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                meridiem === 'དགོང་དག'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            mm: 'munutenn',\n            MM: 'miz',\n            dd: 'devezh',\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            m: 'v',\n            b: 'v',\n            d: 'z',\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var monthsParse = [\n            /^gen/i,\n            /^c[ʼ\\']hwe/i,\n            /^meu/i,\n            /^ebr/i,\n            /^mae/i,\n            /^(mez|eve)/i,\n            /^gou/i,\n            /^eos/i,\n            /^gwe/i,\n            /^her/i,\n            /^du/i,\n            /^ker/i,\n        ],\n        monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n        monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n        fullWeekdaysParse = [\n            /^sul/i,\n            /^lun/i,\n            /^meurzh/i,\n            /^merc[ʼ\\']her/i,\n            /^yaou/i,\n            /^gwener/i,\n            /^sadorn/i,\n        ],\n        shortWeekdaysParse = [\n            /^Sul/i,\n            /^Lun/i,\n            /^Meu/i,\n            /^Mer/i,\n            /^Yao/i,\n            /^Gwe/i,\n            /^Sad/i,\n        ],\n        minWeekdaysParse = [\n            /^Su/i,\n            /^Lu/i,\n            /^Me([^r]|$)/i,\n            /^Mer/i,\n            /^Ya/i,\n            /^Gw/i,\n            /^Sa/i,\n        ];\n\n    var br = moment.defineLocale('br', {\n        months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n            '_'\n        ),\n        monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParse: minWeekdaysParse,\n        fullWeekdaysParse: fullWeekdaysParse,\n        shortWeekdaysParse: shortWeekdaysParse,\n        minWeekdaysParse: minWeekdaysParse,\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [a viz] MMMM YYYY',\n            LLL: 'D [a viz] MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hiziv da] LT',\n            nextDay: '[Warcʼhoazh da] LT',\n            nextWeek: 'dddd [da] LT',\n            lastDay: '[Decʼh da] LT',\n            lastWeek: 'dddd [paset da] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'a-benn %s',\n            past: '%s ʼzo',\n            s: 'un nebeud segondennoù',\n            ss: '%d eilenn',\n            m: 'ur vunutenn',\n            mm: relativeTimeWithMutation,\n            h: 'un eur',\n            hh: '%d eur',\n            d: 'un devezh',\n            dd: relativeTimeWithMutation,\n            M: 'ur miz',\n            MM: relativeTimeWithMutation,\n            y: 'ur bloaz',\n            yy: specialMutationForYears,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'añ' : 'vet';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n        isPM: function (token) {\n            return token === 'g.m.';\n        },\n        meridiem: function (hour, minute, isLower) {\n            return hour < 12 ? 'a.m.' : 'g.m.';\n        },\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ca = moment.defineLocale('ca', {\n        months: {\n            standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n                '_'\n            ),\n            format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a les] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextDay: function () {\n                return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastDay: function () {\n                return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [passat a ' +\n                    (this.hours() !== 1 ? 'les' : 'la') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'uns segons',\n            ss: '%d segons',\n            m: 'un minut',\n            mm: '%d minuts',\n            h: 'una hora',\n            hh: '%d hores',\n            d: 'un dia',\n            dd: '%d dies',\n            M: 'un mes',\n            MM: '%d mesos',\n            y: 'un any',\n            yy: '%d anys',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n            '_'\n        ),\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n        monthsParse = [\n            /^led/i,\n            /^úno/i,\n            /^bře/i,\n            /^dub/i,\n            /^kvě/i,\n            /^(čvn|červen$|června)/i,\n            /^(čvc|červenec|července)/i,\n            /^srp/i,\n            /^zář/i,\n            /^říj/i,\n            /^lis/i,\n            /^pro/i,\n        ],\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return n > 1 && n < 5 && ~~(n / 10) !== 1;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n            l: 'D. M. YYYY',\n        },\n        calendar: {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'před %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cv = moment.defineLocale('cv', {\n        months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n            '_'\n        ),\n        monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n            '_'\n        ),\n        weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n        },\n        calendar: {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (output) {\n                var affix = /сехет$/i.exec(output)\n                    ? 'рен'\n                    : /ҫул$/i.exec(output)\n                    ? 'тан'\n                    : 'ран';\n                return output + affix;\n            },\n            past: '%s каялла',\n            s: 'пӗр-ик ҫеккунт',\n            ss: '%d ҫеккунт',\n            m: 'пӗр минут',\n            mm: '%d минут',\n            h: 'пӗр сехет',\n            hh: '%d сехет',\n            d: 'пӗр кун',\n            dd: '%d кун',\n            M: 'пӗр уйӑх',\n            MM: '%d уйӑх',\n            y: 'пӗр ҫул',\n            yy: '%d ҫул',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal: '%d-мӗш',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n            '_'\n        ),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n            '_'\n        ),\n        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact: true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '',\n                    'af',\n                    'il',\n                    'ydd',\n                    'ydd',\n                    'ed',\n                    'ed',\n                    'ed',\n                    'fed',\n                    'fed',\n                    'fed', // 1af to 10fed\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'eg',\n                    'fed',\n                    'eg',\n                    'fed', // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var da = moment.defineLocale('da', {\n        months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'på dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[i] dddd[s kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'få sekunder',\n            ss: '%d sekunder',\n            m: 'et minut',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dage',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'et år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n            '_'\n        ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n            '_'\n        ),\n        weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eine Minute', 'einer Minute'],\n            h: ['eine Stunde', 'einer Stunde'],\n            d: ['ein Tag', 'einem Tag'],\n            dd: [number + ' Tage', number + ' Tagen'],\n            w: ['eine Woche', 'einer Woche'],\n            M: ['ein Monat', 'einem Monat'],\n            MM: [number + ' Monate', number + ' Monaten'],\n            y: ['ein Jahr', 'einem Jahr'],\n            yy: [number + ' Jahre', number + ' Jahren'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n            '_'\n        ),\n        weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY HH:mm',\n            LLLL: 'dddd, D. MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: 'vor %s',\n            s: 'ein paar Sekunden',\n            ss: '%d Sekunden',\n            m: processRelativeTime,\n            mm: '%d Minuten',\n            h: processRelativeTime,\n            hh: '%d Stunden',\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            w: processRelativeTime,\n            ww: '%d Wochen',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'ޖެނުއަރީ',\n            'ފެބްރުއަރީ',\n            'މާރިޗު',\n            'އޭޕްރީލު',\n            'މޭ',\n            'ޖޫން',\n            'ޖުލައި',\n            'އޯގަސްޓު',\n            'ސެޕްޓެމްބަރު',\n            'އޮކްޓޯބަރު',\n            'ނޮވެމްބަރު',\n            'ޑިސެމްބަރު',\n        ],\n        weekdays = [\n            'އާދިއްތަ',\n            'ހޯމަ',\n            'އަންގާރަ',\n            'ބުދަ',\n            'ބުރާސްފަތި',\n            'ހުކުރު',\n            'ހޮނިހިރު',\n        ];\n\n    var dv = moment.defineLocale('dv', {\n        months: months,\n        monthsShort: months,\n        weekdays: weekdays,\n        weekdaysShort: weekdays,\n        weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'D/M/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM: function (input) {\n            return 'މފ' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar: {\n            sameDay: '[މިއަދު] LT',\n            nextDay: '[މާދަމާ] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[އިއްޔެ] LT',\n            lastWeek: '[ފާއިތުވި] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ތެރޭގައި %s',\n            past: 'ކުރިން %s',\n            s: 'ސިކުންތުކޮޅެއް',\n            ss: 'd% ސިކުންތު',\n            m: 'މިނިޓެއް',\n            mm: 'މިނިޓު %d',\n            h: 'ގަޑިއިރެއް',\n            hh: 'ގަޑިއިރު %d',\n            d: 'ދުވަހެއް',\n            dd: 'ދުވަސް %d',\n            M: 'މަހެއް',\n            MM: 'މަސް %d',\n            y: 'އަހަރެއް',\n            yy: 'އަހަރު %d',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 7, // Sunday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function isFunction(input) {\n        return (\n            (typeof Function !== 'undefined' && input instanceof Function) ||\n            Object.prototype.toString.call(input) === '[object Function]'\n        );\n    }\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n            '_'\n        ),\n        monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n            '_'\n        ),\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (\n                typeof format === 'string' &&\n                /D/.test(format.substring(0, format.indexOf('MMMM')))\n            ) {\n                // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n            '_'\n        ),\n        weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM: function (input) {\n            return (input + '').toLowerCase()[0] === 'μ';\n        },\n        meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendarEl: {\n            sameDay: '[Σήμερα {}] LT',\n            nextDay: '[Αύριο {}] LT',\n            nextWeek: 'dddd [{}] LT',\n            lastDay: '[Χθες {}] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        calendar: function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n        },\n        relativeTime: {\n            future: 'σε %s',\n            past: '%s πριν',\n            s: 'λίγα δευτερόλεπτα',\n            ss: '%d δευτερόλεπτα',\n            m: 'ένα λεπτό',\n            mm: '%d λεπτά',\n            h: 'μία ώρα',\n            hh: '%d ώρες',\n            d: 'μία μέρα',\n            dd: '%d μέρες',\n            M: 'ένας μήνας',\n            MM: '%d μήνες',\n            y: 'ένας χρόνος',\n            yy: '%d χρόνια',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4st is the first week of the year.\n        },\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enAu = moment.defineLocale('en-au', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enCa = moment.defineLocale('en-ca', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'YYYY-MM-DD',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY h:mm A',\n            LLLL: 'dddd, MMMM D, YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enGb = moment.defineLocale('en-gb', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIe = moment.defineLocale('en-ie', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIl = moment.defineLocale('en-il', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enIn = moment.defineLocale('en-in', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enNz = moment.defineLocale('en-nz', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var enSg = moment.defineLocale('en-sg', {\n        months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Today at] LT',\n            nextDay: '[Tomorrow at] LT',\n            nextWeek: 'dddd [at] LT',\n            lastDay: '[Yesterday at] LT',\n            lastWeek: '[Last] dddd [at] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'in %s',\n            past: '%s ago',\n            s: 'a few seconds',\n            ss: '%d seconds',\n            m: 'a minute',\n            mm: '%d minutes',\n            h: 'an hour',\n            hh: '%d hours',\n            d: 'a day',\n            dd: '%d days',\n            M: 'a month',\n            MM: '%d months',\n            y: 'a year',\n            yy: '%d years',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eo = moment.defineLocale('eo', {\n        months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n        weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: '[la] D[-an de] MMMM, YYYY',\n            LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n            LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n            llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar: {\n            sameDay: '[Hodiaŭ je] LT',\n            nextDay: '[Morgaŭ je] LT',\n            nextWeek: 'dddd[n je] LT',\n            lastDay: '[Hieraŭ je] LT',\n            lastWeek: '[pasintan] dddd[n je] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'post %s',\n            past: 'antaŭ %s',\n            s: 'kelkaj sekundoj',\n            ss: '%d sekundoj',\n            m: 'unu minuto',\n            mm: '%d minutoj',\n            h: 'unu horo',\n            hh: '%d horoj',\n            d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n            dd: '%d tagoj',\n            M: 'unu monato',\n            MM: '%d monatoj',\n            y: 'unu jaro',\n            yy: '%d jaroj',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal: '%da',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n            '_'\n        ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n            '_'\n        ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n            '_'\n        ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esMx = moment.defineLocale('es-mx', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n        invalidDate: 'Fecha inválida',\n    });\n\n    return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n            '_'\n        ),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n        monthsParse = [\n            /^ene/i,\n            /^feb/i,\n            /^mar/i,\n            /^abr/i,\n            /^may/i,\n            /^jun/i,\n            /^jul/i,\n            /^ago/i,\n            /^sep/i,\n            /^oct/i,\n            /^nov/i,\n            /^dic/i,\n        ],\n        monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'MM/DD/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastDay: function () {\n                return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[el] dddd [pasado a la' +\n                    (this.hours() !== 1 ? 's' : '') +\n                    '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'en %s',\n            past: 'hace %s',\n            s: 'unos segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'una hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            w: 'una semana',\n            ww: '%d semanas',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un año',\n            yy: '%d años',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            ss: [number + 'sekundi', number + 'sekundit'],\n            m: ['ühe minuti', 'üks minut'],\n            mm: [number + ' minuti', number + ' minutit'],\n            h: ['ühe tunni', 'tund aega', 'üks tund'],\n            hh: [number + ' tunni', number + ' tundi'],\n            d: ['ühe päeva', 'üks päev'],\n            M: ['kuu aja', 'kuu aega', 'üks kuu'],\n            MM: [number + ' kuu', number + ' kuud'],\n            y: ['ühe aasta', 'aasta', 'üks aasta'],\n            yy: [number + ' aasta', number + ' aastat'],\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n            '_'\n        ),\n        monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(\n            '_'\n        ),\n        weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n            '_'\n        ),\n        weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Täna,] LT',\n            nextDay: '[Homme,] LT',\n            nextWeek: '[Järgmine] dddd LT',\n            lastDay: '[Eile,] LT',\n            lastWeek: '[Eelmine] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s pärast',\n            past: '%s tagasi',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: '%d päeva',\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var eu = moment.defineLocale('eu', {\n        months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n            '_'\n        ),\n        monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n            '_'\n        ),\n        weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY[ko] MMMM[ren] D[a]',\n            LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l: 'YYYY-M-D',\n            ll: 'YYYY[ko] MMM D[a]',\n            lll: 'YYYY[ko] MMM D[a] HH:mm',\n            llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n        },\n        calendar: {\n            sameDay: '[gaur] LT[etan]',\n            nextDay: '[bihar] LT[etan]',\n            nextWeek: 'dddd LT[etan]',\n            lastDay: '[atzo] LT[etan]',\n            lastWeek: '[aurreko] dddd LT[etan]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s barru',\n            past: 'duela %s',\n            s: 'segundo batzuk',\n            ss: '%d segundo',\n            m: 'minutu bat',\n            mm: '%d minutu',\n            h: 'ordu bat',\n            hh: '%d ordu',\n            d: 'egun bat',\n            dd: '%d egun',\n            M: 'hilabete bat',\n            MM: '%d hilabete',\n            y: 'urte bat',\n            yy: '%d urte',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '۱',\n            2: '۲',\n            3: '۳',\n            4: '۴',\n            5: '۵',\n            6: '۶',\n            7: '۷',\n            8: '۸',\n            9: '۹',\n            0: '۰',\n        },\n        numberMap = {\n            '۱': '1',\n            '۲': '2',\n            '۳': '3',\n            '۴': '4',\n            '۵': '5',\n            '۶': '6',\n            '۷': '7',\n            '۸': '8',\n            '۹': '9',\n            '۰': '0',\n        };\n\n    var fa = moment.defineLocale('fa', {\n        months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n            '_'\n        ),\n        weekdays: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n            '_'\n        ),\n        weekdaysShort: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n            '_'\n        ),\n        weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar: {\n            sameDay: '[امروز ساعت] LT',\n            nextDay: '[فردا ساعت] LT',\n            nextWeek: 'dddd [ساعت] LT',\n            lastDay: '[دیروز ساعت] LT',\n            lastWeek: 'dddd [پیش] [ساعت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'در %s',\n            past: '%s پیش',\n            s: 'چند ثانیه',\n            ss: '%d ثانیه',\n            m: 'یک دقیقه',\n            mm: '%d دقیقه',\n            h: 'یک ساعت',\n            hh: '%d ساعت',\n            d: 'یک روز',\n            dd: '%d روز',\n            M: 'یک ماه',\n            MM: '%d ماه',\n            y: 'یک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[۰-۹]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal: '%dم',\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n            ' '\n        ),\n        numbersFuture = [\n            'nolla',\n            'yhden',\n            'kahden',\n            'kolmen',\n            'neljän',\n            'viiden',\n            'kuuden',\n            numbersPast[7],\n            numbersPast[8],\n            numbersPast[9],\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                result = isFuture ? 'sekunnin' : 'sekuntia';\n                break;\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10\n            ? isFuture\n                ? numbersFuture[number]\n                : numbersPast[number]\n            : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n            '_'\n        ),\n        monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n            '_'\n        ),\n        weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n            '_'\n        ),\n        weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM[ta] YYYY',\n            LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l: 'D.M.YYYY',\n            ll: 'Do MMM YYYY',\n            lll: 'Do MMM YYYY, [klo] HH.mm',\n            llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n        },\n        calendar: {\n            sameDay: '[tänään] [klo] LT',\n            nextDay: '[huomenna] [klo] LT',\n            nextWeek: 'dddd [klo] LT',\n            lastDay: '[eilen] [klo] LT',\n            lastWeek: '[viime] dddd[na] [klo] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s päästä',\n            past: '%s sitten',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fil = moment.defineLocale('fil', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var fo = moment.defineLocale('fo', {\n        months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n            '_'\n        ),\n        weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D. MMMM, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Í dag kl.] LT',\n            nextDay: '[Í morgin kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[Í gjár kl.] LT',\n            lastWeek: '[síðstu] dddd [kl] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'um %s',\n            past: '%s síðani',\n            s: 'fá sekund',\n            ss: '%d sekundir',\n            m: 'ein minuttur',\n            mm: '%d minuttir',\n            h: 'ein tími',\n            hh: '%d tímar',\n            d: 'ein dagur',\n            dd: '%d dagar',\n            M: 'ein mánaður',\n            MM: '%d mánaðir',\n            y: 'eitt ár',\n            yy: '%d ár',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n        monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n        monthsParse = [\n            /^janv/i,\n            /^févr/i,\n            /^mars/i,\n            /^avr/i,\n            /^mai/i,\n            /^juin/i,\n            /^juil/i,\n            /^août/i,\n            /^sept/i,\n            /^oct/i,\n            /^nov/i,\n            /^déc/i,\n        ];\n\n    var fr = moment.defineLocale('fr', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n            '_'\n        ),\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: monthsStrictRegex,\n        monthsShortStrictRegex: monthsShortStrictRegex,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            w: 'une semaine',\n            ww: '%d semaines',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n            '_'\n        ),\n        monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Aujourd’hui à] LT',\n            nextDay: '[Demain à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[Hier à] LT',\n            lastWeek: 'dddd [dernier à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dans %s',\n            past: 'il y a %s',\n            s: 'quelques secondes',\n            ss: '%d secondes',\n            m: 'une minute',\n            mm: '%d minutes',\n            h: 'une heure',\n            hh: '%d heures',\n            d: 'un jour',\n            dd: '%d jours',\n            M: 'un mois',\n            MM: '%d mois',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(\n            '_'\n        ),\n        monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(\n            '_'\n        );\n\n    var fy = moment.defineLocale('fy', {\n        months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact: true,\n        weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n            '_'\n        ),\n        weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'oer %s',\n            past: '%s lyn',\n            s: 'in pear sekonden',\n            ss: '%d sekonden',\n            m: 'ien minút',\n            mm: '%d minuten',\n            h: 'ien oere',\n            hh: '%d oeren',\n            d: 'ien dei',\n            dd: '%d dagen',\n            M: 'ien moanne',\n            MM: '%d moannen',\n            y: 'ien jier',\n            yy: '%d jierren',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Eanáir',\n            'Feabhra',\n            'Márta',\n            'Aibreán',\n            'Bealtaine',\n            'Meitheamh',\n            'Iúil',\n            'Lúnasa',\n            'Meán Fómhair',\n            'Deireadh Fómhair',\n            'Samhain',\n            'Nollaig',\n        ],\n        monthsShort = [\n            'Ean',\n            'Feabh',\n            'Márt',\n            'Aib',\n            'Beal',\n            'Meith',\n            'Iúil',\n            'Lún',\n            'M.F.',\n            'D.F.',\n            'Samh',\n            'Noll',\n        ],\n        weekdays = [\n            'Dé Domhnaigh',\n            'Dé Luain',\n            'Dé Máirt',\n            'Dé Céadaoin',\n            'Déardaoin',\n            'Dé hAoine',\n            'Dé Sathairn',\n        ],\n        weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n        weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné ag] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d míonna',\n            y: 'bliain',\n            yy: '%d bliain',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'Am Faoilleach',\n            'An Gearran',\n            'Am Màrt',\n            'An Giblean',\n            'An Cèitean',\n            'An t-Ògmhios',\n            'An t-Iuchar',\n            'An Lùnastal',\n            'An t-Sultain',\n            'An Dàmhair',\n            'An t-Samhain',\n            'An Dùbhlachd',\n        ],\n        monthsShort = [\n            'Faoi',\n            'Gear',\n            'Màrt',\n            'Gibl',\n            'Cèit',\n            'Ògmh',\n            'Iuch',\n            'Lùn',\n            'Sult',\n            'Dàmh',\n            'Samh',\n            'Dùbh',\n        ],\n        weekdays = [\n            'Didòmhnaich',\n            'Diluain',\n            'Dimàirt',\n            'Diciadain',\n            'Diardaoin',\n            'Dihaoine',\n            'Disathairne',\n        ],\n        weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n        weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[An-diugh aig] LT',\n            nextDay: '[A-màireach aig] LT',\n            nextWeek: 'dddd [aig] LT',\n            lastDay: '[An-dè aig] LT',\n            lastWeek: 'dddd [seo chaidh] [aig] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ann an %s',\n            past: 'bho chionn %s',\n            s: 'beagan diogan',\n            ss: '%d diogan',\n            m: 'mionaid',\n            mm: '%d mionaidean',\n            h: 'uair',\n            hh: '%d uairean',\n            d: 'latha',\n            dd: '%d latha',\n            M: 'mìos',\n            MM: '%d mìosan',\n            y: 'bliadhna',\n            yy: '%d bliadhna',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var gl = moment.defineLocale('gl', {\n        months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n            '_'\n        ),\n        monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY H:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextDay: function () {\n                return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek: function () {\n                return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n            },\n            lastDay: function () {\n                return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n            },\n            lastWeek: function () {\n                return (\n                    '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n                );\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past: 'hai %s',\n            s: 'uns segundos',\n            ss: '%d segundos',\n            m: 'un minuto',\n            mm: '%d minutos',\n            h: 'unha hora',\n            hh: '%d horas',\n            d: 'un día',\n            dd: '%d días',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n            ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n            m: ['एका मिणटान', 'एक मिनूट'],\n            mm: [number + ' मिणटांनी', number + ' मिणटां'],\n            h: ['एका वरान', 'एक वर'],\n            hh: [number + ' वरांनी', number + ' वरां'],\n            d: ['एका दिसान', 'एक दीस'],\n            dd: [number + ' दिसांनी', number + ' दीस'],\n            M: ['एका म्हयन्यान', 'एक म्हयनो'],\n            MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n            y: ['एका वर्सान', 'एक वर्स'],\n            yy: [number + ' वर्सांनी', number + ' वर्सां'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomDeva = moment.defineLocale('gom-deva', {\n        months: {\n            standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n                '_'\n            ),\n            format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n        weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n        weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [वाजतां]',\n            LTS: 'A h:mm:ss [वाजतां]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n            llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n        },\n        calendar: {\n            sameDay: '[आयज] LT',\n            nextDay: '[फाल्यां] LT',\n            nextWeek: '[फुडलो] dddd[,] LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[फाटलो] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s आदीं',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'वेर' only applies to day of the month\n                case 'D':\n                    return number + 'वेर';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राती') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळीं') {\n                return hour;\n            } else if (meridiem === 'दनपारां') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'सांजे') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'राती';\n            } else if (hour < 12) {\n                return 'सकाळीं';\n            } else if (hour < 16) {\n                return 'दनपारां';\n            } else if (hour < 20) {\n                return 'सांजे';\n            } else {\n                return 'राती';\n            }\n        },\n    });\n\n    return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['thoddea sekondamni', 'thodde sekond'],\n            ss: [number + ' sekondamni', number + ' sekond'],\n            m: ['eka mintan', 'ek minut'],\n            mm: [number + ' mintamni', number + ' mintam'],\n            h: ['eka voran', 'ek vor'],\n            hh: [number + ' voramni', number + ' voram'],\n            d: ['eka disan', 'ek dis'],\n            dd: [number + ' disamni', number + ' dis'],\n            M: ['eka mhoinean', 'ek mhoino'],\n            MM: [number + ' mhoineamni', number + ' mhoine'],\n            y: ['eka vorsan', 'ek voros'],\n            yy: [number + ' vorsamni', number + ' vorsam'],\n        };\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months: {\n            standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n                '_'\n            ),\n            format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n                '_'\n            ),\n            isFormat: /MMMM(\\s)+D[oD]?/,\n        },\n        monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n        weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'A h:mm [vazta]',\n            LTS: 'A h:mm:ss [vazta]',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY A h:mm [vazta]',\n            LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n        },\n        calendar: {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Fuddlo] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fattlo] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s',\n            past: '%s adim',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week\n            doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n        },\n        meridiemParse: /rati|sokallim|donparam|sanje/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokallim') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokallim';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        },\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '૧',\n            2: '૨',\n            3: '૩',\n            4: '૪',\n            5: '૫',\n            6: '૬',\n            7: '૭',\n            8: '૮',\n            9: '૯',\n            0: '૦',\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0',\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n            '_'\n        ),\n        monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n            '_'\n        ),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પહેલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ',\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var he = moment.defineLocale('he', {\n        months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n            '_'\n        ),\n        monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split(\n            '_'\n        ),\n        weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [ב]MMMM YYYY',\n            LLL: 'D [ב]MMMM YYYY HH:mm',\n            LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[היום ב־]LT',\n            nextDay: '[מחר ב־]LT',\n            nextWeek: 'dddd [בשעה] LT',\n            lastDay: '[אתמול ב־]LT',\n            lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'בעוד %s',\n            past: 'לפני %s',\n            s: 'מספר שניות',\n            ss: '%d שניות',\n            m: 'דקה',\n            mm: '%d דקות',\n            h: 'שעה',\n            hh: function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d: 'יום',\n            dd: function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M: 'חודש',\n            MM: function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y: 'שנה',\n            yy: function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            },\n        },\n        meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM: function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        },\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        },\n        monthsParse = [\n            /^जन/i,\n            /^फ़र|फर/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सितं|सित/i,\n            /^अक्टू/i,\n            /^नव|नवं/i,\n            /^दिसं|दिस/i,\n        ],\n        shortMonthsParse = [\n            /^जन/i,\n            /^फ़र/i,\n            /^मार्च/i,\n            /^अप्रै/i,\n            /^मई/i,\n            /^जून/i,\n            /^जुल/i,\n            /^अग/i,\n            /^सित/i,\n            /^अक्टू/i,\n            /^नव/i,\n            /^दिस/i,\n        ];\n\n    var hi = moment.defineLocale('hi', {\n        months: {\n            format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n                '_'\n            ),\n            standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n                '_'\n            ),\n        },\n        monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split(\n            '_'\n        ),\n        weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm बजे',\n            LTS: 'A h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n        },\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: shortMonthsParse,\n\n        monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n        monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n        monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[कल] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[कल] LT',\n            lastWeek: '[पिछले] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s में',\n            past: '%s पहले',\n            s: 'कुछ ही क्षण',\n            ss: '%d सेकंड',\n            m: 'एक मिनट',\n            mm: '%d मिनट',\n            h: 'एक घंटा',\n            hh: '%d घंटे',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महीने',\n            MM: '%d महीने',\n            y: 'एक वर्ष',\n            yy: '%d वर्ष',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months: {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n                '_'\n            ),\n            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n                '_'\n            ),\n        },\n        monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'Do MMMM YYYY',\n            LLL: 'Do MMMM YYYY H:mm',\n            LLLL: 'dddd, Do MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[jučer u] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prošlu] [nedjelju] [u] LT';\n                    case 3:\n                        return '[prošlu] [srijedu] [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'par sekundi',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: 'dan',\n            dd: translate,\n            M: 'mjesec',\n            MM: translate,\n            y: 'godinu',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt  : https://github.com/passatgt\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(\n        ' '\n    );\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return isFuture || withoutSuffix\n                    ? 'néhány másodperc'\n                    : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix)\n                    ? ' másodperc'\n                    : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (\n            (isFuture ? '' : '[múlt] ') +\n            '[' +\n            weekEndings[this.day()] +\n            '] LT[-kor]'\n        );\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY. MMMM D.',\n            LLL: 'YYYY. MMMM D. H:mm',\n            LLLL: 'YYYY. MMMM D., dddd H:mm',\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar: {\n            sameDay: '[ma] LT[-kor]',\n            nextDay: '[holnap] LT[-kor]',\n            nextWeek: function () {\n                return week.call(this, true);\n            },\n            lastDay: '[tegnap] LT[-kor]',\n            lastWeek: function () {\n                return week.call(this, false);\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s múlva',\n            past: '%s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months: {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n                '_'\n            ),\n            standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n                '_'\n            ),\n        },\n        monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n            '_'\n        ),\n        weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY թ.',\n            LLL: 'D MMMM YYYY թ., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n        },\n        calendar: {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s հետո',\n            past: '%s առաջ',\n            s: 'մի քանի վայրկյան',\n            ss: '%d վայրկյան',\n            m: 'րոպե',\n            mm: '%d րոպե',\n            h: 'ժամ',\n            hh: '%d ժամ',\n            d: 'օր',\n            dd: '%d օր',\n            M: 'ամիս',\n            MM: '%d ամիս',\n            y: 'տարի',\n            yy: '%d տարի',\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem: function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var id = moment.defineLocale('id', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Besok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kemarin pukul] LT',\n            lastWeek: 'dddd [lalu pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lalu',\n            s: 'beberapa detik',\n            ss: '%d detik',\n            m: 'semenit',\n            mm: '%d menit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nokkrar sekúndur'\n                    : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n                    );\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return (\n                        result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n                    );\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return (\n                        result +\n                        (withoutSuffix || isFuture\n                            ? 'klukkustundir'\n                            : 'klukkustundum')\n                    );\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n            '_'\n        ),\n        weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n        },\n        calendar: {\n            sameDay: '[í dag kl.] LT',\n            nextDay: '[á morgun kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[í gær kl.] LT',\n            lastWeek: '[síðasta] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'eftir %s',\n            past: 'fyrir %s síðan',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: 'klukkustund',\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var it = moment.defineLocale('it', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: function () {\n                return (\n                    '[Oggi a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextDay: function () {\n                return (\n                    '[Domani a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            nextWeek: function () {\n                return (\n                    'dddd [a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastDay: function () {\n                return (\n                    '[Ieri a' +\n                    (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n                    ']LT'\n                );\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return (\n                            '[La scorsa] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                    default:\n                        return (\n                            '[Lo scorso] dddd [a' +\n                            (this.hours() > 1\n                                ? 'lle '\n                                : this.hours() === 0\n                                ? ' '\n                                : \"ll'\") +\n                            ']LT'\n                        );\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'tra %s',\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            w: 'una settimana',\n            ww: '%d settimane',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var itCh = moment.defineLocale('it-ch', {\n        months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n            '_'\n        ),\n        monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past: '%s fa',\n            s: 'alcuni secondi',\n            ss: '%d secondi',\n            m: 'un minuto',\n            mm: '%d minuti',\n            h: \"un'ora\",\n            hh: '%d ore',\n            d: 'un giorno',\n            dd: '%d giorni',\n            M: 'un mese',\n            MM: '%d mesi',\n            y: 'un anno',\n            yy: '%d anni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ja = moment.defineLocale('ja', {\n        eras: [\n            {\n                since: '2019-05-01',\n                offset: 1,\n                name: '令和',\n                narrow: '㋿',\n                abbr: 'R',\n            },\n            {\n                since: '1989-01-08',\n                until: '2019-04-30',\n                offset: 1,\n                name: '平成',\n                narrow: '㍻',\n                abbr: 'H',\n            },\n            {\n                since: '1926-12-25',\n                until: '1989-01-07',\n                offset: 1,\n                name: '昭和',\n                narrow: '㍼',\n                abbr: 'S',\n            },\n            {\n                since: '1912-07-30',\n                until: '1926-12-24',\n                offset: 1,\n                name: '大正',\n                narrow: '㍽',\n                abbr: 'T',\n            },\n            {\n                since: '1873-01-01',\n                until: '1912-07-29',\n                offset: 6,\n                name: '明治',\n                narrow: '㍾',\n                abbr: 'M',\n            },\n            {\n                since: '0001-01-01',\n                until: '1873-12-31',\n                offset: 1,\n                name: '西暦',\n                narrow: 'AD',\n                abbr: 'AD',\n            },\n            {\n                since: '0000-12-31',\n                until: -Infinity,\n                offset: 1,\n                name: '紀元前',\n                narrow: 'BC',\n                abbr: 'BC',\n            },\n        ],\n        eraYearOrdinalRegex: /(元|\\d+)年/,\n        eraYearOrdinalParse: function (input, match) {\n            return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n        },\n        months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日 dddd HH:mm',\n            l: 'YYYY/MM/DD',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日(ddd) HH:mm',\n        },\n        meridiemParse: /午前|午後/i,\n        isPM: function (input) {\n            return input === '午後';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar: {\n            sameDay: '[今日] LT',\n            nextDay: '[明日] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay: '[昨日] LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}日/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'y':\n                    return number === 1 ? '元年' : number + '年';\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '数秒',\n            ss: '%d秒',\n            m: '1分',\n            mm: '%d分',\n            h: '1時間',\n            hh: '%d時間',\n            d: '1日',\n            dd: '%d日',\n            M: '1ヶ月',\n            MM: '%dヶ月',\n            y: '1年',\n            yy: '%d年',\n        },\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var jv = moment.defineLocale('jv', {\n        months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar: {\n            sameDay: '[Dinten puniko pukul] LT',\n            nextDay: '[Mbenjang pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kala wingi pukul] LT',\n            lastWeek: 'dddd [kepengker pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'wonten ing %s',\n            past: '%s ingkang kepengker',\n            s: 'sawetawis detik',\n            ss: '%d detik',\n            m: 'setunggal menit',\n            mm: '%d menit',\n            h: 'setunggal jam',\n            hh: '%d jam',\n            d: 'sedinten',\n            dd: '%d dinten',\n            M: 'sewulan',\n            MM: '%d wulan',\n            y: 'setaun',\n            yy: '%d taun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ka = moment.defineLocale('ka', {\n        months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n            '_'\n        ),\n        monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays: {\n            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n                '_'\n            ),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n                '_'\n            ),\n            isFormat: /(წინა|შემდეგ)/,\n        },\n        weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[დღეს] LT[-ზე]',\n            nextDay: '[ხვალ] LT[-ზე]',\n            lastDay: '[გუშინ] LT[-ზე]',\n            nextWeek: '[შემდეგ] dddd LT[-ზე]',\n            lastWeek: '[წინა] dddd LT-ზე',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: function (s) {\n                return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (\n                    $0,\n                    $1,\n                    $2\n                ) {\n                    return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n                });\n            },\n            past: function (s) {\n                if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if (/წელი/.test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n                return s;\n            },\n            s: 'რამდენიმე წამი',\n            ss: '%d წამი',\n            m: 'წუთი',\n            mm: '%d წუთი',\n            h: 'საათი',\n            hh: '%d საათი',\n            d: 'დღე',\n            dd: '%d დღე',\n            M: 'თვე',\n            MM: '%d თვე',\n            y: 'წელი',\n            yy: '%d წელი',\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal: function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if (\n                number < 20 ||\n                (number <= 100 && number % 20 === 0) ||\n                number % 100 === 0\n            ) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week: {\n            dow: 1,\n            doy: 7,\n        },\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші',\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n            '_'\n        ),\n        monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n            '_'\n        ),\n        weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгін сағат] LT',\n            nextDay: '[Ертең сағат] LT',\n            nextWeek: 'dddd [сағат] LT',\n            lastDay: '[Кеше сағат] LT',\n            lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ішінде',\n            past: '%s бұрын',\n            s: 'бірнеше секунд',\n            ss: '%d секунд',\n            m: 'бір минут',\n            mm: '%d минут',\n            h: 'бір сағат',\n            hh: '%d сағат',\n            d: 'бір күн',\n            dd: '%d күн',\n            M: 'бір ай',\n            MM: '%d ай',\n            y: 'бір жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '១',\n            2: '២',\n            3: '៣',\n            4: '៤',\n            5: '៥',\n            6: '៦',\n            7: '៧',\n            8: '៨',\n            9: '៩',\n            0: '០',\n        },\n        numberMap = {\n            '១': '1',\n            '២': '2',\n            '៣': '3',\n            '៤': '4',\n            '៥': '5',\n            '៦': '6',\n            '៧': '7',\n            '៨': '8',\n            '៩': '9',\n            '០': '0',\n        };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ',\n        },\n        dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n        ordinal: 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '೧',\n            2: '೨',\n            3: '೩',\n            4: '೪',\n            5: '೫',\n            6: '೬',\n            7: '೭',\n            8: '೮',\n            9: '೯',\n            0: '೦',\n        },\n        numberMap = {\n            '೧': '1',\n            '೨': '2',\n            '೩': '3',\n            '೪': '4',\n            '೫': '5',\n            '೬': '6',\n            '೭': '7',\n            '೮': '8',\n            '೯': '9',\n            '೦': '0',\n        };\n\n    var kn = moment.defineLocale('kn', {\n        months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n            '_'\n        ),\n        monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[ಇಂದು] LT',\n            nextDay: '[ನಾಳೆ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ನಿನ್ನೆ] LT',\n            lastWeek: '[ಕೊನೆಯ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ನಂತರ',\n            past: '%s ಹಿಂದೆ',\n            s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss: '%d ಸೆಕೆಂಡುಗಳು',\n            m: 'ಒಂದು ನಿಮಿಷ',\n            mm: '%d ನಿಮಿಷ',\n            h: 'ಒಂದು ಗಂಟೆ',\n            hh: '%d ಗಂಟೆ',\n            d: 'ಒಂದು ದಿನ',\n            dd: '%d ದಿನ',\n            M: 'ಒಂದು ತಿಂಗಳು',\n            MM: '%d ತಿಂಗಳು',\n            y: 'ಒಂದು ವರ್ಷ',\n            yy: '%d ವರ್ಷ',\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal: function (number) {\n            return number + 'ನೇ';\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ko = moment.defineLocale('ko', {\n        months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n            '_'\n        ),\n        weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'YYYY.MM.DD.',\n            LL: 'YYYY년 MMMM D일',\n            LLL: 'YYYY년 MMMM D일 A h:mm',\n            LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n            l: 'YYYY.MM.DD.',\n            ll: 'YYYY년 MMMM D일',\n            lll: 'YYYY년 MMMM D일 A h:mm',\n            llll: 'YYYY년 MMMM D일 dddd A h:mm',\n        },\n        calendar: {\n            sameDay: '오늘 LT',\n            nextDay: '내일 LT',\n            nextWeek: 'dddd LT',\n            lastDay: '어제 LT',\n            lastWeek: '지난주 dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s 후',\n            past: '%s 전',\n            s: '몇 초',\n            ss: '%d초',\n            m: '1분',\n            mm: '%d분',\n            h: '한 시간',\n            hh: '%d시간',\n            d: '하루',\n            dd: '%d일',\n            M: '한 달',\n            MM: '%d달',\n            y: '일 년',\n            yy: '%d년',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse: /오전|오후/,\n        isPM: function (token) {\n            return token === '오후';\n        },\n        meridiem: function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        },\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '١',\n            2: '٢',\n            3: '٣',\n            4: '٤',\n            5: '٥',\n            6: '٦',\n            7: '٧',\n            8: '٨',\n            9: '٩',\n            0: '٠',\n        },\n        numberMap = {\n            '١': '1',\n            '٢': '2',\n            '٣': '3',\n            '٤': '4',\n            '٥': '5',\n            '٦': '6',\n            '٧': '7',\n            '٨': '8',\n            '٩': '9',\n            '٠': '0',\n        },\n        months = [\n            'کانونی دووەم',\n            'شوبات',\n            'ئازار',\n            'نیسان',\n            'ئایار',\n            'حوزەیران',\n            'تەمموز',\n            'ئاب',\n            'ئەیلوول',\n            'تشرینی یەكەم',\n            'تشرینی دووەم',\n            'كانونی یەکەم',\n        ];\n\n    var ku = moment.defineLocale('ku', {\n        months: months,\n        monthsShort: months,\n        weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n            '_'\n        ),\n        weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split(\n            '_'\n        ),\n        weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar: {\n            sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay: '[به‌یانی كاتژمێر] LT',\n            nextWeek: 'dddd [كاتژمێر] LT',\n            lastDay: '[دوێنێ كاتژمێر] LT',\n            lastWeek: 'dddd [كاتژمێر] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'له‌ %s',\n            past: '%s',\n            s: 'چه‌ند چركه‌یه‌ك',\n            ss: 'چركه‌ %d',\n            m: 'یه‌ك خوله‌ك',\n            mm: '%d خوله‌ك',\n            h: 'یه‌ك كاتژمێر',\n            hh: '%d كاتژمێر',\n            d: 'یه‌ك ڕۆژ',\n            dd: '%d ڕۆژ',\n            M: 'یه‌ك مانگ',\n            MM: '%d مانگ',\n            y: 'یه‌ك ساڵ',\n            yy: '%d ساڵ',\n        },\n        preparse: function (string) {\n            return string\n                .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                    return numberMap[match];\n                })\n                .replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string\n                .replace(/\\d/g, function (match) {\n                    return symbolMap[match];\n                })\n                .replace(/,/g, '،');\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү',\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n            '_'\n        ),\n        weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n            '_'\n        ),\n        weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бүгүн саат] LT',\n            nextDay: '[Эртең саат] LT',\n            nextWeek: 'dddd [саат] LT',\n            lastDay: '[Кечээ саат] LT',\n            lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ичинде',\n            past: '%s мурун',\n            s: 'бирнече секунд',\n            ss: '%d секунд',\n            m: 'бир мүнөт',\n            mm: '%d мүнөт',\n            h: 'бир саат',\n            hh: '%d саат',\n            d: 'бир күн',\n            dd: '%d күн',\n            M: 'бир ай',\n            MM: '%d ай',\n            y: 'бир жыл',\n            yy: '%d жыл',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            m: ['eng Minutt', 'enger Minutt'],\n            h: ['eng Stonn', 'enger Stonn'],\n            d: ['een Dag', 'engem Dag'],\n            M: ['ee Mount', 'engem Mount'],\n            y: ['ee Joer', 'engem Joer'],\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10,\n                firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n            '_'\n        ),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            },\n        },\n        relativeTime: {\n            future: processFutureTime,\n            past: processPastTime,\n            s: 'e puer Sekonnen',\n            ss: '%d Sekonnen',\n            m: processRelativeTime,\n            mm: '%d Minutten',\n            h: processRelativeTime,\n            hh: '%d Stonnen',\n            d: processRelativeTime,\n            dd: '%d Deeg',\n            M: processRelativeTime,\n            MM: '%d Méint',\n            y: processRelativeTime,\n            yy: '%d Joer',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var lo = moment.defineLocale('lo', {\n        months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n            '_'\n        ),\n        weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar: {\n            sameDay: '[ມື້ນີ້ເວລາ] LT',\n            nextDay: '[ມື້ອື່ນເວລາ] LT',\n            nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ອີກ %s',\n            past: '%sຜ່ານມາ',\n            s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss: '%d ວິນາທີ',\n            m: '1 ນາທີ',\n            mm: '%d ນາທີ',\n            h: '1 ຊົ່ວໂມງ',\n            hh: '%d ຊົ່ວໂມງ',\n            d: '1 ມື້',\n            dd: '%d ມື້',\n            M: '1 ເດືອນ',\n            MM: '%d ເດືອນ',\n            y: '1 ປີ',\n            yy: '%d ປີ',\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal: function (number) {\n            return 'ທີ່' + number;\n        },\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundė_sekundžių_sekundes',\n        m: 'minutė_minutės_minutę',\n        mm: 'minutės_minučių_minutes',\n        h: 'valanda_valandos_valandą',\n        hh: 'valandos_valandų_valandas',\n        d: 'diena_dienos_dieną',\n        dd: 'dienos_dienų_dienas',\n        M: 'mėnuo_mėnesio_mėnesį',\n        MM: 'mėnesiai_mėnesių_mėnesius',\n        y: 'metai_metų_metus',\n        yy: 'metai_metų_metus',\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix\n            ? forms(key)[0]\n            : isFuture\n            ? forms(key)[1]\n            : forms(key)[2];\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return (\n                result + translateSingular(number, withoutSuffix, key[0], isFuture)\n            );\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months: {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n                '_'\n            ),\n            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n        },\n        monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays: {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n                '_'\n            ),\n            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n                '_'\n            ),\n            isFormat: /dddd HH:mm/,\n        },\n        weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY [m.] MMMM D [d.]',\n            LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l: 'YYYY-MM-DD',\n            ll: 'YYYY [m.] MMMM D [d.]',\n            lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n        },\n        calendar: {\n            sameDay: '[Šiandien] LT',\n            nextDay: '[Rytoj] LT',\n            nextWeek: 'dddd LT',\n            lastDay: '[Vakar] LT',\n            lastWeek: '[Praėjusį] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'po %s',\n            past: 'prieš %s',\n            s: translateSeconds,\n            ss: translate,\n            m: translateSingular,\n            mm: translate,\n            h: translateSingular,\n            hh: translate,\n            d: translateSingular,\n            dd: translate,\n            M: translateSingular,\n            MM: translate,\n            y: translateSingular,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal: function (number) {\n            return number + '-oji';\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var units = {\n        ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        h: 'stundas_stundām_stunda_stundas'.split('_'),\n        hh: 'stundas_stundām_stunda_stundas'.split('_'),\n        d: 'dienas_dienām_diena_dienas'.split('_'),\n        dd: 'dienas_dienām_diena_dienas'.split('_'),\n        M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        y: 'gada_gadiem_gads_gadi'.split('_'),\n        yy: 'gada_gadiem_gads_gadi'.split('_'),\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n            '_'\n        ),\n        weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY.',\n            LL: 'YYYY. [gada] D. MMMM',\n            LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n        },\n        calendar: {\n            sameDay: '[Šodien pulksten] LT',\n            nextDay: '[Rīt pulksten] LT',\n            nextWeek: 'dddd [pulksten] LT',\n            lastDay: '[Vakar pulksten] LT',\n            lastWeek: '[Pagājušā] dddd [pulksten] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'pēc %s',\n            past: 'pirms %s',\n            s: relativeSeconds,\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithSingular,\n            mm: relativeTimeWithPlural,\n            h: relativeTimeWithSingular,\n            hh: relativeTimeWithPlural,\n            d: relativeTimeWithSingular,\n            dd: relativeTimeWithPlural,\n            M: relativeTimeWithSingular,\n            MM: relativeTimeWithPlural,\n            y: relativeTimeWithSingular,\n            yy: relativeTimeWithPlural,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                ? wordKey[1]\n                : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'prije %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mjesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n            '_'\n        ),\n        monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n            '_'\n        ),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mk = moment.defineLocale('mk', {\n        months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n            '_'\n        ),\n        monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n            '_'\n        ),\n        weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[Денес во] LT',\n            nextDay: '[Утре во] LT',\n            nextWeek: '[Во] dddd [во] LT',\n            lastDay: '[Вчера во] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пред %s',\n            s: 'неколку секунди',\n            ss: '%d секунди',\n            m: 'една минута',\n            mm: '%d минути',\n            h: 'еден час',\n            hh: '%d часа',\n            d: 'еден ден',\n            dd: '%d дена',\n            M: 'еден месец',\n            MM: '%d месеци',\n            y: 'една година',\n            yy: '%d години',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal: function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ml = moment.defineLocale('ml', {\n        months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n            '_'\n        ),\n        monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n            '_'\n        ),\n        weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm -നു',\n            LTS: 'A h:mm:ss -നു',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm -നു',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n        },\n        calendar: {\n            sameDay: '[ഇന്ന്] LT',\n            nextDay: '[നാളെ] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ഇന്നലെ] LT',\n            lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s കഴിഞ്ഞ്',\n            past: '%s മുൻപ്',\n            s: 'അൽപ നിമിഷങ്ങൾ',\n            ss: '%d സെക്കൻഡ്',\n            m: 'ഒരു മിനിറ്റ്',\n            mm: '%d മിനിറ്റ്',\n            h: 'ഒരു മണിക്കൂർ',\n            hh: '%d മണിക്കൂർ',\n            d: 'ഒരു ദിവസം',\n            dd: '%d ദിവസം',\n            M: 'ഒരു മാസം',\n            MM: '%d മാസം',\n            y: 'ഒരു വർഷം',\n            yy: '%d വർഷം',\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                (meridiem === 'രാത്രി' && hour >= 4) ||\n                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                meridiem === 'വൈകുന്നേരം'\n            ) {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        },\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n            '_'\n        ),\n        monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY оны MMMMын D',\n            LLL: 'YYYY оны MMMMын D HH:mm',\n            LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM: function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar: {\n            sameDay: '[Өнөөдөр] LT',\n            nextDay: '[Маргааш] LT',\n            nextWeek: '[Ирэх] dddd LT',\n            lastDay: '[Өчигдөр] LT',\n            lastWeek: '[Өнгөрсөн] dddd LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s дараа',\n            past: '%s өмнө',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        },\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंद';\n                    break;\n                case 'ss':\n                    output = '%d सेकंद';\n                    break;\n                case 'm':\n                    output = 'एक मिनिट';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटे';\n                    break;\n                case 'h':\n                    output = 'एक तास';\n                    break;\n                case 'hh':\n                    output = '%d तास';\n                    break;\n                case 'd':\n                    output = 'एक दिवस';\n                    break;\n                case 'dd':\n                    output = '%d दिवस';\n                    break;\n                case 'M':\n                    output = 'एक महिना';\n                    break;\n                case 'MM':\n                    output = '%d महिने';\n                    break;\n                case 'y':\n                    output = 'एक वर्ष';\n                    break;\n                case 'yy':\n                    output = '%d वर्षे';\n                    break;\n            }\n        } else {\n            switch (string) {\n                case 's':\n                    output = 'काही सेकंदां';\n                    break;\n                case 'ss':\n                    output = '%d सेकंदां';\n                    break;\n                case 'm':\n                    output = 'एका मिनिटा';\n                    break;\n                case 'mm':\n                    output = '%d मिनिटां';\n                    break;\n                case 'h':\n                    output = 'एका तासा';\n                    break;\n                case 'hh':\n                    output = '%d तासां';\n                    break;\n                case 'd':\n                    output = 'एका दिवसा';\n                    break;\n                case 'dd':\n                    output = '%d दिवसां';\n                    break;\n                case 'M':\n                    output = 'एका महिन्या';\n                    break;\n                case 'MM':\n                    output = '%d महिन्यां';\n                    break;\n                case 'y':\n                    output = 'एका वर्षा';\n                    break;\n                case 'yy':\n                    output = '%d वर्षां';\n                    break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n            '_'\n        ),\n        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm वाजता',\n            LTS: 'A h:mm:ss वाजता',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm वाजता',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[उद्या] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr,\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n                return hour;\n            } else if (\n                meridiem === 'दुपारी' ||\n                meridiem === 'सायंकाळी' ||\n                meridiem === 'रात्री'\n            ) {\n                return hour >= 12 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour >= 0 && hour < 6) {\n                return 'पहाटे';\n            } else if (hour < 12) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ms = moment.defineLocale('ms', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var msMy = moment.defineLocale('ms-my', {\n        months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [pukul] HH.mm',\n            LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar: {\n            sameDay: '[Hari ini pukul] LT',\n            nextDay: '[Esok pukul] LT',\n            nextWeek: 'dddd [pukul] LT',\n            lastDay: '[Kelmarin pukul] LT',\n            lastWeek: 'dddd [lepas pukul] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dalam %s',\n            past: '%s yang lepas',\n            s: 'beberapa saat',\n            ss: '%d saat',\n            m: 'seminit',\n            mm: '%d minit',\n            h: 'sejam',\n            hh: '%d jam',\n            d: 'sehari',\n            dd: '%d hari',\n            M: 'sebulan',\n            MM: '%d bulan',\n            y: 'setahun',\n            yy: '%d tahun',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var mt = moment.defineLocale('mt', {\n        months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Illum fil-]LT',\n            nextDay: '[Għada fil-]LT',\n            nextWeek: 'dddd [fil-]LT',\n            lastDay: '[Il-bieraħ fil-]LT',\n            lastWeek: 'dddd [li għadda] [fil-]LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'f’ %s',\n            past: '%s ilu',\n            s: 'ftit sekondi',\n            ss: '%d sekondi',\n            m: 'minuta',\n            mm: '%d minuti',\n            h: 'siegħa',\n            hh: '%d siegħat',\n            d: 'ġurnata',\n            dd: '%d ġranet',\n            M: 'xahar',\n            MM: '%d xhur',\n            y: 'sena',\n            yy: '%d sni',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '၁',\n            2: '၂',\n            3: '၃',\n            4: '၄',\n            5: '၅',\n            6: '၆',\n            7: '၇',\n            8: '၈',\n            9: '၉',\n            0: '၀',\n        },\n        numberMap = {\n            '၁': '1',\n            '၂': '2',\n            '၃': '3',\n            '၄': '4',\n            '၅': '5',\n            '၆': '6',\n            '၇': '7',\n            '၈': '8',\n            '၉': '9',\n            '၀': '0',\n        };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n            '_'\n        ),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n            '_'\n        ),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss: '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်',\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//!           Sigurd Gartmann : https://github.com/sigurdga\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nb = moment.defineLocale('nb', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s siden',\n            s: 'noen sekunder',\n            ss: '%d sekunder',\n            m: 'ett minutt',\n            mm: '%d minutter',\n            h: 'en time',\n            hh: '%d timer',\n            d: 'en dag',\n            dd: '%d dager',\n            w: 'en uke',\n            ww: '%d uker',\n            M: 'en måned',\n            MM: '%d måneder',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '१',\n            2: '२',\n            3: '३',\n            4: '४',\n            5: '५',\n            6: '६',\n            7: '७',\n            8: '८',\n            9: '९',\n            0: '०',\n        },\n        numberMap = {\n            '१': '1',\n            '२': '2',\n            '३': '3',\n            '४': '4',\n            '५': '5',\n            '६': '6',\n            '७': '7',\n            '८': '8',\n            '९': '9',\n            '०': '0',\n        };\n\n    var ne = moment.defineLocale('ne', {\n        months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n            '_'\n        ),\n        monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n            '_'\n        ),\n        weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'Aको h:mm बजे',\n            LTS: 'Aको h:mm:ss बजे',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar: {\n            sameDay: '[आज] LT',\n            nextDay: '[भोलि] LT',\n            nextWeek: '[आउँदो] dddd[,] LT',\n            lastDay: '[हिजो] LT',\n            lastWeek: '[गएको] dddd[,] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sमा',\n            past: '%s अगाडि',\n            s: 'केही क्षण',\n            ss: '%d सेकेण्ड',\n            m: 'एक मिनेट',\n            mm: '%d मिनेट',\n            h: 'एक घण्टा',\n            hh: '%d घण्टा',\n            d: 'एक दिन',\n            dd: '%d दिन',\n            M: 'एक महिना',\n            MM: '%d महिना',\n            y: 'एक बर्ष',\n            yy: '%d बर्ष',\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n            '_'\n        ),\n        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n            '_'\n        ),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD-MM-YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            w: 'één week',\n            ww: '%d weken',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n            '_'\n        ),\n        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n            '_'\n        ),\n        monthsParse = [\n            /^jan/i,\n            /^feb/i,\n            /^maart|mrt.?$/i,\n            /^apr/i,\n            /^mei$/i,\n            /^jun[i.]?$/i,\n            /^jul[i.]?$/i,\n            /^aug/i,\n            /^sep/i,\n            /^okt/i,\n            /^nov/i,\n            /^dec/i,\n        ],\n        monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n            '_'\n        ),\n        weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'over %s',\n            past: '%s geleden',\n            s: 'een paar seconden',\n            ss: '%d seconden',\n            m: 'één minuut',\n            mm: '%d minuten',\n            h: 'één uur',\n            hh: '%d uur',\n            d: 'één dag',\n            dd: '%d dagen',\n            M: 'één maand',\n            MM: '%d maanden',\n            y: 'één jaar',\n            yy: '%d jaar',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal: function (number) {\n            return (\n                number +\n                (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n            );\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//!           Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var nn = moment.defineLocale('nn', {\n        months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n            '_'\n        ),\n        monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n        weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY [kl.] H:mm',\n            LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: '%s sidan',\n            s: 'nokre sekund',\n            ss: '%d sekund',\n            m: 'eit minutt',\n            mm: '%d minutt',\n            h: 'ein time',\n            hh: '%d timar',\n            d: 'ein dag',\n            dd: '%d dagar',\n            w: 'ei veke',\n            ww: '%d veker',\n            M: 'ein månad',\n            MM: '%d månader',\n            y: 'eit år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ocLnc = moment.defineLocale('oc-lnc', {\n        months: {\n            standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n                '_'\n            ),\n            format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n                '_'\n            ),\n            isFormat: /D[oD]?(\\s)+MMMM/,\n        },\n        monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n            '_'\n        ),\n        weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [de] YYYY',\n            ll: 'D MMM YYYY',\n            LLL: 'D MMMM [de] YYYY [a] H:mm',\n            lll: 'D MMM YYYY, H:mm',\n            LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n            llll: 'ddd D MMM YYYY, H:mm',\n        },\n        calendar: {\n            sameDay: '[uèi a] LT',\n            nextDay: '[deman a] LT',\n            nextWeek: 'dddd [a] LT',\n            lastDay: '[ièr a] LT',\n            lastWeek: 'dddd [passat a] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: \"d'aquí %s\",\n            past: 'fa %s',\n            s: 'unas segondas',\n            ss: '%d segondas',\n            m: 'una minuta',\n            mm: '%d minutas',\n            h: 'una ora',\n            hh: '%d oras',\n            d: 'un jorn',\n            dd: '%d jorns',\n            M: 'un mes',\n            MM: '%d meses',\n            y: 'un an',\n            yy: '%d ans',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal: function (number, period) {\n            var output =\n                number === 1\n                    ? 'r'\n                    : number === 2\n                    ? 'n'\n                    : number === 3\n                    ? 'r'\n                    : number === 4\n                    ? 't'\n                    : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4,\n        },\n    });\n\n    return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '੧',\n            2: '੨',\n            3: '੩',\n            4: '੪',\n            5: '੫',\n            6: '੬',\n            7: '੭',\n            8: '੮',\n            9: '੯',\n            0: '੦',\n        },\n        numberMap = {\n            '੧': '1',\n            '੨': '2',\n            '੩': '3',\n            '੪': '4',\n            '੫': '5',\n            '੬': '6',\n            '੭': '7',\n            '੮': '8',\n            '੯': '9',\n            '੦': '0',\n        };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n            '_'\n        ),\n        weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n            '_'\n        ),\n        weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm ਵਜੇ',\n            LTS: 'A h:mm:ss ਵਜੇ',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n        },\n        calendar: {\n            sameDay: '[ਅਜ] LT',\n            nextDay: '[ਕਲ] LT',\n            nextWeek: '[ਅਗਲਾ] dddd, LT',\n            lastDay: '[ਕਲ] LT',\n            lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s ਵਿੱਚ',\n            past: '%s ਪਿਛਲੇ',\n            s: 'ਕੁਝ ਸਕਿੰਟ',\n            ss: '%d ਸਕਿੰਟ',\n            m: 'ਇਕ ਮਿੰਟ',\n            mm: '%d ਮਿੰਟ',\n            h: 'ਇੱਕ ਘੰਟਾ',\n            hh: '%d ਘੰਟੇ',\n            d: 'ਇੱਕ ਦਿਨ',\n            dd: '%d ਦਿਨ',\n            M: 'ਇੱਕ ਮਹੀਨਾ',\n            MM: '%d ਮਹੀਨੇ',\n            y: 'ਇੱਕ ਸਾਲ',\n            yy: '%d ਸਾਲ',\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n            '_'\n        ),\n        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n            '_'\n        ),\n        monthsParse = [\n            /^sty/i,\n            /^lut/i,\n            /^mar/i,\n            /^kwi/i,\n            /^maj/i,\n            /^cze/i,\n            /^lip/i,\n            /^sie/i,\n            /^wrz/i,\n            /^paź/i,\n            /^lis/i,\n            /^gru/i,\n        ];\n    function plural(n) {\n        return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix ? 'godzina' : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'ww':\n                return result + (plural(number) ? 'tygodnie' : 'tygodni');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months: function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: '%s temu',\n            s: 'kilka sekund',\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: '1 dzień',\n            dd: '%d dni',\n            w: 'tydzień',\n            ww: translate,\n            M: 'miesiąc',\n            MM: translate,\n            y: 'rok',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var pt = moment.defineLocale('pt', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            w: 'uma semana',\n            ww: '%d semanas',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n            '_'\n        ),\n        monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n        weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n            '_'\n        ),\n        weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n        weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D [de] MMMM [de] YYYY',\n            LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return this.day() === 0 || this.day() === 6\n                    ? '[Último] dddd [às] LT' // Saturday + Sunday\n                    : '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'em %s',\n            past: 'há %s',\n            s: 'poucos segundos',\n            ss: '%d segundos',\n            m: 'um minuto',\n            mm: '%d minutos',\n            h: 'uma hora',\n            hh: '%d horas',\n            d: 'um dia',\n            dd: '%d dias',\n            M: 'um mês',\n            MM: '%d meses',\n            y: 'um ano',\n            yy: '%d anos',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        invalidDate: 'Data inválida',\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                ss: 'secunde',\n                mm: 'minute',\n                hh: 'ore',\n                dd: 'zile',\n                ww: 'săptămâni',\n                MM: 'luni',\n                yy: 'ani',\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n            '_'\n        ),\n        monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY H:mm',\n            LLLL: 'dddd, D MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'peste %s',\n            past: '%s în urmă',\n            s: 'câteva secunde',\n            ss: relativeTimeWithPlural,\n            m: 'un minut',\n            mm: relativeTimeWithPlural,\n            h: 'o oră',\n            hh: relativeTimeWithPlural,\n            d: 'o zi',\n            dd: relativeTimeWithPlural,\n            w: 'o săptămână',\n            ww: relativeTimeWithPlural,\n            M: 'o lună',\n            MM: relativeTimeWithPlural,\n            y: 'un an',\n            yy: relativeTimeWithPlural,\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            hh: 'час_часа_часов',\n            dd: 'день_дня_дней',\n            ww: 'неделя_недели_недель',\n            MM: 'месяц_месяца_месяцев',\n            yy: 'год_года_лет',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [\n        /^янв/i,\n        /^фев/i,\n        /^мар/i,\n        /^апр/i,\n        /^ма[йя]/i,\n        /^июн/i,\n        /^июл/i,\n        /^авг/i,\n        /^сен/i,\n        /^окт/i,\n        /^ноя/i,\n        /^дек/i,\n    ];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months: {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n                '_'\n            ),\n            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n                '_'\n            ),\n        },\n        monthsShort: {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n            standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n                '_'\n            ),\n        },\n        weekdays: {\n            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n                '_'\n            ),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n                '_'\n            ),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n        },\n        weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соответствует только сокращённым формам\n        monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY г.',\n            LLL: 'D MMMM YYYY г., H:mm',\n            LLLL: 'dddd, D MMMM YYYY г., H:mm',\n        },\n        calendar: {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'через %s',\n            past: '%s назад',\n            s: 'несколько секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'час',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            w: 'неделя',\n            ww: relativeTimeWithPlural,\n            M: 'месяц',\n            MM: relativeTimeWithPlural,\n            y: 'год',\n            yy: relativeTimeWithPlural,\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM: function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوري',\n            'فيبروري',\n            'مارچ',\n            'اپريل',\n            'مئي',\n            'جون',\n            'جولاءِ',\n            'آگسٽ',\n            'سيپٽمبر',\n            'آڪٽوبر',\n            'نومبر',\n            'ڊسمبر',\n        ],\n        days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n    var sd = moment.defineLocale('sd', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[اڄ] LT',\n            nextDay: '[سڀاڻي] LT',\n            nextWeek: 'dddd [اڳين هفتي تي] LT',\n            lastDay: '[ڪالهه] LT',\n            lastWeek: '[گزريل هفتي] dddd [تي] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s پوء',\n            past: '%s اڳ',\n            s: 'چند سيڪنڊ',\n            ss: '%d سيڪنڊ',\n            m: 'هڪ منٽ',\n            mm: '%d منٽ',\n            h: 'هڪ ڪلاڪ',\n            hh: '%d ڪلاڪ',\n            d: 'هڪ ڏينهن',\n            dd: '%d ڏينهن',\n            M: 'هڪ مهينو',\n            MM: '%d مهينا',\n            y: 'هڪ سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var se = moment.defineLocale('se', {\n        months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n            '_'\n        ),\n        monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(\n            '_'\n        ),\n        weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n            '_'\n        ),\n        weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'MMMM D. [b.] YYYY',\n            LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n        },\n        calendar: {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s geažes',\n            past: 'maŋit %s',\n            s: 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m: 'okta minuhta',\n            mm: '%d minuhtat',\n            h: 'okta diimmu',\n            hh: '%d diimmut',\n            d: 'okta beaivi',\n            dd: '%d beaivvit',\n            M: 'okta mánnu',\n            MM: '%d mánut',\n            y: 'okta jahki',\n            yy: '%d jagit',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n            '_'\n        ),\n        monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n            '_'\n        ),\n        weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n            '_'\n        ),\n        weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'a h:mm',\n            LTS: 'a h:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY MMMM D',\n            LLL: 'YYYY MMMM D, a h:mm',\n            LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n        },\n        calendar: {\n            sameDay: '[අද] LT[ට]',\n            nextDay: '[හෙට] LT[ට]',\n            nextWeek: 'dddd LT[ට]',\n            lastDay: '[ඊයේ] LT[ට]',\n            lastWeek: '[පසුගිය] dddd LT[ට]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%sකින්',\n            past: '%sකට පෙර',\n            s: 'තත්පර කිහිපය',\n            ss: 'තත්පර %d',\n            m: 'මිනිත්තුව',\n            mm: 'මිනිත්තු %d',\n            h: 'පැය',\n            hh: 'පැය %d',\n            d: 'දිනය',\n            dd: 'දින %d',\n            M: 'මාසය',\n            MM: 'මාස %d',\n            y: 'වසර',\n            yy: 'වසර %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal: function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM: function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        },\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n            '_'\n        ),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return n > 1 && n < 5;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's': // a few seconds / in a few seconds / a few seconds ago\n                return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n            case 'm': // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n            case 'h': // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n            case 'd': // a day / in a day / a day ago\n                return withoutSuffix || isFuture ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n            case 'M': // a month / in a month / a month ago\n                return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n            case 'y': // a year / in a year / a year ago\n                return withoutSuffix || isFuture ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months: months,\n        monthsShort: monthsShort,\n        weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pred %s',\n            s: translate,\n            ss: translate,\n            m: translate,\n            mm: translate,\n            h: translate,\n            hh: translate,\n            d: translate,\n            dd: translate,\n            M: translate,\n            MM: translate,\n            y: translate,\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture\n                    ? 'nekaj sekund'\n                    : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD. MM. YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm',\n        },\n        calendar: {\n            sameDay: '[danes ob] LT',\n            nextDay: '[jutri ob] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay: '[včeraj ob] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'čez %s',\n            past: 'pred %s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sq = moment.defineLocale('sq', {\n        months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n            '_'\n        ),\n        weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem: function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Sot në] LT',\n            nextDay: '[Nesër në] LT',\n            nextWeek: 'dddd [në] LT',\n            lastDay: '[Dje në] LT',\n            lastWeek: 'dddd [e kaluar në] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'në %s',\n            past: '%s më parë',\n            s: 'disa sekonda',\n            ss: '%d sekonda',\n            m: 'një minutë',\n            mm: '%d minuta',\n            h: 'një orë',\n            hh: '%d orë',\n            d: 'një ditë',\n            dd: '%d ditë',\n            M: 'një muaj',\n            MM: '%d muaj',\n            y: 'një vit',\n            yy: '%d vite',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jedne minute'],\n            mm: ['minut', 'minute', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            yy: ['godina', 'godine', 'godina'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                ? wordKey[1]\n                : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n            '_'\n        ),\n        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n            '_'\n        ),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay: '[juče u] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'za %s',\n            past: 'pre %s',\n            s: 'nekoliko sekundi',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'dan',\n            dd: translator.translate,\n            M: 'mesec',\n            MM: translator.translate,\n            y: 'godinu',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var translator = {\n        words: {\n            //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једне минуте'],\n            mm: ['минут', 'минуте', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            dd: ['дан', 'дана', 'дана'],\n            MM: ['месец', 'месеца', 'месеци'],\n            yy: ['година', 'године', 'година'],\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1\n                ? wordKey[0]\n                : number >= 2 && number <= 4\n                ? wordKey[1]\n                : wordKey[2];\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return (\n                    number +\n                    ' ' +\n                    translator.correctGrammaticalCase(number, wordKey)\n                );\n            }\n        },\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n            '_'\n        ),\n        monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'D. M. YYYY.',\n            LL: 'D. MMMM YYYY.',\n            LLL: 'D. MMMM YYYY. H:mm',\n            LLLL: 'dddd, D. MMMM YYYY. H:mm',\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay: '[јуче у] LT',\n            lastWeek: function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT',\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: 'пре %s',\n            s: 'неколико секунди',\n            ss: translator.translate,\n            m: translator.translate,\n            mm: translator.translate,\n            h: translator.translate,\n            hh: translator.translate,\n            d: 'дан',\n            dd: translator.translate,\n            M: 'месец',\n            MM: translator.translate,\n            y: 'годину',\n            yy: translator.translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ss = moment.defineLocale('ss', {\n        months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n            '_'\n        ),\n        monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Namuhla nga] LT',\n            nextDay: '[Kusasa nga] LT',\n            nextWeek: 'dddd [nga] LT',\n            lastDay: '[Itolo nga] LT',\n            lastWeek: 'dddd [leliphelile] [nga] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'nga %s',\n            past: 'wenteka nga %s',\n            s: 'emizuzwana lomcane',\n            ss: '%d mzuzwana',\n            m: 'umzuzu',\n            mm: '%d emizuzu',\n            h: 'lihora',\n            hh: '%d emahora',\n            d: 'lilanga',\n            dd: '%d emalanga',\n            M: 'inyanga',\n            MM: '%d tinyanga',\n            y: 'umnyaka',\n            yy: '%d iminyaka',\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: '%d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sv = moment.defineLocale('sv', {\n        months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n            '_'\n        ),\n        monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [kl.] HH:mm',\n            LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'om %s',\n            past: 'för %s sedan',\n            s: 'några sekunder',\n            ss: '%d sekunder',\n            m: 'en minut',\n            mm: '%d minuter',\n            h: 'en timme',\n            hh: '%d timmar',\n            d: 'en dag',\n            dd: '%d dagar',\n            M: 'en månad',\n            MM: '%d månader',\n            y: 'ett år',\n            yy: '%d år',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? ':e'\n                        : b === 1\n                        ? ':a'\n                        : b === 2\n                        ? ':a'\n                        : b === 3\n                        ? ':e'\n                        : ':e';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var sw = moment.defineLocale('sw', {\n        months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'hh:mm A',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[leo saa] LT',\n            nextDay: '[kesho saa] LT',\n            nextWeek: '[wiki ijayo] dddd [saat] LT',\n            lastDay: '[jana] LT',\n            lastWeek: '[wiki iliyopita] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s baadaye',\n            past: 'tokea %s',\n            s: 'hivi punde',\n            ss: 'sekunde %d',\n            m: 'dakika moja',\n            mm: 'dakika %d',\n            h: 'saa limoja',\n            hh: 'masaa %d',\n            d: 'siku moja',\n            dd: 'siku %d',\n            M: 'mwezi mmoja',\n            MM: 'miezi %d',\n            y: 'mwaka mmoja',\n            yy: 'miaka %d',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var symbolMap = {\n            1: '௧',\n            2: '௨',\n            3: '௩',\n            4: '௪',\n            5: '௫',\n            6: '௬',\n            7: '௭',\n            8: '௮',\n            9: '௯',\n            0: '௦',\n        },\n        numberMap = {\n            '௧': '1',\n            '௨': '2',\n            '௩': '3',\n            '௪': '4',\n            '௫': '5',\n            '௬': '6',\n            '௭': '7',\n            '௮': '8',\n            '௯': '9',\n            '௦': '0',\n        };\n\n    var ta = moment.defineLocale('ta', {\n        months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n            '_'\n        ),\n        weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n            '_'\n        ),\n        weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n            '_'\n        ),\n        weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, HH:mm',\n            LLLL: 'dddd, D MMMM YYYY, HH:mm',\n        },\n        calendar: {\n            sameDay: '[இன்று] LT',\n            nextDay: '[நாளை] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[நேற்று] LT',\n            lastWeek: '[கடந்த வாரம்] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s இல்',\n            past: '%s முன்',\n            s: 'ஒரு சில விநாடிகள்',\n            ss: '%d விநாடிகள்',\n            m: 'ஒரு நிமிடம்',\n            mm: '%d நிமிடங்கள்',\n            h: 'ஒரு மணி நேரம்',\n            hh: '%d மணி நேரம்',\n            d: 'ஒரு நாள்',\n            dd: '%d நாட்கள்',\n            M: 'ஒரு மாதம்',\n            MM: '%d மாதங்கள்',\n            y: 'ஒரு வருடம்',\n            yy: '%d ஆண்டுகள்',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal: function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை'; // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var te = moment.defineLocale('te', {\n        months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n            '_'\n        ),\n        monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n            '_'\n        ),\n        weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm',\n            LTS: 'A h:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm',\n        },\n        calendar: {\n            sameDay: '[నేడు] LT',\n            nextDay: '[రేపు] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[నిన్న] LT',\n            lastWeek: '[గత] dddd, LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s లో',\n            past: '%s క్రితం',\n            s: 'కొన్ని క్షణాలు',\n            ss: '%d సెకన్లు',\n            m: 'ఒక నిమిషం',\n            mm: '%d నిమిషాలు',\n            h: 'ఒక గంట',\n            hh: '%d గంటలు',\n            d: 'ఒక రోజు',\n            dd: '%d రోజులు',\n            M: 'ఒక నెల',\n            MM: '%d నెలలు',\n            y: 'ఒక సంవత్సరం',\n            yy: '%d సంవత్సరాలు',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n        ordinal: '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6, // The week that contains Jan 6th is the first week of the year.\n        },\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tet = moment.defineLocale('tet', {\n        months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'iha %s',\n            past: '%s liuba',\n            s: 'segundu balun',\n            ss: 'segundu %d',\n            m: 'minutu ida',\n            mm: 'minutu %d',\n            h: 'oras ida',\n            hh: 'oras %d',\n            d: 'loron ida',\n            dd: 'loron %d',\n            M: 'fulan ida',\n            MM: 'fulan %d',\n            y: 'tinan ida',\n            yy: 'tinan %d',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум',\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months: {\n            format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n                '_'\n            ),\n            standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n                '_'\n            ),\n        },\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n            '_'\n        ),\n        weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Имрӯз соати] LT',\n            nextDay: '[Фардо соати] LT',\n            lastDay: '[Дирӯз соати] LT',\n            nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'баъди %s',\n            past: '%s пеш',\n            s: 'якчанд сония',\n            m: 'як дақиқа',\n            mm: '%d дақиқа',\n            h: 'як соат',\n            hh: '%d соат',\n            d: 'як рӯз',\n            dd: '%d рӯз',\n            M: 'як моҳ',\n            MM: '%d моҳ',\n            y: 'як сол',\n            yy: '%d сол',\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1th is the first week of the year.\n        },\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var th = moment.defineLocale('th', {\n        months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n            '_'\n        ),\n        monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS: 'H:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY เวลา H:mm',\n            LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar: {\n            sameDay: '[วันนี้ เวลา] LT',\n            nextDay: '[พรุ่งนี้ เวลา] LT',\n            nextWeek: 'dddd[หน้า เวลา] LT',\n            lastDay: '[เมื่อวานนี้ เวลา] LT',\n            lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'อีก %s',\n            past: '%sที่แล้ว',\n            s: 'ไม่กี่วินาที',\n            ss: '%d วินาที',\n            m: '1 นาที',\n            mm: '%d นาที',\n            h: '1 ชั่วโมง',\n            hh: '%d ชั่วโมง',\n            d: '1 วัน',\n            dd: '%d วัน',\n            w: '1 สัปดาห์',\n            ww: '%d สัปดาห์',\n            M: '1 เดือน',\n            MM: '%d เดือน',\n            y: '1 ปี',\n            yy: '%d ปี',\n        },\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inji\",\n        5: \"'inji\",\n        8: \"'inji\",\n        70: \"'inji\",\n        80: \"'inji\",\n        2: \"'nji\",\n        7: \"'nji\",\n        20: \"'nji\",\n        50: \"'nji\",\n        3: \"'ünji\",\n        4: \"'ünji\",\n        100: \"'ünji\",\n        6: \"'njy\",\n        9: \"'unjy\",\n        10: \"'unjy\",\n        30: \"'unjy\",\n        60: \"'ynjy\",\n        90: \"'ynjy\",\n    };\n\n    var tk = moment.defineLocale('tk', {\n        months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n        weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n            '_'\n        ),\n        weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n        weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün sagat] LT',\n            nextDay: '[ertir sagat] LT',\n            nextWeek: '[indiki] dddd [sagat] LT',\n            lastDay: '[düýn] LT',\n            lastWeek: '[geçen] dddd [sagat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s soň',\n            past: '%s öň',\n            s: 'birnäçe sekunt',\n            m: 'bir minut',\n            mm: '%d minut',\n            h: 'bir sagat',\n            hh: '%d sagat',\n            d: 'bir gün',\n            dd: '%d gün',\n            M: 'bir aý',\n            MM: '%d aý',\n            y: 'bir ýyl',\n            yy: '%d ýyl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'unjy\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n            '_'\n        ),\n        monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n            '_'\n        ),\n        weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'MM/D/YYYY',\n            LL: 'MMMM D, YYYY',\n            LLL: 'MMMM D, YYYY HH:mm',\n            LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'sa loob ng %s',\n            past: '%s ang nakalipas',\n            s: 'ilang segundo',\n            ss: '%d segundo',\n            m: 'isang minuto',\n            mm: '%d minuto',\n            h: 'isang oras',\n            hh: '%d oras',\n            d: 'isang araw',\n            dd: '%d araw',\n            M: 'isang buwan',\n            MM: '%d buwan',\n            y: 'isang taon',\n            yy: '%d taon',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'leS'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'waQ'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'nem'\n                : time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time =\n            output.indexOf('jaj') !== -1\n                ? time.slice(0, -3) + 'Hu’'\n                : output.indexOf('jar') !== -1\n                ? time.slice(0, -3) + 'wen'\n                : output.indexOf('DIS') !== -1\n                ? time.slice(0, -3) + 'ben'\n                : time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n            ten = Math.floor((number % 100) / 10),\n            one = number % 10,\n            word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += (word !== '' ? ' ' : '') + numbersNouns[one];\n        }\n        return word === '' ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n            '_'\n        ),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: translateFuture,\n            past: translatePast,\n            s: 'puS lup',\n            ss: translate,\n            m: 'wa’ tup',\n            mm: translate,\n            h: 'wa’ rep',\n            hh: translate,\n            d: 'wa’ jaj',\n            dd: translate,\n            M: 'wa’ jar',\n            MM: translate,\n            y: 'wa’ DIS',\n            yy: translate,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//!           Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var suffixes = {\n        1: \"'inci\",\n        5: \"'inci\",\n        8: \"'inci\",\n        70: \"'inci\",\n        80: \"'inci\",\n        2: \"'nci\",\n        7: \"'nci\",\n        20: \"'nci\",\n        50: \"'nci\",\n        3: \"'üncü\",\n        4: \"'üncü\",\n        100: \"'üncü\",\n        6: \"'ncı\",\n        9: \"'uncu\",\n        10: \"'uncu\",\n        30: \"'uncu\",\n        60: \"'ıncı\",\n        90: \"'ıncı\",\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n            '_'\n        ),\n        monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n            '_'\n        ),\n        weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n        weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'öö' : 'ÖÖ';\n            } else {\n                return isLower ? 'ös' : 'ÖS';\n            }\n        },\n        meridiemParse: /öö|ÖÖ|ös|ÖS/,\n        isPM: function (input) {\n            return input === 'ös' || input === 'ÖS';\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[bugün saat] LT',\n            nextDay: '[yarın saat] LT',\n            nextWeek: '[gelecek] dddd [saat] LT',\n            lastDay: '[dün] LT',\n            lastWeek: '[geçen] dddd [saat] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s sonra',\n            past: '%s önce',\n            s: 'birkaç saniye',\n            ss: '%d saniye',\n            m: 'bir dakika',\n            mm: '%d dakika',\n            h: 'bir saat',\n            hh: '%d saat',\n            d: 'bir gün',\n            dd: '%d gün',\n            w: 'bir hafta',\n            ww: '%d hafta',\n            M: 'bir ay',\n            MM: '%d ay',\n            y: 'bir yıl',\n            yy: '%d yıl',\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {\n                        // special case for zero\n                        return number + \"'ıncı\";\n                    }\n                    var a = number % 10,\n                        b = (number % 100) - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n            '_'\n        ),\n        monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat: {\n            LT: 'HH.mm',\n            LTS: 'HH.mm.ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM [dallas] YYYY',\n            LLL: 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM: function (input) {\n            return \"d'o\" === input.toLowerCase();\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? \"d'o\" : \"D'O\";\n            } else {\n                return isLower ? \"d'a\" : \"D'A\";\n            }\n        },\n        calendar: {\n            sameDay: '[oxhi à] LT',\n            nextDay: '[demà à] LT',\n            nextWeek: 'dddd [à] LT',\n            lastDay: '[ieiri à] LT',\n            lastWeek: '[sür el] dddd [lasteu à] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'osprei %s',\n            past: 'ja%s',\n            s: processRelativeTime,\n            ss: processRelativeTime,\n            m: processRelativeTime,\n            mm: processRelativeTime,\n            h: processRelativeTime,\n            hh: processRelativeTime,\n            d: processRelativeTime,\n            dd: processRelativeTime,\n            M: processRelativeTime,\n            MM: processRelativeTime,\n            y: processRelativeTime,\n            yy: processRelativeTime,\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            s: ['viensas secunds', \"'iensas secunds\"],\n            ss: [number + ' secunds', '' + number + ' secunds'],\n            m: [\"'n míut\", \"'iens míut\"],\n            mm: [number + ' míuts', '' + number + ' míuts'],\n            h: [\"'n þora\", \"'iensa þora\"],\n            hh: [number + ' þoras', '' + number + ' þoras'],\n            d: [\"'n ziua\", \"'iensa ziua\"],\n            dd: [number + ' ziuas', '' + number + ' ziuas'],\n            M: [\"'n mes\", \"'iens mes\"],\n            MM: [number + ' mesen', '' + number + ' mesen'],\n            y: [\"'n ar\", \"'iens ar\"],\n            yy: [number + ' ars', '' + number + ' ars'],\n        };\n        return isFuture\n            ? format[key][0]\n            : withoutSuffix\n            ? format[key][0]\n            : format[key][1];\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzm = moment.defineLocale('tzm', {\n        months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n            '_'\n        ),\n        weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past: 'ⵢⴰⵏ %s',\n            s: 'ⵉⵎⵉⴽ',\n            ss: '%d ⵉⵎⵉⴽ',\n            m: 'ⵎⵉⵏⵓⴺ',\n            mm: '%d ⵎⵉⵏⵓⴺ',\n            h: 'ⵙⴰⵄⴰ',\n            hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d: 'ⴰⵙⵙ',\n            dd: '%d oⵙⵙⴰⵏ',\n            M: 'ⴰⵢoⵓⵔ',\n            MM: '%d ⵉⵢⵢⵉⵔⵏ',\n            y: 'ⴰⵙⴳⴰⵙ',\n            yy: '%d ⵉⵙⴳⴰⵙⵏ',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n            '_'\n        ),\n        weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'dadkh s yan %s',\n            past: 'yan %s',\n            s: 'imik',\n            ss: '%d imik',\n            m: 'minuḍ',\n            mm: '%d minuḍ',\n            h: 'saɛa',\n            hh: '%d tassaɛin',\n            d: 'ass',\n            dd: '%d ossan',\n            M: 'ayowr',\n            MM: '%d iyyirn',\n            y: 'asgas',\n            yy: '%d isgasn',\n        },\n        week: {\n            dow: 6, // Saturday is the first day of the week.\n            doy: 12, // The week that contains Jan 12th is the first week of the year.\n        },\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل',\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 1st is the first week of the year.\n        },\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11\n            ? forms[0]\n            : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n            ? forms[1]\n            : forms[2];\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            dd: 'день_дні_днів',\n            MM: 'місяць_місяці_місяців',\n            yy: 'рік_роки_років',\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        } else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        } else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n                nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n                    '_'\n                ),\n                accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n                    '_'\n                ),\n                genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n                    '_'\n                ),\n            },\n            nounCase;\n\n        if (m === true) {\n            return weekdays['nominative']\n                .slice(1, 7)\n                .concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n            ? 'accusative'\n            : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n            ? 'genitive'\n            : 'nominative';\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months: {\n            format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n                '_'\n            ),\n            standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n                '_'\n            ),\n        },\n        monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n            '_'\n        ),\n        weekdays: weekdaysCaseReplace,\n        weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D MMMM YYYY р.',\n            LLL: 'D MMMM YYYY р., HH:mm',\n            LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n        },\n        calendar: {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'за %s',\n            past: '%s тому',\n            s: 'декілька секунд',\n            ss: relativeTimeWithPlural,\n            m: relativeTimeWithPlural,\n            mm: relativeTimeWithPlural,\n            h: 'годину',\n            hh: relativeTimeWithPlural,\n            d: 'день',\n            dd: relativeTimeWithPlural,\n            M: 'місяць',\n            MM: relativeTimeWithPlural,\n            y: 'рік',\n            yy: relativeTimeWithPlural,\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var months = [\n            'جنوری',\n            'فروری',\n            'مارچ',\n            'اپریل',\n            'مئی',\n            'جون',\n            'جولائی',\n            'اگست',\n            'ستمبر',\n            'اکتوبر',\n            'نومبر',\n            'دسمبر',\n        ],\n        days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n    var ur = moment.defineLocale('ur', {\n        months: months,\n        monthsShort: months,\n        weekdays: days,\n        weekdaysShort: days,\n        weekdaysMin: days,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd، D MMMM YYYY HH:mm',\n        },\n        meridiemParse: /صبح|شام/,\n        isPM: function (input) {\n            return 'شام' === input;\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar: {\n            sameDay: '[آج بوقت] LT',\n            nextDay: '[کل بوقت] LT',\n            nextWeek: 'dddd [بوقت] LT',\n            lastDay: '[گذشتہ روز بوقت] LT',\n            lastWeek: '[گذشتہ] dddd [بوقت] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s بعد',\n            past: '%s قبل',\n            s: 'چند سیکنڈ',\n            ss: '%d سیکنڈ',\n            m: 'ایک منٹ',\n            mm: '%d منٹ',\n            h: 'ایک گھنٹہ',\n            hh: '%d گھنٹے',\n            d: 'ایک دن',\n            dd: '%d دن',\n            M: 'ایک ماہ',\n            MM: '%d ماہ',\n            y: 'ایک سال',\n            yy: '%d سال',\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uz = moment.defineLocale('uz', {\n        months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n            '_'\n        ),\n        monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Бугун соат] LT [да]',\n            nextDay: '[Эртага] LT [да]',\n            nextWeek: 'dddd [куни соат] LT [да]',\n            lastDay: '[Кеча соат] LT [да]',\n            lastWeek: '[Утган] dddd [куни соат] LT [да]',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Якин %s ичида',\n            past: 'Бир неча %s олдин',\n            s: 'фурсат',\n            ss: '%d фурсат',\n            m: 'бир дакика',\n            mm: '%d дакика',\n            h: 'бир соат',\n            hh: '%d соат',\n            d: 'бир кун',\n            dd: '%d кун',\n            M: 'бир ой',\n            MM: '%d ой',\n            y: 'бир йил',\n            yy: '%d йил',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n            '_'\n        ),\n        monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n            '_'\n        ),\n        weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'D MMMM YYYY, dddd HH:mm',\n        },\n        calendar: {\n            sameDay: '[Bugun soat] LT [da]',\n            nextDay: '[Ertaga] LT [da]',\n            nextWeek: 'dddd [kuni soat] LT [da]',\n            lastDay: '[Kecha soat] LT [da]',\n            lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'Yaqin %s ichida',\n            past: 'Bir necha %s oldin',\n            s: 'soniya',\n            ss: '%d soniya',\n            m: 'bir daqiqa',\n            mm: '%d daqiqa',\n            h: 'bir soat',\n            hh: '%d soat',\n            d: 'bir kun',\n            dd: '%d kun',\n            M: 'bir oy',\n            MM: '%d oy',\n            y: 'bir yil',\n            yy: '%d yil',\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 7, // The week that contains Jan 7th is the first week of the year.\n        },\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var vi = moment.defineLocale('vi', {\n        months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n            '_'\n        ),\n        monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n            '_'\n        ),\n        weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact: true,\n        meridiemParse: /sa|ch/i,\n        isPM: function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem: function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM [năm] YYYY',\n            LLL: 'D MMMM [năm] YYYY HH:mm',\n            LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n            l: 'DD/M/YYYY',\n            ll: 'D MMM YYYY',\n            lll: 'D MMM YYYY HH:mm',\n            llll: 'ddd, D MMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần trước lúc] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: '%s tới',\n            past: '%s trước',\n            s: 'vài giây',\n            ss: '%d giây',\n            m: 'một phút',\n            mm: '%d phút',\n            h: 'một giờ',\n            hh: '%d giờ',\n            d: 'một ngày',\n            dd: '%d ngày',\n            w: 'một tuần',\n            ww: '%d tuần',\n            M: 'một tháng',\n            MM: '%d tháng',\n            y: 'một năm',\n            yy: '%d năm',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal: function (number) {\n            return number;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n            '_'\n        ),\n        monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n            '_'\n        ),\n        monthsParseExact: true,\n        weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n            '_'\n        ),\n        weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm',\n        },\n        calendar: {\n            sameDay: '[T~ódá~ý át] LT',\n            nextDay: '[T~ómó~rró~w át] LT',\n            nextWeek: 'dddd [át] LT',\n            lastDay: '[Ý~ést~érdá~ý át] LT',\n            lastWeek: '[L~ást] dddd [át] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'í~ñ %s',\n            past: '%s á~gó',\n            s: 'á ~féw ~sécó~ñds',\n            ss: '%d s~écóñ~ds',\n            m: 'á ~míñ~úté',\n            mm: '%d m~íñú~tés',\n            h: 'á~ñ hó~úr',\n            hh: '%d h~óúrs',\n            d: 'á ~dáý',\n            dd: '%d d~áýs',\n            M: 'á ~móñ~th',\n            MM: '%d m~óñt~hs',\n            y: 'á ~ýéár',\n            yy: '%d ý~éárs',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal: function (number) {\n            var b = number % 10,\n                output =\n                    ~~((number % 100) / 10) === 1\n                        ? 'th'\n                        : b === 1\n                        ? 'st'\n                        : b === 2\n                        ? 'nd'\n                        : b === 3\n                        ? 'rd'\n                        : 'th';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var yo = moment.defineLocale('yo', {\n        months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n            '_'\n        ),\n        monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat: {\n            LT: 'h:mm A',\n            LTS: 'h:mm:ss A',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY h:mm A',\n            LLLL: 'dddd, D MMMM YYYY h:mm A',\n        },\n        calendar: {\n            sameDay: '[Ònì ni] LT',\n            nextDay: '[Ọ̀la ni] LT',\n            nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n            lastDay: '[Àna ni] LT',\n            lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse: 'L',\n        },\n        relativeTime: {\n            future: 'ní %s',\n            past: '%s kọjá',\n            s: 'ìsẹjú aayá die',\n            ss: 'aayá %d',\n            m: 'ìsẹjú kan',\n            mm: 'ìsẹjú %d',\n            h: 'wákati kan',\n            hh: 'wákati %d',\n            d: 'ọjọ́ kan',\n            dd: 'ọjọ́ %d',\n            M: 'osù kan',\n            MM: 'osù %d',\n            y: 'ọdún kan',\n            yy: 'ọdún %d',\n        },\n        dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n        ordinal: 'ọjọ́ %d',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日Ah点mm分',\n            LLLL: 'YYYY年M月D日ddddAh点mm分',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    return '[下]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            lastDay: '[昨天]LT',\n            lastWeek: function (now) {\n                if (this.week() !== now.week()) {\n                    return '[上]dddLT';\n                } else {\n                    return '[本]dddLT';\n                }\n            },\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s后',\n            past: '%s前',\n            s: '几秒',\n            ss: '%d 秒',\n            m: '1 分钟',\n            mm: '%d 分钟',\n            h: '1 小时',\n            hh: '%d 小时',\n            d: '1 天',\n            dd: '%d 天',\n            w: '1 周',\n            ww: '%d 周',\n            M: '1 个月',\n            MM: '%d 个月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 4, // The week that contains Jan 4th is the first week of the year.\n        },\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1200) {\n                return '上午';\n            } else if (hm === 1200) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天]LT',\n            nextDay: '[明天]LT',\n            nextWeek: '[下]ddddLT',\n            lastDay: '[昨天]LT',\n            lastWeek: '[上]ddddLT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhMo = moment.defineLocale('zh-mo', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'D/M/YYYY',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s內',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    //! moment.js locale configuration\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n            '_'\n        ),\n        monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n            '_'\n        ),\n        weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY/MM/DD',\n            LL: 'YYYY年M月D日',\n            LLL: 'YYYY年M月D日 HH:mm',\n            LLLL: 'YYYY年M月D日dddd HH:mm',\n            l: 'YYYY/M/D',\n            ll: 'YYYY年M月D日',\n            lll: 'YYYY年M月D日 HH:mm',\n            llll: 'YYYY年M月D日dddd HH:mm',\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar: {\n            sameDay: '[今天] LT',\n            nextDay: '[明天] LT',\n            nextWeek: '[下]dddd LT',\n            lastDay: '[昨天] LT',\n            lastWeek: '[上]dddd LT',\n            sameElse: 'L',\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '週';\n                default:\n                    return number;\n            }\n        },\n        relativeTime: {\n            future: '%s後',\n            past: '%s前',\n            s: '幾秒',\n            ss: '%d 秒',\n            m: '1 分鐘',\n            mm: '%d 分鐘',\n            h: '1 小時',\n            hh: '%d 小時',\n            d: '1 天',\n            dd: '%d 天',\n            M: '1 個月',\n            MM: '%d 個月',\n            y: '1 年',\n            yy: '%d 年',\n        },\n    });\n\n    return zhTw;\n\n})));\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { pickValuesFromColorScheme } from '../../../colorUtils';\nexport var dividerColorAreas = stringLiteralsArray('foreground');\nexport var dividerVariables = function dividerVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(siteVars.colorScheme, dividerColorAreas),\n    dividerColor: siteVars.colors.grey[150],\n    textColor: siteVars.colors.grey[450],\n    textFontSize: siteVars.fontSizeSmall,\n    textLineHeight: siteVars.lineHeightSmall,\n    importantFontWeight: siteVars.fontWeightBold,\n    dividerPadding: pxToRem(4)\n  };\n};\n//# sourceMappingURL=dividerVariables.js.map\n","import { pxToRem, stringLiteralsArray } from '../../../../utils';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var toolbarColorAreas = stringLiteralsArray('foreground1', 'background', 'border', 'foregroundActive', 'foregroundHover', 'backgroundHover', 'foregroundDisabled1', // custom\n'menuItemForegroundHover', 'menuItemBackgroundHover');\nexport var toolbarVariables = function toolbarVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n      default: {\n        foregroundHover: siteVars.colorScheme.brand.foregroundHover,\n        backgroundHover: 'transparent',\n        foregroundActive: siteVars.colorScheme.brand.foregroundActive,\n        menuItemForegroundHover: siteVars.colorScheme.default.foregroundHover,\n        menuItemBackgroundHover: siteVars.colorScheme.default.backgroundHover\n      }\n    }), toolbarColorAreas),\n    foreground: undefined,\n    background: 'transparent',\n    dividerBorder: undefined,\n    foregroundHover: undefined,\n    backgroundHover: undefined,\n    foregroundActive: undefined,\n    backgroundActive: 'transparent',\n    foregroundDisabled: undefined,\n    backgroundDisabled: 'transparent',\n    itemHeight: pxToRem(32),\n    itemPadding: '0',\n    borderWidth: '2px',\n    borderRadius: '50%',\n    dividerMargin: pxToRem(10) + \" \" + pxToRem(4),\n    menuMaxWidth: pxToRem(312),\n    menuPadding: pxToRem(8) + \" 0\",\n    menuBackground: undefined,\n    menuBorder: undefined,\n    menuBorderWidth: '1px',\n    menuBorderRadius: pxToRem(4),\n    menuBoxShadow: siteVars.shadowLevel3,\n    menuItemForeground: undefined,\n    menuItemForegroundHover: undefined,\n    menuItemBackgroundHover: undefined,\n    menuItemForegroundDisabled: undefined,\n    menuItemBackgroundDisabled: 'transparent',\n    menuItemPadding: pxToRem(5) + \" \" + pxToRem(15),\n    menuDividerBorder: undefined,\n    menuDividerMargin: pxToRem(8) + \" 0\",\n    customItemHorizontalPadding: pxToRem(16),\n    customItemVerticalPadding: pxToRem(4),\n    overlayZIndex: siteVars.zIndexes.overlay,\n    lineHeightBase: siteVars.lineHeightMedium\n  };\n};\n//# sourceMappingURL=toolbarVariables.js.map\n","export default function _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}","export var _isSSR = false;\n/**\n * Helper to set ssr mode to simulate no window object returned from getWindow helper.\n *\n * @public\n */\nexport function setSSR(isEnabled) {\n    _isSSR = isEnabled;\n}\n//# sourceMappingURL=setSSR.js.map","module.exports = require('./head');\n","import { createContext } from '@fluentui/react-bindings';\nexport var ChatItemContext = createContext({\n  attached: false\n});\nexport var ChatItemContextProvider = ChatItemContext.Provider;\n//# sourceMappingURL=chatItemContext.js.map\n","/**\n * Returns the parent node or the host of the node argument.\n * @param node - DOM node.\n * @returns - parent DOM node.\n */\nexport var getParentNode = function getParentNode(node) {\n  if (node.nodeName === 'HTML') return node;\n  return node.parentNode || node.host;\n};\n/**\n * Returns CSS styles of the given node.\n * @param node - DOM node.\n * @returns - CSS styles.\n */\n\nvar getStyleComputedProperty = function getStyleComputedProperty(node) {\n  if (node.nodeType !== 1) return {};\n  var window = node.ownerDocument.defaultView;\n  return window.getComputedStyle(node, null);\n};\n/**\n * Returns the first scrollable parent of the given element.\n * @param node - DOM node.\n * @returns - the first scrollable parent.\n */\n\n\nexport var getScrollParent = function getScrollParent(node) {\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n  var parentNode = node && getParentNode(node); // eslint-disable-next-line\n\n  if (!parentNode) return document.body;\n\n  switch (parentNode.nodeName) {\n    case 'HTML':\n    case 'BODY':\n      return parentNode.ownerDocument.body;\n\n    case '#document':\n      return parentNode.body;\n  } // If any of the overflow props is defined for the node then we return it as the parent\n\n\n  var _getStyleComputedProp = getStyleComputedProperty(parentNode),\n      overflow = _getStyleComputedProp.overflow,\n      overflowX = _getStyleComputedProp.overflowX,\n      overflowY = _getStyleComputedProp.overflowY;\n\n  if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) return parentNode;\n  return getScrollParent(parentNode);\n};\n//# sourceMappingURL=getScrollParent.js.map\n","var baseIsEqual = require('./_baseIsEqual');\n\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 */\nfunction isEqual(value, other) {\n  return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","import { compose } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var menuItemIconClassName = 'ui-menu__itemicon';\n/**\n * A MenuItemIcon allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var MenuItemIcon = /*#__PURE__*/function () {\n  var MenuItemIcon = compose(Box, {\n    className: menuItemIconClassName,\n    displayName: 'MenuItemIcon',\n    mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n      return {\n        hasContent: props.hasContent,\n        iconOnly: props.iconOnly\n      };\n    },\n    handledProps: ['hasContent', 'iconOnly'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  MenuItemIcon.defaultProps = {\n    as: 'span'\n  };\n  MenuItemIcon.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    hasContent: PropTypes.bool,\n    iconOnly: PropTypes.bool\n  });\n  return MenuItemIcon;\n}();\n//# sourceMappingURL=MenuItemIcon.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var menuItemContentClassName = 'ui-menu__itemcontent';\n/**\n * A MenuItemContent allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var MenuItemContent = /*#__PURE__*/function () {\n  var MenuItemContent = compose(Box, {\n    className: menuItemContentClassName,\n    displayName: 'MenuItemContent',\n    mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n      return {\n        hasMenu: props.hasMenu,\n        hasIcon: props.hasIcon,\n        vertical: props.vertical,\n        inSubmenu: props.inSubmenu\n      };\n    },\n    handledProps: ['hasMenu', 'hasIcon', 'vertical', 'inSubmenu'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  MenuItemContent.defaultProps = {\n    as: 'span'\n  };\n  MenuItemContent.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    hasIcon: PropTypes.bool,\n    hasMenu: PropTypes.bool,\n    vertical: PropTypes.bool,\n    inSubmenu: PropTypes.bool\n  });\n  return MenuItemContent;\n}();\n//# sourceMappingURL=MenuItemContent.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var menuItemWrapperClassName = 'ui-menu__itemwrapper';\n/**\n * A MenuItemWrapper allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var MenuItemWrapper = /*#__PURE__*/function () {\n  var MenuItemWrapper = compose(Box, {\n    className: menuItemWrapperClassName,\n    displayName: 'MenuItemWrapper',\n    mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n      return {\n        active: props.active,\n        disabled: props.disabled,\n        iconOnly: props.iconOnly,\n        isFromKeyboard: props.isFromKeyboard,\n        pills: props.pills,\n        pointing: props.pointing,\n        secondary: props.secondary,\n        underlined: props.underlined,\n        vertical: props.vertical,\n        primary: props.primary,\n        on: props.on\n      };\n    },\n    handledProps: ['active', 'disabled', 'iconOnly', 'isFromKeyboard', 'pills', 'pointing', 'secondary', 'underlined', 'vertical', 'primary', 'on'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  MenuItemWrapper.defaultProps = {\n    as: 'li'\n  };\n  MenuItemWrapper.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    active: PropTypes.bool,\n    disabled: PropTypes.bool,\n    iconOnly: PropTypes.bool,\n    isFromKeyboard: PropTypes.bool,\n    pills: PropTypes.bool,\n    pointing: PropTypes.oneOf(['start', 'end', true, false]),\n    primary: customPropTypes.every([customPropTypes.disallow(['secondary']), PropTypes.bool]),\n    secondary: customPropTypes.every([customPropTypes.disallow(['primary']), PropTypes.bool]),\n    underlined: PropTypes.bool,\n    vertical: PropTypes.bool\n  });\n  return MenuItemWrapper;\n}();\n//# sourceMappingURL=MenuItemWrapper.js.map\n","import _has from \"lodash/has\";\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { Image } from '../Image/Image';\nimport { Box } from '../Box/Box';\nexport var labelClassName = 'ui-label';\n/**\n * A Label allows user to classify content.\n */\n\nexport var Label = /*#__PURE__*/function () {\n  var Label = function Label(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Label.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        children = props.children,\n        className = props.className,\n        circular = props.circular,\n        color = props.color,\n        content = props.content,\n        icon = props.icon,\n        iconPosition = props.iconPosition,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        image = props.image,\n        imagePosition = props.imagePosition;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: Label.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Label.displayName, {\n      className: labelClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          hasActionableIcon: _has(icon, 'onClick'),\n          hasImage: !!image,\n          hasIcon: !!icon,\n          circular: circular,\n          color: color,\n          imagePosition: imagePosition,\n          iconPosition: iconPosition\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Label.handledProps, props);\n\n    if (childrenExist(children)) {\n      var _element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n        className: classes.root\n      }, rtlTextContainer.getAttributes({\n        forElements: [children]\n      }), unhandledProps)), children);\n\n      setEnd();\n      return _element;\n    }\n\n    var imageElement = Image.create(image, {\n      defaultProps: function defaultProps() {\n        return {\n          styles: resolvedStyles.image\n        };\n      }\n    });\n    var iconElement = Box.create(icon, {\n      defaultProps: function defaultProps() {\n        return {\n          styles: resolvedStyles.icon\n        };\n      }\n    });\n    var contentElement = Box.create(content, {\n      defaultProps: function defaultProps() {\n        return {\n          styles: resolvedStyles.content\n        };\n      }\n    });\n    var startImage = imagePosition === 'start' && imageElement;\n    var startIcon = iconPosition === 'start' && iconElement;\n    var endIcon = iconPosition === 'end' && iconElement;\n    var endImage = imagePosition === 'end' && imageElement;\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), startImage, startIcon, contentElement, endIcon, endImage);\n    setEnd();\n    return element;\n  };\n\n  Label.displayName = 'Label';\n  Label.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    color: true,\n    content: 'shorthand'\n  }), {\n    circular: PropTypes.bool,\n    icon: customPropTypes.shorthandAllowingChildren,\n    iconPosition: PropTypes.oneOf(['start', 'end']),\n    image: customPropTypes.itemShorthandWithoutJSX,\n    imagePosition: PropTypes.oneOf(['start', 'end']),\n    fluid: PropTypes.bool\n  });\n  Label.handledProps = Object.keys(Label.propTypes);\n  Label.defaultProps = {\n    as: 'span',\n    imagePosition: 'start',\n    iconPosition: 'end'\n  };\n  Label.create = createShorthandFactory({\n    Component: Label,\n    mappedProp: 'content'\n  });\n  return Label;\n}();\n//# sourceMappingURL=Label.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var chatMessageDetailsClassName = 'ui-chat__messagedetails';\n/**\n * An ChatMessageDetails provides a slot for details in the ChatMessage.\n */\n\nexport var ChatMessageDetails = /*#__PURE__*/function () {\n  var ChatMessageDetails = compose(Box, {\n    className: chatMessageDetailsClassName,\n    displayName: 'ChatMessageDetails',\n    overrideStyles: true,\n    handledProps: ['mine'],\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var mine = _ref.mine;\n      return {\n        mine: mine\n      };\n    }\n  });\n  ChatMessageDetails.propTypes = commonPropTypes.createCommon();\n  return ChatMessageDetails;\n}();\n//# sourceMappingURL=ChatMessageDetails.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var chatMessageReadStatusClassName = \"ui-chat__messagereadstatus\";\n/**\n * A ChatMessageReadStatus places a indicator to represent the read status of the message\n */\n\nexport var ChatMessageReadStatus = /*#__PURE__*/function () {\n  var ChatMessageReadStatus = compose(Box, {\n    className: chatMessageReadStatusClassName,\n    displayName: 'ChatMessageReadStatus',\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var title = _ref.title;\n      return {\n        title: title\n      };\n    },\n    overrideStyles: true\n  });\n  ChatMessageReadStatus.propTypes = commonPropTypes.createCommon();\n  return ChatMessageReadStatus;\n}();\n//# sourceMappingURL=ChatMessageReadStatus.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var chatMessageHeaderClassName = \"ui-chat__messageheader\";\n/**\n * A ChatMessageHeader provides a slot for author/date/reactions for the ChatMessage.\n */\n\nexport var ChatMessageHeader = /*#__PURE__*/function () {\n  var ChatMessageHeader = compose(Box, {\n    className: chatMessageHeaderClassName,\n    displayName: 'ChatMessageHeader',\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    overrideStyles: true\n  });\n  ChatMessageHeader.propTypes = commonPropTypes.createCommon();\n  return ChatMessageHeader;\n}();\n//# sourceMappingURL=ChatMessageHeader.js.map\n","export var createManager = function createManager(config) {\n  var actions = config.actions,\n      debug = config.debug,\n      _config$middleware = config.middleware,\n      middleware = _config$middleware === void 0 ? [] : _config$middleware,\n      _config$sideEffects = config.sideEffects,\n      sideEffects = _config$sideEffects === void 0 ? [] : _config$sideEffects,\n      state = config.state;\n\n  var _state = Object.assign({}, state);\n\n  var getState = function getState() {\n    return Object.assign({}, _state);\n  };\n\n  var setState = function setState(partial) {\n    return Object.assign(_state, partial);\n  };\n\n  var manager = {\n    actions: {},\n\n    get state() {\n      return getState();\n    }\n\n  }; // assign actions to manager's api\n\n  Object.keys(actions).forEach(function (actionName) {\n    var enhancedAction = actions[actionName];\n\n    var action = function action() {\n      var prevState = getState();\n\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      applyAction.apply(void 0, [enhancedAction].concat(args));\n      applyMiddleware(prevState);\n      applySideEffects(prevState);\n    };\n\n    manager.actions[actionName] = action;\n  });\n\n  var applyAction = function applyAction(action) {\n    if (process.env.NODE_ENV !== 'production') {\n      if (debug) {\n        // eslint-disable-next-line no-console\n        console.log('manager ACTION', action.name || 'Anonymous');\n      }\n    }\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    var actionResult = action.apply(void 0, args)(getState(), manager.actions);\n\n    if (actionResult) {\n      setState(actionResult);\n    }\n  };\n\n  var applyMiddleware = function applyMiddleware(prevState) {\n    middleware.forEach(function (middlewareItem, index) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (debug) {\n          // eslint-disable-next-line no-console\n          console.log(\"manager MIDDLEWARE[\" + index + \"]\", {\n            prev: prevState,\n            next: getState()\n          });\n        }\n      }\n\n      setState(middlewareItem(prevState, getState(), manager.actions));\n    });\n  };\n\n  var applySideEffects = function applySideEffects(prevState) {\n    sideEffects.forEach(function (sideEffect, index) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (debug) {\n          // eslint-disable-next-line no-console\n          console.log(\"manager SIDE_EFFECT[\" + index + \"]\");\n        }\n      }\n\n      sideEffect(prevState, manager.state);\n    });\n  };\n\n  return manager;\n};\n//# sourceMappingURL=createManager.js.map\n","import * as React from 'react';\nexport var FormFieldBaseContext = /*#__PURE__*/React.createContext({\n  labelId: null\n});\nexport var FormFieldBaseProvider = FormFieldBaseContext.Provider;\n//# sourceMappingURL=formFieldBaseContext.js.map\n","import { createContext } from '@fluentui/react-bindings';\nexport var ListContext = createContext({\n  debug: false,\n  selectable: false,\n  navigable: false,\n  truncateContent: false,\n  truncateHeader: false,\n  variables: {},\n  onItemClick: function onItemClick() {},\n  selectedIndex: -1\n});\nexport var ListContextProvider = ListContext.Provider;\n//# sourceMappingURL=listContext.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var listItemMediaClassName = 'ui-list__itemmedia';\n/**\n * Provides a content for the ListItem.\n */\n\nexport var ListItemMedia = /*#__PURE__*/function () {\n  var ListItemMedia = compose(Box, {\n    className: listItemMediaClassName,\n    displayName: 'ListItemMedia',\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var hasContent = _ref.hasContent,\n          hasHeader = _ref.hasHeader,\n          important = _ref.important;\n      return {\n        hasContent: hasContent,\n        hasHeader: hasHeader,\n        important: important\n      };\n    },\n    handledProps: ['hasContent', 'hasHeader', 'important'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ListItemMedia.propTypes = commonPropTypes.createCommon();\n  return ListItemMedia;\n}();\n//# sourceMappingURL=ListItemMedia.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _keys from \"lodash/keys\";\nimport { FocusTrapZone, useFluentContext, useTelemetry, useAutoControlled } from '@fluentui/react-bindings';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, doesNodeContainClick, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { PortalInner } from './PortalInner';\n\n/**\n * (DEPRECATED) A Portal allows to render children outside of their parent.\n *\n * @deprecated Please use \"Popup\" or \"Dialog\" components instead.\n */\nexport var Portal = /*#__PURE__*/function () {\n  var Portal = function Portal(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Portal.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        content = props.content,\n        trapFocus = props.trapFocus,\n        trigger = props.trigger,\n        triggerAccessibility = props.triggerAccessibility;\n    var portalRef = React.useRef();\n    var triggerRef = React.useRef();\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultOpen,\n      value: props.open,\n      initialValue: false\n    }),\n        open = _useAutoControlled[0],\n        setOpen = _useAutoControlled[1];\n\n    var renderPortal = function renderPortal() {\n      var contentToRender = childrenExist(children) ? children : content;\n      var focusTrapZoneProps = _keys(trapFocus).length && trapFocus || {};\n      return open && /*#__PURE__*/React.createElement(Ref, {\n        innerRef: portalRef\n      }, /*#__PURE__*/React.createElement(PortalInner, _extends({\n        onMount: handleMount,\n        onUnmount: handleUnmount\n      }, rtlTextContainer.getAttributes({\n        forElements: [contentToRender]\n      })), trapFocus ? /*#__PURE__*/React.createElement(FocusTrapZone, focusTrapZoneProps, contentToRender) : contentToRender, /*#__PURE__*/React.createElement(EventListener, {\n        listener: handleDocumentClick,\n        target: context.target,\n        type: \"click\"\n      })));\n    };\n\n    var renderTrigger = function renderTrigger() {\n      return trigger && /*#__PURE__*/React.createElement(Ref, {\n        innerRef: handleTriggerRef\n      }, /*#__PURE__*/React.cloneElement(trigger, Object.assign({\n        onClick: handleTriggerClick\n      }, triggerAccessibility.attributes, triggerAccessibility.keyHandlers)));\n    };\n\n    var handleMount = function handleMount() {\n      _invoke(props, 'onMount', props);\n    };\n\n    var handleUnmount = function handleUnmount() {\n      _invoke(props, 'onUnmount', props);\n    };\n\n    var handleTriggerRef = function handleTriggerRef(node) {\n      triggerRef.current = node;\n      handleRef(props.triggerRef, node);\n    };\n\n    var handleTriggerClick = function handleTriggerClick(e) {\n      _invoke(props, 'onTriggerClick', e); // Call handler from parent component\n\n\n      for (var _len = arguments.length, unhandledProps = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n        unhandledProps[_key - 1] = arguments[_key];\n      }\n\n      _invoke.apply(void 0, [trigger, 'props.onClick', e].concat(unhandledProps)); // Call original event handler\n\n\n      setOpen(function (isOpen) {\n        return !isOpen;\n      });\n    };\n\n    var handleDocumentClick = function handleDocumentClick(e) {\n      if (!portalRef || // no portal\n      doesNodeContainClick(triggerRef.current, e, context.target) || // event happened in trigger (delegate to trigger handlers)\n      doesNodeContainClick(portalRef.current, e, context.target) // event happened in the portal\n      ) {\n          return; // ignore the click\n        }\n\n      _invoke(props, 'onOutsideClick', e);\n\n      setOpen(false);\n    };\n\n    var element = /*#__PURE__*/React.createElement(React.Fragment, null, renderPortal(), renderTrigger());\n    setEnd();\n    return element;\n  };\n\n  Portal.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    accessibility: false,\n    as: false,\n    className: false,\n    styled: false\n  }), {\n    defaultOpen: PropTypes.bool,\n    onMount: PropTypes.func,\n    onUnmount: PropTypes.func,\n    open: PropTypes.bool,\n    trigger: PropTypes.element,\n    triggerRef: customPropTypes.ref,\n    triggerAccessibility: PropTypes.object,\n    onTriggerClick: PropTypes.func,\n    onOutsideClick: PropTypes.func,\n    trapFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object])\n  });\n  Portal.handledProps = Object.keys(Portal.propTypes);\n  Portal.create = createShorthandFactory({\n    Component: Portal\n  });\n  Portal.defaultProps = {\n    triggerAccessibility: {}\n  };\n  return Portal;\n}();\n//# sourceMappingURL=Portal.js.map\n","import _keys from \"lodash/keys\";\nimport _invoke from \"lodash/invoke\";\nimport { AutoFocusZone, FocusTrapZone, getElementType, useAccessibility, useFluentContext, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getBasePlacement, AUTOSIZES } from '../../utils/positioner';\nexport var popupContentClassName = 'ui-popup__content';\nexport var popupContentSlotClassNames = {\n  content: popupContentClassName + \"__content\"\n};\n/**\n * A PopupContent displays the content of a Popup component.\n */\n\nexport var PopupContent = /*#__PURE__*/function () {\n  var PopupContent = function PopupContent(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(PopupContent.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        autoFocus = props.autoFocus,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        design = props.design,\n        placement = props.placement,\n        pointing = props.pointing,\n        pointerRef = props.pointerRef,\n        styles = props.styles,\n        trapFocus = props.trapFocus,\n        variables = props.variables,\n        autoSize = props.autoSize;\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: PopupContent.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(PopupContent.displayName, {\n      className: popupContentClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          basePlacement: getBasePlacement(placement, context.rtl),\n          pointing: pointing,\n          autoSize: autoSize\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(PopupContent.handledProps, props);\n\n    var handleMouseEnter = function handleMouseEnter(e) {\n      _invoke(props, 'onMouseEnter', e, props);\n    };\n\n    var handleMouseLeave = function handleMouseLeave(e) {\n      _invoke(props, 'onMouseLeave', e, props);\n    };\n\n    var popupContentProps = getA11yProps('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }), unhandledProps, {\n      onMouseEnter: handleMouseEnter,\n      onMouseLeave: handleMouseLeave\n    }));\n    var popupContent = /*#__PURE__*/React.createElement(React.Fragment, null, pointing && /*#__PURE__*/React.createElement(\"div\", {\n      className: classes.pointer,\n      ref: pointerRef\n    }), /*#__PURE__*/React.createElement(\"div\", {\n      className: cx(popupContentSlotClassNames.content, classes.content)\n    }, childrenExist(children) ? children : content));\n    var element;\n\n    if (trapFocus) {\n      var focusTrapZoneProps = Object.assign({}, popupContentProps, _keys(trapFocus).length && trapFocus, {\n        as: ElementType\n      });\n      element = /*#__PURE__*/React.createElement(FocusTrapZone, focusTrapZoneProps, popupContent);\n    } else if (autoFocus) {\n      var autoFocusZoneProps = Object.assign({}, popupContentProps, _keys(autoFocus).length && autoFocus, {\n        as: ElementType\n      });\n      element = /*#__PURE__*/React.createElement(AutoFocusZone, autoFocusZoneProps, popupContent);\n    } else {\n      element = /*#__PURE__*/React.createElement(ElementType, popupContentProps, popupContent);\n    }\n\n    setEnd();\n    return element;\n  };\n\n  PopupContent.displayName = 'PopupContent';\n  PopupContent.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    placement: PropTypes.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']),\n    pointing: PropTypes.bool,\n    onMouseEnter: PropTypes.func,\n    onMouseLeave: PropTypes.func,\n    pointerRef: customPropTypes.ref,\n    trapFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n    autoFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n    autoSize: PropTypes.oneOf(AUTOSIZES)\n  });\n  PopupContent.handledProps = Object.keys(PopupContent.propTypes);\n  PopupContent.create = createShorthandFactory({\n    Component: PopupContent,\n    mappedProp: 'content'\n  });\n  return PopupContent;\n}();\n//# sourceMappingURL=PopupContent.js.map\n","import { useFluentContext } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\n\n/**\n * A ProviderConsumer is used to consume Fluent UI context from Provider.\n */\nexport var ProviderConsumer = /*#__PURE__*/function () {\n  var ProviderConsumer = function ProviderConsumer(props) {\n    var render = props.render;\n    var context = useFluentContext();\n    return /*#__PURE__*/React.createElement(React.Fragment, null, render(context.theme));\n  };\n\n  ProviderConsumer.displayName = 'ProviderConsumer';\n  ProviderConsumer.propTypes = {\n    render: PropTypes.func.isRequired\n  };\n  return ProviderConsumer;\n}();\n//# sourceMappingURL=ProviderConsumer.js.map\n","import _includes from \"lodash/includes\";\nimport _isArray from \"lodash/isArray\";\nimport { keyboardKey, SpacebarKey } from '../../keyboard-key';\nexport var popupBehavior = function popupBehavior(props) {\n  var onAsArray = _isArray(props.on) ? props.on : [props.on];\n  var tabbableTriggerProps = props.tabbableTrigger ? {\n    tabIndex: getAriaAttributeFromProps('tabIndex', props, 0)\n  } : undefined;\n\n  if (tabbableTriggerProps) {\n    tabbableTriggerProps['aria-haspopup'] = 'dialog';\n\n    if (process.env.NODE_ENV !== 'production') {\n      // Override the default trigger's accessibility schema class.\n      tabbableTriggerProps['data-aa-class'] = 'PopupButton';\n    }\n  }\n\n  return {\n    attributes: {\n      trigger: Object.assign({}, tabbableTriggerProps),\n      popup: {\n        role: props.trapFocus ? 'dialog' : props.inline ? undefined : 'complementary',\n        'aria-modal': props.trapFocus ? true : undefined,\n        'data-popup-trapfocus': props.trapFocus ? true : undefined\n      }\n    },\n    keyActions: {\n      popup: {\n        closeAndFocusTrigger: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        },\n        preventScroll: {\n          keyCombinations: props.isOpenedByRightClick && _includes(onAsArray, 'context') && [{\n            keyCode: keyboardKey.ArrowDown\n          }, {\n            keyCode: keyboardKey.ArrowUp\n          }, {\n            keyCode: keyboardKey.PageDown\n          }, {\n            keyCode: keyboardKey.PageUp\n          }, {\n            keyCode: keyboardKey.Home\n          }, {\n            keyCode: keyboardKey.End\n          }]\n        }\n      },\n      trigger: {\n        close: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        },\n        toggle: {\n          keyCombinations: _includes(onAsArray, 'click') && [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        },\n        open: {\n          keyCombinations: _includes(onAsArray, 'hover') && !_includes(onAsArray, 'context') && [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        },\n        click: {\n          keyCombinations: _includes(onAsArray, 'hover') && !_includes(onAsArray, 'context') && [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n\nvar isFocusable = function isFocusable(propsData) {\n  try {\n    var as = propsData.as,\n        href = propsData.href,\n        type = propsData.type;\n    return type === 'button' || type === 'input' || type === 'a' && href !== undefined || as === 'button';\n  } catch (_unused) {\n    return false;\n  }\n};\n\nvar getAriaAttributeFromProps = function getAriaAttributeFromProps(attributeName, props, defaultValue) {\n  if (!props.trigger) return undefined;\n\n  if (props.trigger.props[attributeName]) {\n    return props.trigger.props[attributeName];\n  }\n\n  var _props$trigger$props = props.trigger.props,\n      as = _props$trigger$props.as,\n      href = _props$trigger$props.href;\n  var type = props.trigger.type;\n\n  if (isFocusable({\n    as: as,\n    href: href,\n    type: type\n  })) {\n    return undefined;\n  }\n\n  return defaultValue;\n};\n//# sourceMappingURL=popupBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { tableCellBehavior } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, createShorthandFactory } from '../../utils';\nimport { useTelemetry, useStyles, useFluentContext, getElementType, useUnhandledProps, useAccessibility } from '@fluentui/react-bindings';\nimport { Box } from '../Box/Box';\nexport var tableCellClassName = 'ui-table__cell';\nexport var tableCellSlotClassNames = {\n  content: tableCellClassName + \"__content\"\n};\n/**\n * Component represents a table cell.\n */\n\nexport var TableCell = /*#__PURE__*/function () {\n  var TableCell = function TableCell(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(TableCell.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var cellRef = React.useRef();\n    var children = props.children,\n        content = props.content,\n        truncateContent = props.truncateContent,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var hasChildren = childrenExist(children);\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(TableCell.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: TableCell.displayName,\n      actionHandlers: {\n        focusCell: function focusCell(e) {\n          e.preventDefault();\n          cellRef.current.focus();\n        },\n        performClick: function performClick(e) {\n          if (e.currentTarget === e.target) {\n            _invoke(props, 'onClick', e, props);\n\n            e.preventDefault();\n          }\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(TableCell.displayName, {\n      className: tableCellClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          truncateContent: truncateContent\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var element = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: cellRef\n    }, getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), hasChildren ? children : Box.create(content, {\n      defaultProps: function defaultProps() {\n        return {\n          className: tableCellSlotClassNames.content,\n          styles: resolvedStyles.content\n        };\n      }\n    }))));\n    setEnd();\n    return element;\n  };\n\n  TableCell.displayName = 'TableCell';\n  TableCell.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    content: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.oneOfType([PropTypes.arrayOf(customPropTypes.nodeContent), customPropTypes.nodeContent])]),\n    truncateContent: PropTypes.bool\n  });\n  TableCell.handledProps = Object.keys(TableCell.propTypes);\n  TableCell.defaultProps = {\n    accessibility: tableCellBehavior\n  };\n  TableCell.create = createShorthandFactory({\n    Component: TableCell,\n    mappedProp: 'content'\n  });\n  return TableCell;\n}();\n//# sourceMappingURL=TableCell.js.map\n","import { keyboardKey, SpacebarKey, EnterKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\nimport { treeTitleBehavior } from './treeTitleBehavior';\n/**\n * @description\n * Triggers 'performClick' action with 'Spacebar' on 'root', when tree item is selectable and has no subtree. In other cases 'performClick' is triggered with 'Spacebar' or 'Enter'.\n * Triggers 'performSelection' action with 'Spacebar' on 'root', when has a opened subtree.\n * Adds attribute 'aria-checked=true' based on the properties 'selectable' & 'selected' if the component has 'hasSubtree' property true. Does not set anything if false or undefined.\n *\n * @specification\n * Adds attribute 'aria-expanded=true' based on the property 'expanded' if the component has 'hasSubtree' property.\n * Adds attribute 'tabIndex=-1' to 'root' slot if 'hasSubtree' property is true. Does not set the attribute otherwise.\n * Adds attribute 'aria-setsize=3' based on the property 'treeSize' if the component has 'hasSubtree' property.\n * Adds attribute 'aria-posinset=2' based on the property 'index' if the component has 'hasSubtree' property.\n * Adds attribute 'aria-level=1' based on the property 'level' if the component has 'hasSubtree' property.\n * Adds attribute 'role=treeitem' to 'root' slot if 'hasSubtree' property is true. Sets the attribute to 'none' otherwise.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n * Triggers 'expandSiblings' action with '*' on 'root'.\n * Triggers 'focusParent' action with 'ArrowLeft' on 'root', when has a closed subtree.\n * Triggers 'focusParent' action with 'ArrowLeft' on 'root', when has no subtree.\n * Triggers 'collapse' action with 'ArrowLeft' on 'root', when has an opened subtree.\n * Triggers 'expand' action with 'ArrowRight' on 'root', when has a closed subtree.\n * Triggers 'focusFirstChild' action with 'ArrowRight' on 'root', when has an opened subtree.\n */\n\nexport var treeItemBehavior = function treeItemBehavior(props) {\n  var _Object$assign;\n\n  var definition = {\n    attributes: {\n      root: Object.assign({\n        role: 'none'\n      }, props.hasSubtree && Object.assign((_Object$assign = {\n        'aria-expanded': props.expanded,\n        tabIndex: -1\n      }, _Object$assign[IS_FOCUSABLE_ATTRIBUTE] = true, _Object$assign.role = 'treeitem', _Object$assign['aria-setsize'] = props.treeSize, _Object$assign['aria-posinset'] = props.index, _Object$assign['aria-level'] = props.level, _Object$assign), props.selectable && {\n        'aria-checked': props.indeterminate ? 'mixed' : !!props.selected\n      }))\n    },\n    keyActions: {\n      root: Object.assign({\n        performClick: {\n          keyCombinations: [{\n            keyCode: EnterKey\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }, props.hasSubtree ? props.expanded ? {\n        collapse: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowLeft\n          }]\n        },\n        focusFirstChild: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowRight\n          }]\n        }\n      } : {\n        expand: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowRight\n          }]\n        },\n        focusParent: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowLeft\n          }]\n        }\n      } : {\n        focusParent: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowLeft\n          }]\n        }\n      }, {\n        expandSiblings: {\n          keyCombinations: [{\n            keyCode: keyboardKey['*']\n          }]\n        }\n      }, props.selectable && {\n        performClick: {\n          keyCombinations: props.hasSubtree ? [{\n            keyCode: keyboardKey.Enter\n          }] : [{\n            keyCode: SpacebarKey\n          }]\n        },\n        performSelection: {\n          keyCombinations: [{\n            keyCode: SpacebarKey\n          }]\n        }\n      })\n    },\n    childBehaviors: {\n      title: treeTitleBehavior\n    }\n  };\n\n  if (process.env.NODE_ENV !== 'production' && !props.hasSubtree) {\n    // Override the default trigger's accessibility schema class.\n    definition.attributes.root['data-aa-class'] = 'SingleTreeItem';\n  }\n\n  return definition;\n};\n//# sourceMappingURL=treeItemBehavior.js.map\n","import { keyboardKey } from '../../keyboard-key';\nimport { FocusZoneDirection } from '../../focusZone/types';\nimport { treeItemBehavior } from './treeItemBehavior';\n/**\n * @specification\n * Adds role 'tree' to 'root' slot.\n * Adds attribute 'tabIndex=-1' to 'root' slot.\n * Adds attribute 'aria-labelledby' based on the property 'aria-labelledby' to 'root' slot.\n * Provides arrow key navigation in vertical direction.\n * Triggers 'expandSiblings' action with '*' on 'root'.\n * Adds attribute 'aria-multiselectable=true' to 'root' slot if 'selectable' property is true. Does not set the attribute otherwise.\n */\n\nexport var treeBehavior = function treeBehavior(props) {\n  return {\n    attributes: {\n      root: Object.assign({\n        role: 'tree',\n        'aria-labelledby': props['aria-labelledby'],\n        tabIndex: -1\n      }, props.selectable && {\n        'aria-multiselectable': true\n      })\n    },\n    keyActions: {\n      root: {\n        expandSiblings: {\n          keyCombinations: [{\n            keyCode: keyboardKey['*']\n          }]\n        }\n      }\n    },\n    focusZone: {\n      props: {\n        direction: FocusZoneDirection.vertical,\n        shouldFocusInnerElementWhenReceivedFocus: true\n      }\n    },\n    childBehaviors: {\n      item: treeItemBehavior\n    }\n  };\n};\n//# sourceMappingURL=treeBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport { treeItemBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, shouldPreventDefaultOnKeyDown } from '../../utils';\nimport { TreeTitle } from './TreeTitle';\nimport { TreeContext } from './context';\nexport var treeItemClassName = 'ui-tree__item';\n/**\n * A TreeItem renders an item of a Tree.\n *\n * @accessibility\n * Implements [ARIA TreeView](https://www.w3.org/TR/wai-aria-practices-1.1/#TreeView) design pattern.\n */\n\nexport var TreeItem = /*#__PURE__*/function () {\n  var TreeItem = function TreeItem(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(TreeItem.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        children = props.children,\n        className = props.className,\n        contentRef = props.contentRef,\n        design = props.design,\n        title = props.title,\n        renderItemTitle = props.renderItemTitle,\n        expanded = props.expanded,\n        level = props.level,\n        index = props.index,\n        styles = props.styles,\n        variables = props.variables,\n        treeSize = props.treeSize,\n        selectionIndicator = props.selectionIndicator,\n        selectable = props.selectable,\n        id = props.id,\n        parent = props.parent;\n\n    var _React$useContext = React.useContext(TreeContext),\n        getItemById = _React$useContext.getItemById,\n        registerItemRef = _React$useContext.registerItemRef,\n        toggleItemActive = _React$useContext.toggleItemActive,\n        focusItemById = _React$useContext.focusItemById,\n        expandSiblings = _React$useContext.expandSiblings,\n        toggleItemSelect = _React$useContext.toggleItemSelect,\n        getToFocusIDByFirstCharacter = _React$useContext.getToFocusIDByFirstCharacter;\n\n    var _getItemById = getItemById(id),\n        selected = _getItemById.selected,\n        hasSubtree = _getItemById.hasSubtree,\n        childrenIds = _getItemById.childrenIds;\n\n    var getA11Props = useAccessibility(accessibility, {\n      actionHandlers: {\n        performClick: function performClick(e) {\n          if (shouldPreventDefaultOnKeyDown(e)) {\n            e.preventDefault();\n          }\n\n          e.stopPropagation();\n          toggleItemActive(e, id);\n\n          _invoke(props, 'onTitleClick', e, props);\n        },\n        focusParent: function focusParent(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          handleFocusParent(e);\n        },\n        collapse: function collapse(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          toggleItemActive(e, id);\n        },\n        expand: function expand(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          toggleItemActive(e, id);\n        },\n        focusFirstChild: function focusFirstChild(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          handleFocusFirstChild(e);\n        },\n        expandSiblings: function expandSiblings(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          handleSiblingsExpand(e);\n        },\n        performSelection: function performSelection(e) {\n          e.preventDefault();\n          e.stopPropagation();\n          handleSelection(e);\n        }\n      },\n      debugName: TreeItem.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          expanded: expanded,\n          level: level,\n          index: index,\n          hasSubtree: hasSubtree,\n          treeSize: treeSize,\n          selected: selected === true,\n          selectable: selectable,\n          indeterminate: selected === 'indeterminate'\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(TreeItem.displayName, {\n      className: treeItemClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          level: level,\n          selectable: selectable\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var handleSelection = function handleSelection(e) {\n      if (selectable) {\n        toggleItemSelect(e, id);\n      }\n\n      _invoke(props, 'onTitleClick', e, props);\n    };\n\n    var handleFocusFirstChild = function handleFocusFirstChild(e) {\n      _invoke(props, 'onFocusFirstChild', e, props);\n\n      focusItemById(childrenIds == null ? void 0 : childrenIds[0]);\n    };\n\n    var handleFocusParent = function handleFocusParent(e) {\n      _invoke(props, 'onFocusParent', e, props);\n\n      focusItemById(parent);\n    };\n\n    var handleSiblingsExpand = function handleSiblingsExpand(e) {\n      _invoke(props, 'onSiblingsExpand', e, props);\n\n      expandSiblings(e, props.id);\n    };\n\n    var handleTitleOverrides = function handleTitleOverrides(predefinedProps) {\n      return {\n        id: id,\n        onClick: function onClick(e, titleProps) {\n          _invoke(props, 'onTitleClick', e, props);\n\n          _invoke(predefinedProps, 'onClick', e, titleProps);\n        }\n      };\n    };\n\n    var handleClick = function handleClick(e) {\n      if (e.target === e.currentTarget) {\n        // onClick listener for mouse click on treeItem DOM only,\n        // which could be triggered by VO+space on selectable tree parent node\n        handleSelection(e);\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var handleKeyDown = function handleKeyDown(e) {\n      if (e.key && e.key.length === 1 && e.key.match(/\\S/) && e.key !== '*') {\n        e.preventDefault();\n        e.stopPropagation();\n        var toFocusID = getToFocusIDByFirstCharacter(e, props.id);\n\n        if (toFocusID !== props.id) {\n          focusItemById(toFocusID);\n        }\n      }\n\n      _invoke(props, 'onKeyDown', e, props);\n    };\n\n    var ref = React.useCallback(function (node) {\n      registerItemRef(id, node);\n      handleRef(contentRef, node);\n    }, [id, contentRef, registerItemRef]);\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(TreeItem.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root,\n      id: id,\n      selected: selected === true,\n      onClick: handleClick,\n      onKeyDown: handleKeyDown\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), childrenExist(children) ? children : TreeTitle.create(title, {\n      defaultProps: function defaultProps() {\n        return getA11Props('title', Object.assign({\n          hasSubtree: hasSubtree,\n          as: hasSubtree ? 'span' : 'a',\n          level: level,\n          treeSize: treeSize,\n          expanded: expanded,\n          index: index,\n          selected: selected === true,\n          selectable: selectable,\n          parent: parent\n        }, hasSubtree && {\n          indeterminate: selected === 'indeterminate'\n        }, {\n          selectionIndicator: selectionIndicator\n        }));\n      },\n      render: renderItemTitle,\n      overrideProps: handleTitleOverrides\n    }));\n    var elementWithRef = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: ref\n    }, element);\n    setEnd();\n    return elementWithRef;\n  };\n\n  TreeItem.displayName = 'TreeItem';\n  TreeItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    contentRef: customPropTypes.ref,\n    id: PropTypes.string.isRequired,\n    index: PropTypes.number,\n    items: customPropTypes.collectionShorthand,\n    level: PropTypes.number,\n    onFocusFirstChild: PropTypes.func,\n    onFocusParent: PropTypes.func,\n    onTitleClick: PropTypes.func,\n    onSiblingsExpand: PropTypes.func,\n    expanded: PropTypes.bool,\n    parent: PropTypes.string,\n    renderItemTitle: PropTypes.func,\n    treeSize: PropTypes.number,\n    title: customPropTypes.itemShorthand,\n    selectionIndicator: customPropTypes.shorthandAllowingChildren,\n    selectable: PropTypes.bool,\n    onKeyDown: PropTypes.func\n  });\n  TreeItem.defaultProps = {\n    accessibility: treeItemBehavior,\n    selectable: true\n  };\n  TreeItem.handledProps = Object.keys(TreeItem.propTypes);\n  TreeItem.create = createShorthandFactory({\n    Component: TreeItem,\n    mappedProp: 'title'\n  });\n  return TreeItem;\n}();\n//# sourceMappingURL=TreeItem.js.map\n","// Fluent UI Tree component does not have a root item.\n// Adding a 'secret' root (level=0) helps traversing among the top level (level=1) tree items.\n// This 'secret' root should NOT be returned as part of orderedItemIds, because it is not an item from user props\nvar SECRET_ROOT_ID = 'FLUENT_UI_SECRET_ROOT_ID';\n/**\n * @returns returns the flattened tree, and an array of all visible tree item ids in a Depth First order.\n */\n\nexport function flattenTree(items, activeItemIds, selectedItemIds) {\n  var _flatTree;\n\n  var flatTree = (_flatTree = {}, _flatTree[SECRET_ROOT_ID] = {\n    index: 1,\n    level: 0,\n    expanded: true,\n    treeSize: 1,\n    hasSubtree: true\n  }, _flatTree); // returns an extra array of orderedItemIds because flattened tree object does not keep the order of insertion\n\n  return flattenSubTree(items, 1, SECRET_ROOT_ID, flatTree, true, activeItemIds, [], selectedItemIds);\n}\n\nfunction flattenSubTree(items, level, parent, flatTree, isParentVisible, activeItemIds, visibleItemIds, selectedItemIds) {\n  if (level === void 0) {\n    level = 1;\n  }\n\n  if (isParentVisible === void 0) {\n    isParentVisible = true;\n  }\n\n  if (!items) {\n    return {\n      flatTree: flatTree,\n      visibleItemIds: visibleItemIds,\n      selectedChildrenNum: 0,\n      selectableChildrenNum: 0\n    };\n  }\n\n  var itemsInLeaf = items.length;\n  var selectedNum = 0;\n  var selectableNum = 0;\n  items.forEach(function (item, indexAmongSiblings) {\n    var id = item.id,\n        childrenItems = item.items;\n    var selectable = item.selectable !== false; // by default item is selectable, unless selectable=false specified\n\n    var hasSubtree = childrenItems ? !!childrenItems.length : false;\n    var expanded = hasSubtree && activeItemIds.indexOf(id) !== -1;\n    flatTree[id] = {\n      item: item,\n      index: indexAmongSiblings + 1,\n      // Used for aria-posinset and it's 1-based.\n      level: level,\n      expanded: expanded,\n      parent: parent == null ? undefined : parent,\n      treeSize: itemsInLeaf,\n      hasSubtree: hasSubtree,\n      selected: false\n    };\n\n    if (isParentVisible) {\n      visibleItemIds.push(id);\n    }\n\n    var _flattenSubTree = flattenSubTree(childrenItems, level + 1, id, flatTree, isParentVisible && expanded, // parent being visible and expanded means subtree is visible\n    activeItemIds, visibleItemIds, selectedItemIds),\n        selectedChildrenNum = _flattenSubTree.selectedChildrenNum,\n        selectableChildrenNum = _flattenSubTree.selectableChildrenNum;\n\n    if (selectable) {\n      selectableNum++;\n\n      if (hasSubtree && selectedChildrenNum === selectableChildrenNum || !hasSubtree && selectedItemIds.indexOf(id) >= 0 // selectedItemIds only make sense for leaf nodes\n      ) {\n          flatTree[id].selected = true;\n          selectedNum++;\n        } else if (selectedChildrenNum > 0) {\n        flatTree[id].selected = 'indeterminate';\n        selectedNum += 0.5; // trick to propagate indeterminate state to ancestors\n      }\n    }\n\n    if (flatTree[parent].childrenIds) {\n      flatTree[parent].childrenIds.push(id);\n    } else {\n      flatTree[parent].childrenIds = [id];\n    }\n  });\n  return {\n    flatTree: flatTree,\n    visibleItemIds: visibleItemIds,\n    selectedChildrenNum: selectedNum,\n    selectableChildrenNum: selectableNum\n  };\n}\n//# sourceMappingURL=flattenTree.js.map\n","import _uniq from \"lodash/uniq\";\nimport _invoke from \"lodash/invoke\";\nimport _without from \"lodash/without\";\nimport * as React from 'react';\nimport { useAutoControlled } from '@fluentui/react-bindings';\nimport { flattenTree } from './flattenTree';\n\n/**\n * This hook returns a stable `getItemById()` function that will lookup in latest `flatTree`.\n * This is used to have stable callbacks that can be passed to React's Context.\n */\nfunction useGetItemById(flatTree) {\n  // An exception is thrown there to ensure that a proper callback will assigned to ref\n  var callbackRef = React.useRef(function () {\n    throw new Error('Callback is not assigned yet');\n  }); // We are assigning a callback during render as it can be used during render and in event handlers. In dev mode we\n  // are freezing objects to prevent their mutations\n\n  callbackRef.current = function (itemId) {\n    return process.env.NODE_ENV === 'production' ? flatTree[itemId] : Object.freeze(flatTree[itemId]);\n  };\n\n  return React.useCallback(function () {\n    return callbackRef.current.apply(callbackRef, arguments);\n  }, []);\n}\n\nfunction useStableProps(props) {\n  var stableProps = React.useRef(props);\n  React.useEffect(function () {\n    stableProps.current = props;\n  });\n  return stableProps;\n}\n\nexport function useTree(options) {\n  // We need this because we want to handle `expanded` prop on `items`, should be deprecated and removed\n  var deprecated_initialActiveItemIds = React.useMemo(function () {\n    return deprecated_getInitialActiveItemIds(options.items);\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps\n  [] // initialValue only needs to be computed on mount\n  );\n\n  var _useAutoControlled = useAutoControlled({\n    defaultValue: options.defaultActiveItemIds,\n    value: options.activeItemIds,\n    initialValue: deprecated_initialActiveItemIds // will become []\n\n  }),\n      activeItemIds = _useAutoControlled[0],\n      setActiveItemIdsState = _useAutoControlled[1]; // selectedItemIds is only valid for leaf nodes.\n  // For non-leaf nodes, their 'selected' states are defered from all their descendents\n\n\n  var _useAutoControlled2 = useAutoControlled({\n    defaultValue: options.defaultSelectedItemIds,\n    value: options.selectedItemIds,\n    initialValue: []\n  }),\n      selectedItemIds = _useAutoControlled2[0],\n      setSelectedItemIdsState = _useAutoControlled2[1]; // We want to set `visibleItemIds` to simplify rendering later\n\n\n  var _React$useMemo = React.useMemo(function () {\n    return flattenTree(options.items, activeItemIds, selectedItemIds);\n  }, [activeItemIds, options.items, selectedItemIds]),\n      flatTree = _React$useMemo.flatTree,\n      visibleItemIds = _React$useMemo.visibleItemIds;\n\n  var getItemById = useGetItemById(flatTree);\n  var stableProps = useStableProps(options);\n  var toggleItemActive = React.useCallback(function (e, idToToggle) {\n    var item = getItemById(idToToggle);\n\n    if (!item || !item.hasSubtree) {\n      // leaf node does not have the concept of active/inactive\n      return;\n    }\n\n    setActiveItemIdsState(function (activeItemIds) {\n      var nextActiveItemIds;\n      var isActiveId = activeItemIds.indexOf(idToToggle) !== -1;\n\n      if (isActiveId) {\n        nextActiveItemIds = _without(activeItemIds, idToToggle);\n      } else {\n        nextActiveItemIds = [].concat(activeItemIds, [idToToggle]);\n\n        if (options.exclusive) {\n          var _getItemById, _getItemById2, _getItemById2$childre;\n\n          // remove active siblings, if any, from activeItemIds\n          var parent = (_getItemById = getItemById(idToToggle)) == null ? void 0 : _getItemById.parent;\n          var activeSibling = (_getItemById2 = getItemById(parent)) == null ? void 0 : (_getItemById2$childre = _getItemById2.childrenIds) == null ? void 0 : _getItemById2$childre.find(function (id) {\n            return id !== idToToggle && nextActiveItemIds.indexOf(id) >= 0;\n          });\n\n          if (activeSibling != null) {\n            nextActiveItemIds = _without(nextActiveItemIds, activeSibling);\n          }\n        }\n      }\n\n      _invoke(stableProps.current, 'onActiveItemIdsChange', e, Object.assign({}, stableProps.current, {\n        activeItemIds: nextActiveItemIds\n      }));\n\n      return nextActiveItemIds;\n    });\n  }, [getItemById, options.exclusive, setActiveItemIdsState, stableProps]);\n  var expandSiblings = React.useCallback(function (e, focusedItemId) {\n    if (options.exclusive) {\n      return;\n    }\n\n    var focusedItem = getItemById(focusedItemId);\n\n    if (!focusedItem) {\n      return;\n    }\n\n    var parentItem = getItemById(focusedItem == null ? void 0 : focusedItem.parent);\n    var siblingsIds = parentItem == null ? void 0 : parentItem.childrenIds;\n\n    if (!siblingsIds) {\n      return;\n    }\n\n    setActiveItemIdsState(function (activeItemIds) {\n      var nextActiveItemIds = _uniq(activeItemIds.concat(siblingsIds));\n\n      _invoke(stableProps.current, 'onActiveItemIdsChange', e, Object.assign({}, stableProps.current, {\n        activeItemIds: nextActiveItemIds\n      }));\n\n      return nextActiveItemIds;\n    });\n  }, [getItemById, options.exclusive, setActiveItemIdsState, stableProps]);\n  var toggleItemSelect = React.useCallback(function (e, idToToggle) {\n    var item = getItemById(idToToggle);\n\n    if (!item) {\n      return;\n    }\n\n    var leafs = getLeafNodes(getItemById, idToToggle);\n    setSelectedItemIdsState(function (selectedItemIds) {\n      var nextSelectedItemIds = item.selected === true ? _without.apply(void 0, [selectedItemIds].concat(leafs)) // remove all leaves from selected\n      : _uniq(selectedItemIds.concat(leafs)); // add all leaves to selected\n\n      _invoke(stableProps.current, 'onSelectedItemIdsChange', e, Object.assign({}, stableProps.current, {\n        selectedItemIds: nextSelectedItemIds\n      }));\n\n      return nextSelectedItemIds;\n    });\n  }, [getItemById, setSelectedItemIdsState, stableProps]); // Maintains stable collection of refs to avoid unnecessary React context updates\n\n  var nodes = React.useRef({});\n  var registerItemRef = React.useCallback(function (id, node) {\n    nodes.current[id] = node;\n  }, []);\n  var getItemRef = React.useCallback(function (id) {\n    return nodes.current[id];\n  }, []); // can be used for keyboard navigation ===\n\n  var focusItemById = React.useCallback(function (id) {\n    var itemRef = getItemRef(id);\n\n    if (itemRef instanceof HTMLElement) {\n      var _getItemById3;\n\n      if ((_getItemById3 = getItemById(id)) != null && _getItemById3.hasSubtree) {\n        itemRef.focus();\n      } else {\n        var _itemRef$firstElement;\n\n        // when node is leaf, need to focus on the inner treeTitle\n        (_itemRef$firstElement = itemRef.firstElementChild) == null ? void 0 : _itemRef$firstElement.focus();\n      }\n    }\n  }, [getItemById, getItemRef]);\n  var searchByFirstChar = React.useCallback(function (startIndex, endIndex, char) {\n    for (var i = startIndex; i < endIndex; ++i) {\n      var _getItemRef, _getItemRef$textConte, _getItemRef$textConte2, _getItemRef$textConte3;\n\n      // get first charater of tree node using the same way aria does (https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/js/treeitemLinks.js)\n      var itemFirstChar = (_getItemRef = getItemRef(visibleItemIds[i])) == null ? void 0 : (_getItemRef$textConte = _getItemRef.textContent) == null ? void 0 : (_getItemRef$textConte2 = _getItemRef$textConte.trim()) == null ? void 0 : (_getItemRef$textConte3 = _getItemRef$textConte2.charAt(0)) == null ? void 0 : _getItemRef$textConte3.toLowerCase();\n\n      if (itemFirstChar === char.toLowerCase()) {\n        return i;\n      }\n    }\n\n    return -1;\n  }, [getItemRef, visibleItemIds]);\n  var getToFocusIDByFirstCharacter = React.useCallback(function (e, idToStartSearch) {\n    // Get start index for search\n    var starIndex = visibleItemIds.indexOf(idToStartSearch) + 1;\n\n    if (starIndex === visibleItemIds.length) {\n      starIndex = 0;\n    } // Check following nodes in tree\n\n\n    var toFocusIndex = searchByFirstChar(starIndex, visibleItemIds.length, e.key); // If not found in following nodes, check from beginning\n\n    if (toFocusIndex === -1) {\n      toFocusIndex = searchByFirstChar(0, starIndex - 1, e.key);\n    }\n\n    if (toFocusIndex === -1) {\n      return idToStartSearch;\n    }\n\n    return visibleItemIds[toFocusIndex];\n  }, [searchByFirstChar, visibleItemIds]);\n  return {\n    flatTree: flatTree,\n    getItemById: getItemById,\n    activeItemIds: activeItemIds,\n    visibleItemIds: visibleItemIds,\n    registerItemRef: registerItemRef,\n    getItemRef: getItemRef,\n    toggleItemActive: toggleItemActive,\n    focusItemById: focusItemById,\n    expandSiblings: expandSiblings,\n    toggleItemSelect: toggleItemSelect,\n    getToFocusIDByFirstCharacter: getToFocusIDByFirstCharacter\n  };\n}\n\nfunction deprecated_getInitialActiveItemIds(items) {\n  if (!items) {\n    return [];\n  }\n\n  var result = [];\n  items.forEach(function (item) {\n    if (item.expanded) {\n      result.push(item.id);\n    }\n\n    if (item.items) {\n      result = result.concat(deprecated_getInitialActiveItemIds(item.items));\n    }\n  });\n  return result;\n}\n\nfunction getLeafNodes(getItemById, rootId) {\n  var leafs = [];\n\n  var traverseDown = function traverseDown(id) {\n    var _getItemById4;\n\n    if ((_getItemById4 = getItemById(id)) != null && _getItemById4.childrenIds) {\n      var _getItemById5;\n\n      (_getItemById5 = getItemById(id)) == null ? void 0 : _getItemById5.childrenIds.forEach(function (child) {\n        traverseDown(child);\n      });\n    } else {\n      leafs.push(id);\n    }\n  };\n\n  traverseDown(rootId);\n  return leafs;\n}\n//# sourceMappingURL=useTree.js.map\n","import { treeBehavior } from '@fluentui/accessibility';\nimport { useTelemetry, useUnhandledProps, getElementType, useAccessibility, useStyles, useFluentContext } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { TreeItem } from './TreeItem';\nimport { TreeTitle } from './TreeTitle';\nimport { childrenExist, commonPropTypes, createShorthandFactory, rtlTextContainer } from '../../utils';\nimport { useTree } from './hooks/useTree';\nimport { TreeContext } from './context';\nexport var treeClassName = 'ui-tree';\n\n/**\n * A Tree displays data organised in tree hierarchy.\n *\n * @accessibility\n * Implements [ARIA TreeView](https://www.w3.org/TR/wai-aria-practices-1.1/#TreeView) design pattern.\n * @accessibilityIssues\n * [Treeview - JAWS doesn't narrate position for each tree item](https://github.com/FreedomScientific/VFO-standards-support/issues/338)\n * [Aria-selected and aria-checked are not output correctly for trees #432](https://github.com/FreedomScientific/VFO-standards-support/issues/432)\n * [Aria compliant trees are read as empty tables](https://bugs.chromium.org/p/chromium/issues/detail?id=1048770)\n * [VoiceOver narrates \"selected false\" for DOM with role=option and no aria-selected attribute](http://www.openradar.me/FB8050959)\n * [VoiceOver does not support Aria 1.2 listbox role owning unselectable group role](http://www.openradar.me/FB8050958)\n */\nexport var Tree = /*#__PURE__*/function () {\n  var Tree = function Tree(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Tree.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var selectable = props.selectable,\n        children = props.children,\n        renderedItems = props.renderedItems,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Tree.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: Tree.displayName,\n      rtl: context.rtl,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          selectable: selectable\n        };\n      }\n    });\n\n    var _useStyles = useStyles(Tree.displayName, {\n      className: treeClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var _useTree = useTree(props),\n        visibleItemIds = _useTree.visibleItemIds,\n        getItemById = _useTree.getItemById,\n        registerItemRef = _useTree.registerItemRef,\n        toggleItemActive = _useTree.toggleItemActive,\n        focusItemById = _useTree.focusItemById,\n        expandSiblings = _useTree.expandSiblings,\n        toggleItemSelect = _useTree.toggleItemSelect,\n        getToFocusIDByFirstCharacter = _useTree.getToFocusIDByFirstCharacter;\n\n    var contextValue = React.useMemo(function () {\n      return {\n        getItemById: getItemById,\n        registerItemRef: registerItemRef,\n        toggleItemActive: toggleItemActive,\n        expandSiblings: expandSiblings,\n        focusItemById: focusItemById,\n        toggleItemSelect: toggleItemSelect,\n        getToFocusIDByFirstCharacter: getToFocusIDByFirstCharacter\n      };\n    }, [getItemById, registerItemRef, toggleItemActive, focusItemById, expandSiblings, toggleItemSelect, getToFocusIDByFirstCharacter]);\n\n    var renderContent = function renderContent() {\n      return visibleItemIds.map(function (id) {\n        var item = getItemById(id);\n        var expanded = item.expanded,\n            parent = item.parent,\n            level = item.level,\n            index = item.index,\n            treeSize = item.treeSize;\n        return TreeItem.create(item.item, {\n          defaultProps: function defaultProps() {\n            return getA11yProps('item', {\n              renderItemTitle: props.renderItemTitle\n            });\n          },\n          overrideProps: {\n            expanded: expanded,\n            parent: parent,\n            key: id,\n            level: level,\n            index: index,\n            treeSize: treeSize,\n            selectable: selectable ? item.item.selectable : false\n          }\n        });\n      });\n    };\n\n    var element = /*#__PURE__*/React.createElement(TreeContext.Provider, {\n      value: contextValue\n    }, getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), childrenExist(children) ? children : renderedItems ? renderedItems(renderContent()) : renderContent())));\n    setEnd();\n    return element;\n  };\n\n  Tree.displayName = 'Tree';\n  Tree.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    activeItemIds: customPropTypes.collectionShorthand,\n    selectedItemIds: customPropTypes.collectionShorthand,\n    defaultActiveItemIds: customPropTypes.collectionShorthand,\n    defaultSelectedItemIds: customPropTypes.collectionShorthand,\n    exclusive: PropTypes.bool,\n    selectable: PropTypes.bool,\n    items: customPropTypes.collectionObjectShorthand,\n    onActiveItemIdsChange: PropTypes.func,\n    onSelectedItemIdsChange: PropTypes.func,\n    renderItemTitle: PropTypes.func,\n    renderedItems: PropTypes.func\n  });\n  Tree.Item = TreeItem;\n  Tree.Title = TreeTitle;\n  Tree.defaultProps = {\n    accessibility: treeBehavior\n  };\n  Tree.handledProps = Object.keys(Tree.propTypes);\n  Tree.create = createShorthandFactory({\n    Component: Tree,\n    mappedArrayProp: 'items'\n  });\n  return Tree;\n}();\n//# sourceMappingURL=Tree.js.map\n","var __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        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]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, Divider, Popup, Text, Tooltip, Tree, tooltipAsLabelBehavior, } from \"@fluentui/react-northstar\";\nimport { FilterIcon, TriangleDownIcon, TriangleEndIcon, } from \"@fluentui/react-icons-northstar\";\nimport { TeamsTheme } from \"../../themes\";\nvar treeItemIconStyles = {\n    position: \"relative\",\n    left: \"-1rem\",\n    height: \"1rem\",\n    width: \"0\",\n    display: \"block\",\n    pointerEvents: \"none\",\n};\nvar treeItemTitleRenderer = function (Component, _a) {\n    var content = _a.content, expanded = _a.expanded, hasSubtree = _a.hasSubtree, restProps = __rest(_a, [\"content\", \"expanded\", \"hasSubtree\"]);\n    return (React.createElement(Component, __assign({ expanded: expanded, hasSubtree: hasSubtree, styles: {\n            display: \"flex\",\n            justifyContent: \"flex-start\",\n            alignItems: \"center\",\n            padding: \"0.325rem 0.875rem 0.325rem 1.125rem\",\n        }, selectionIndicator: {\n            styles: { flex: \"0 0 auto\", marginLeft: \"1rem\" },\n        } }, restProps),\n        hasSubtree ? (expanded ? (React.createElement(TriangleDownIcon, { styles: treeItemIconStyles })) : (React.createElement(TriangleEndIcon, { styles: treeItemIconStyles }))) : null,\n        React.createElement(Text, { styles: {\n                flex: \"1 1 auto\",\n                overflow: \"hidden\",\n                whiteSpace: \"nowrap\",\n                textOverflow: \"ellipsis\",\n                pointerEvents: \"none\",\n                marginRight: \".5rem\",\n            }, content: content, className: \"extended-toolbar__filters-menu__item__content\" })));\n};\nvar addSelectableParent = function (items) {\n    return items.map(function (item) {\n        if (item && item.hasOwnProperty(\"items\"))\n            return Object.assign(item, {\n                selectableParent: true,\n                items: addSelectableParent(get(item, [\"items\"], [])),\n            });\n        else\n            return item;\n    });\n};\nvar findSingleTitle = function (selectedId, filters) {\n    var result = null;\n    for (var i = 0; i < filters.length; i += 1) {\n        if (get(filters, [i, \"id\"]) === selectedId) {\n            result = get(filters, [i, \"title\"]);\n            break;\n        }\n        else if (Array.isArray(get(filters, [i, \"items\"]))) {\n            var deepResult = findSingleTitle(selectedId, get(filters, [i, \"items\"]));\n            if (deepResult) {\n                result = deepResult;\n                break;\n            }\n        }\n    }\n    return result;\n};\nvar getSingleTitle = function (layout, selectedId, filters) {\n    switch (layout) {\n        case \"verbose\":\n            return (selectedId && findSingleTitle(selectedId, filters)) || \"Filter\";\n        default:\n        case \"compact\":\n            return selectedId ? \"(1)\" : \"\";\n    }\n};\nvar passThrough = function (arg) { return arg; };\nexport var ToolbarFilter = function (props) {\n    var layout = props.layout, filters = props.filters, singleSelect = props.singleSelect, open = props.open, onOpenChange = props.onOpenChange, toolbarMenuProps = props.toolbarMenuProps, toolbarButtonStyles = props.toolbarButtonStyles;\n    var _a = useState([]), selectedFilters = _a[0], setSelectedFilters = _a[1];\n    var propagateSetSelectedFilters = function (selectedFilters) {\n        return setSelectedFilters((props.onSelectedFiltersChange || passThrough)(selectedFilters));\n    };\n    var invokerTitle = singleSelect\n        ? getSingleTitle(layout, selectedFilters[0], filters)\n        : \"\" + (layout === \"verbose\" ? \"Filter\" : \"\") + (selectedFilters.length > 0 ? \" (\" + selectedFilters.length + \")\" : \"\");\n    var filtersForTree = singleSelect\n        ? filters\n        : addSelectableParent(filters);\n    var filterInvoker = (React.createElement(Button, { text: true, title: \"Filter\", content: invokerTitle, className: \"extended-toolbar__filters-invoker\", icon: React.createElement(FilterIcon, { outline: true }), styles: __assign(__assign({}, toolbarButtonStyles), { marginRight: \".5rem\", flex: \"0 0 auto\" }), onClick: function (e) { return onOpenChange(e, { open: !open }); } }));\n    return filters.length ? (React.createElement(Popup, __assign({}, toolbarMenuProps, { open: open, onOpenChange: onOpenChange, trigger: layout === \"compact\" ? (React.createElement(Tooltip, { trigger: filterInvoker, content: \"Filter\", accessibility: tooltipAsLabelBehavior })) : (filterInvoker), content: {\n            styles: { width: \"13.75rem\" },\n            content: (React.createElement(Box, { className: \"extended-toolbar__filters-menu\" },\n                React.createElement(Box, { className: \"extended-toolbar__filters-menu__header\", styles: {\n                        display: \"flex\",\n                        flexFlow: \"row wrap\",\n                        alignItems: \"center\",\n                        padding: \"0 .5rem\",\n                    } },\n                    React.createElement(Text, { content: \"Filter\", className: \"extended-toolbar__filters-menu__title\", styles: {\n                            flex: \"1 0 auto\",\n                            padding: \".5rem 0\",\n                        } }),\n                    React.createElement(Button, { text: true, primary: true, content: \"Clear\", \"aria-label\": \"Clear filter\", className: \"extended-toolbar__filters-menu__clear-action\", onClick: function () { return propagateSetSelectedFilters([]); }, styles: {\n                            marginRight: \"calc(1px - .5rem)\",\n                            padding: \".5rem\",\n                            height: \"2rem\",\n                            minWidth: 0,\n                        }, variables: function (_a) {\n                            var colorScheme = _a.colorScheme, theme = _a.theme;\n                            var color = colorScheme.brand.foreground;\n                            switch (theme) {\n                                case TeamsTheme.HighContrast:\n                                    color = colorScheme.grey.foregroundHover;\n                                    break;\n                            }\n                            return { color: color };\n                        } })),\n                React.createElement(Divider, { styles: { padding: 0, margin: \"0 .5rem\" } }),\n                React.createElement(Tree, { selectable: true, items: filtersForTree, onSelectedItemIdsChange: function (_e, props) {\n                        var selectedItemIds = props === null || props === void 0 ? void 0 : props.selectedItemIds;\n                        var nextSelectedFilters = typeof selectedItemIds === \"function\"\n                            ? selectedItemIds(selectedFilters)\n                            : Array.isArray(selectedItemIds)\n                                ? selectedItemIds\n                                : [];\n                        propagateSetSelectedFilters(singleSelect\n                            ? nextSelectedFilters.slice(nextSelectedFilters.length - 1, nextSelectedFilters.length)\n                            : nextSelectedFilters);\n                    }, selectedItemIds: selectedFilters, renderItemTitle: treeItemTitleRenderer, className: \"extended-toolbar__filters-menu__tree\", \"aria-labelledby\": \"extended-toolbar__filters-menu__title\", styles: { padding: \"0.3125rem 0\" } }))),\n        }, trapFocus: {\n            firstFocusableSelector: \".extended-toolbar__filters-menu__tree [data-is-focusable=true]\",\n        } }))) : null;\n};\n//# sourceMappingURL=ToolbarFilter.js.map","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @description\n * The behavior is designed for particular structure of menu item. The item consists of root element and anchor inside the root element.\n *\n * @specification\n * Adds role 'presentation' to 'wrapper' slot.\n * Adds role 'button' to 'root' slot.\n * Adds attribute 'tabIndex=0' to 'root' slot.\n * Adds attribute 'data-is-focusable=false' to 'root' slot if 'disabled' property is true. Sets the attribute to 'true' otherwise.\n * Adds attribute 'aria-label' based on the property 'aria-label' to 'root' slot.\n * Adds attribute 'aria-labelledby' based on the property 'aria-labelledby' to 'root' slot.\n * Adds attribute 'aria-describedby' based on the property 'aria-describedby' to 'root' slot.\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'. This can be overriden by providing 'aria-disabled' property directly to the component.\n * Adds attribute 'aria-haspopup=true' to 'root' slot if 'hasMenu' property is set.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'wrapper'.\n * Triggers 'closeMenuAndFocusTrigger' action with 'Escape' on 'wrapper'.\n * Triggers 'openMenu' action with 'ArrowDown' on 'wrapper', when orientation is horizontal.\n * Triggers 'doNotNavigateNextParentItem' action with 'ArrowLeft' or 'ArrowRight' on 'wrapper', when toolbar button has submenu and it is opened.\n */\nexport var menuItemAsToolbarButtonBehavior = function menuItemAsToolbarButtonBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      wrapper: {\n        role: 'presentation'\n      },\n      root: (_root = {\n        role: 'button',\n        tabIndex: 0,\n        'aria-haspopup': props.hasMenu ? 'true' : undefined,\n        'aria-disabled': props['disabled'],\n        'aria-label': props['aria-label'],\n        'aria-labelledby': props['aria-labelledby'],\n        'aria-describedby': props['aria-describedby']\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = !props.disabled, _root)\n    },\n    keyActions: {\n      wrapper: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        },\n        closeMenuAndFocusTrigger: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        },\n        openMenu: !props.vertical && {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowDown\n          }]\n        },\n        doNotNavigateNextParentItem: {\n          keyCombinations: props.hasMenu && props.menuOpen ? [{\n            keyCode: keyboardKey.ArrowLeft\n          }, {\n            keyCode: keyboardKey.ArrowRight\n          }] : null\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=menuItemAsToolbarButtonBehavior.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\nimport { menuItemAsToolbarButtonBehavior } from './menuItemAsToolbarButtonBehavior';\n/**\n * @description\n * Implements ARIA Toolbar design pattern.\n * Child item components need to have menuItemAsToolbarButtonBehavior assigned.\n * @specification\n * Adds role 'toolbar' to 'root' slot.\n * Provides arrow key navigation in bidirectionalDomOrder direction.\n * When component's container element receives focus, focus will be set to the default focusable child element of the component.\n */\n\nexport var menuAsToolbarBehavior = function menuAsToolbarBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'toolbar'\n      }\n    },\n    focusZone: {\n      props: {\n        shouldFocusInnerElementWhenReceivedFocus: true,\n        direction: FocusZoneDirection.bidirectionalDomOrder\n      }\n    },\n    childBehaviors: {\n      item: menuItemAsToolbarButtonBehavior\n    }\n  };\n};\n//# sourceMappingURL=menuAsToolbarBehavior.js.map\n","import { keyboardKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\nimport { FocusZoneTabbableElements, FocusZoneDirection } from '../../focusZone/types';\n/**\n * @description\n * Sets the message to be a focusable element.\n * Adds a vertical circular focus zone navigation where a user navigates using a Tab key.\n * Adds a key action which prevents up and down arrow keys from navigating in FocusZone, we only want a Tab key to navigate.\n * Adds an escape key action which focuses the chat message, i.e., moves key handling from inside a message back to the chat list.\n *\n * @specification\n * Provides arrow key navigation in vertical direction.\n * Keyboard navigation is circular.\n * Focus is moved within the focusable children of the component using TAB key.\n * Does not handle PageDown and PageUp.\n */\n\nexport var chatMessageBehavior = function chatMessageBehavior() {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {}, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root.tabIndex = -1, _root)\n    },\n    focusZone: {\n      props: {\n        handleTabKey: FocusZoneTabbableElements.all,\n        isCircularNavigation: true,\n        direction: FocusZoneDirection.vertical,\n        pagingSupportDisabled: true\n      }\n    },\n    keyActions: {\n      root: {\n        // prevents default FocusZone behavior, in this case, prevents using arrow keys as navigation (we only want a Tab key to navigate)\n        preventDefault: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowUp\n          }, {\n            keyCode: keyboardKey.ArrowDown\n          }]\n        },\n        focus: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=chatMessageBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { IS_FOCUSABLE_ATTRIBUTE, chatMessageBehavior, menuAsToolbarBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry, useContextSelector } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { getScrollParent, partitionPopperPropsFromShorthand, usePopper } from '../../utils/positioner';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, createShorthand } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Label } from '../Label/Label';\nimport { Menu } from '../Menu/Menu';\nimport { Text } from '../Text/Text';\nimport { Reaction } from '../Reaction/Reaction';\nimport { ChatItemContext } from './chatItemContext';\nimport { ChatMessageHeader } from './ChatMessageHeader';\nimport { ChatMessageDetails } from './ChatMessageDetails';\nimport { ChatMessageReadStatus } from './ChatMessageReadStatus';\nexport var chatMessageClassName = 'ui-chat__message';\nexport var chatMessageSlotClassNames = {\n  actionMenu: chatMessageClassName + \"__actions\",\n  author: chatMessageClassName + \"__author\",\n  timestamp: chatMessageClassName + \"__timestamp\",\n  badge: chatMessageClassName + \"__badge\",\n  content: chatMessageClassName + \"__content\",\n  reactionGroup: chatMessageClassName + \"__reactions\"\n};\n/**\n * A ChatMessage represents a single message in chat.\n */\n\nexport var ChatMessage = /*#__PURE__*/function () {\n  var ChatMessage = function ChatMessage(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(ChatMessage.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var parentAttached = useContextSelector(ChatItemContext, function (v) {\n      return v.attached;\n    });\n    var accessibility = props.accessibility,\n        _props$attached = props.attached,\n        attached = _props$attached === void 0 ? parentAttached : _props$attached,\n        author = props.author,\n        badge = props.badge,\n        badgePosition = props.badgePosition,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        design = props.design,\n        mine = props.mine,\n        positionActionMenu = props.positionActionMenu,\n        reactionGroup = props.reactionGroup,\n        reactionGroupPosition = props.reactionGroupPosition,\n        timestamp = props.timestamp,\n        styles = props.styles,\n        variables = props.variables,\n        header = props.header,\n        details = props.details,\n        readStatus = props.readStatus,\n        overflow = props.unstable_overflow;\n\n    var _partitionPopperProps = partitionPopperPropsFromShorthand(props.actionMenu),\n        actionMenu = _partitionPopperProps[0],\n        positioningProps = _partitionPopperProps[1];\n\n    var hasActionMenu = !_isNil(actionMenu);\n    var modifiers = React.useCallback(function (target, container) {\n      return positionActionMenu && [// https://popper.js.org/docs/v2/modifiers/flip/\n      // Forces to flip only in \"top-*\" positions\n      {\n        name: 'flip',\n        options: {\n          fallbackPlacements: ['top']\n        }\n      }, overflow && {\n        name: 'preventOverflow',\n        options: {\n          boundary: getScrollParent(container)\n        }\n      }];\n    }, [positionActionMenu, overflow]);\n    var popperRef = React.useRef();\n\n    var _usePopper = usePopper(Object.assign({\n      align: 'end',\n      position: 'above',\n      positionFixed: overflow,\n      enabled: hasActionMenu && positionActionMenu,\n      modifiers: modifiers,\n      popperRef: popperRef\n    }, positioningProps)),\n        messageRef = _usePopper.targetRef,\n        actionsMenuRef = _usePopper.containerRef;\n\n    var _React$useState = React.useState(false),\n        focused = _React$useState[0],\n        setFocused = _React$useState[1];\n\n    var getA11Props = useAccessibility(accessibility, {\n      actionHandlers: {\n        // prevents default FocusZone behavior, e.g., in ChatMessageBehavior, it prevents FocusZone from using arrow keys\n        // as navigation (only Tab key should work)\n        preventDefault: function preventDefault(event) {\n          // preventDefault only if event coming from inside the message\n          if (event.currentTarget !== event.target) {\n            event.preventDefault();\n          }\n        },\n        focus: function focus(event) {\n          if (messageRef.current) {\n            messageRef.current.focus();\n            event.stopPropagation();\n          }\n        }\n      }\n    });\n\n    var _useStyles = useStyles(ChatMessage.displayName, {\n      className: chatMessageClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          attached: attached,\n          badgePosition: badgePosition,\n          focused: focused,\n          mine: mine,\n          hasBadge: !!badge,\n          hasReactionGroup: !!reactionGroup\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var handleFocus = function handleFocus(e) {\n      var _popperRef$current;\n\n      (_popperRef$current = popperRef.current) == null ? void 0 : _popperRef$current.updatePosition();\n      setFocused(true);\n\n      _invoke(props, 'onFocus', e, props);\n    };\n\n    var handleBlur = function handleBlur(e) {\n      // `focused` controls is focused the whole `ChatMessage` or any of its children. When we're navigating\n      // with keyboard the focused element will be changed and there is no way to use `:focus` selector\n      var shouldPreserveFocusState = _invoke(e, 'currentTarget.contains', e.relatedTarget);\n\n      setFocused(shouldPreserveFocusState);\n\n      _invoke(props, 'onBlur', e, props);\n    };\n\n    var handleMouseEnter = function handleMouseEnter(e) {\n      var _popperRef$current2;\n\n      (_popperRef$current2 = popperRef.current) == null ? void 0 : _popperRef$current2.updatePosition();\n\n      _invoke(props, 'onMouseEnter', e, props);\n    };\n\n    var renderActionMenu = function renderActionMenu() {\n      var actionMenuElement = Menu.create(actionMenu, {\n        defaultProps: function defaultProps() {\n          var _ref;\n\n          return _ref = {}, _ref[IS_FOCUSABLE_ATTRIBUTE] = true, _ref.accessibility = menuAsToolbarBehavior, _ref.className = chatMessageSlotClassNames.actionMenu, _ref.styles = resolvedStyles.actionMenu, _ref;\n        }\n      });\n\n      if (!actionMenuElement) {\n        return actionMenuElement;\n      }\n\n      return /*#__PURE__*/React.createElement(Ref, {\n        innerRef: actionsMenuRef\n      }, actionMenuElement);\n    };\n\n    var childrenPropExists = childrenExist(children);\n    var rootClasses = childrenPropExists ? cx(classes.root, classes.content) : classes.root;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(ChatMessage.handledProps, props);\n    var badgeElement = Label.create(badge, {\n      defaultProps: function defaultProps() {\n        return {\n          className: chatMessageSlotClassNames.badge,\n          styles: resolvedStyles.badge\n        };\n      }\n    });\n    var reactionGroupElement = Reaction.Group.create(reactionGroup, {\n      defaultProps: function defaultProps() {\n        return {\n          className: chatMessageSlotClassNames.reactionGroup,\n          styles: resolvedStyles.reactionGroup\n        };\n      }\n    });\n    var actionMenuElement = renderActionMenu();\n    var authorElement = Text.create(author, {\n      defaultProps: function defaultProps() {\n        return {\n          size: 'small',\n          styles: resolvedStyles.author,\n          className: chatMessageSlotClassNames.author\n        };\n      }\n    });\n    var timestampElement = Text.create(timestamp, {\n      defaultProps: function defaultProps() {\n        return {\n          size: 'small',\n          styles: resolvedStyles.timestamp,\n          timestamp: true,\n          className: chatMessageSlotClassNames.timestamp\n        };\n      }\n    });\n    var messageContent = Box.create(content, {\n      defaultProps: function defaultProps() {\n        return {\n          className: chatMessageSlotClassNames.content,\n          styles: resolvedStyles.content\n        };\n      }\n    });\n    var detailsElement = createShorthand(ChatMessageDetails, details, {\n      defaultProps: function defaultProps() {\n        return {\n          mine: mine\n        };\n      }\n    });\n    var readStatusElement = createShorthand(ChatMessageReadStatus, readStatus, {});\n    var headerElement = createShorthand(ChatMessageHeader, header || {}, {\n      overrideProps: function overrideProps() {\n        return {\n          content: /*#__PURE__*/React.createElement(React.Fragment, null, authorElement, timestampElement, detailsElement, reactionGroupPosition === 'start' && reactionGroupElement)\n        };\n      }\n    });\n    var element = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: messageRef\n    }, getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: rootClasses,\n      onBlur: handleBlur,\n      onFocus: handleFocus,\n      onMouseEnter: handleMouseEnter\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), childrenPropExists ? children : /*#__PURE__*/React.createElement(React.Fragment, null, actionMenuElement, badgePosition === 'start' && badgeElement, headerElement, messageContent, reactionGroupPosition === 'end' && reactionGroupElement, badgePosition === 'end' && badgeElement, readStatusElement))));\n    setEnd();\n    return element;\n  };\n\n  ChatMessage.displayName = 'ChatMessage';\n  ChatMessage.defaultProps = {\n    accessibility: chatMessageBehavior,\n    badgePosition: 'end',\n    positionActionMenu: true,\n    reactionGroupPosition: 'start'\n  };\n  ChatMessage.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: 'shorthand'\n  }), {\n    actionMenu: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n    attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n    author: customPropTypes.itemShorthand,\n    badge: customPropTypes.itemShorthand,\n    details: customPropTypes.itemShorthand,\n    badgePosition: PropTypes.oneOf(['start', 'end']),\n    header: customPropTypes.itemShorthand,\n    mine: PropTypes.bool,\n    timestamp: customPropTypes.itemShorthand,\n    onBlur: PropTypes.func,\n    onFocus: PropTypes.func,\n    onMouseEnter: PropTypes.func,\n    positionActionMenu: PropTypes.bool,\n    reactionGroup: PropTypes.oneOfType([customPropTypes.collectionShorthand, customPropTypes.itemShorthand]),\n    reactionGroupPosition: PropTypes.oneOf(['start', 'end']),\n    unstable_overflow: PropTypes.bool,\n    readStatus: customPropTypes.itemShorthand\n  });\n  ChatMessage.handledProps = Object.keys(ChatMessage.propTypes);\n  ChatMessage.create = createShorthandFactory({\n    Component: ChatMessage,\n    mappedProp: 'content'\n  });\n  return ChatMessage;\n}();\n//# sourceMappingURL=ChatMessage.js.map\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './utils';\n/**\n * This hook returns context selected value by selector.\n * It will only accept context created by `createContext`.\n * It will trigger re-render if only the selected value is referencially changed.\n */\n\nexport var useContextSelector = function useContextSelector(context, selector) {\n  var contextValue = React.useContext(context);\n  var value = contextValue.value.current,\n      version = contextValue.version.current,\n      listeners = contextValue.listeners;\n  var selected = selector(value);\n\n  var _React$useReducer = React.useReducer(function (prevState, payload) // from provider effect\n  {\n    if (!payload) {\n      // early bail out when is dispatched during render\n      return [value, selected];\n    }\n\n    if (payload[0] <= version) {\n      if (Object.is(prevState[1], selected)) {\n        return prevState; // bail out\n      }\n\n      return [value, selected];\n    }\n\n    try {\n      if (Object.is(prevState[0], payload[1])) {\n        return prevState; // do not update\n      }\n\n      var nextSelected = selector(payload[1]);\n\n      if (Object.is(prevState[1], nextSelected)) {\n        return prevState; // do not update\n      }\n\n      return [payload[1], nextSelected];\n    } catch (e) {// ignored (stale props or some other reason)\n    }\n\n    return [].concat(prevState); // schedule update\n  }, [value, selected]),\n      state = _React$useReducer[0],\n      dispatch = _React$useReducer[1];\n\n  if (!Object.is(state[1], selected)) {\n    // schedule re-render\n    // this is safe because it's self contained\n    dispatch(undefined);\n  }\n\n  useIsomorphicLayoutEffect(function () {\n    listeners.push(dispatch);\n    return function () {\n      var index = listeners.indexOf(dispatch);\n      listeners.splice(index, 1);\n    };\n  }, [listeners]);\n  return state[1];\n};\n//# sourceMappingURL=useContextSelector.js.map\n","function isElement(el) {\n  return el != null && typeof el === 'object' && el.nodeType === 1;\n}\n\nfunction canOverflow(overflow, skipOverflowHiddenElements) {\n  if (skipOverflowHiddenElements && overflow === 'hidden') {\n    return false;\n  }\n\n  return overflow !== 'visible' && overflow !== 'clip';\n}\n\nfunction isScrollable(el, skipOverflowHiddenElements) {\n  if (el.clientHeight < el.scrollHeight || el.clientWidth < el.scrollWidth) {\n    var style = getComputedStyle(el, null);\n    return canOverflow(style.overflowY, skipOverflowHiddenElements) || canOverflow(style.overflowX, skipOverflowHiddenElements);\n  }\n\n  return false;\n}\n\nfunction alignNearest(scrollingEdgeStart, scrollingEdgeEnd, scrollingSize, scrollingBorderStart, scrollingBorderEnd, elementEdgeStart, elementEdgeEnd, elementSize) {\n  if (elementEdgeStart < scrollingEdgeStart && elementEdgeEnd > scrollingEdgeEnd || elementEdgeStart > scrollingEdgeStart && elementEdgeEnd < scrollingEdgeEnd) {\n    return 0;\n  }\n\n  if (elementEdgeStart <= scrollingEdgeStart && elementSize <= scrollingSize || elementEdgeEnd >= scrollingEdgeEnd && elementSize >= scrollingSize) {\n    return elementEdgeStart - scrollingEdgeStart - scrollingBorderStart;\n  }\n\n  if (elementEdgeEnd > scrollingEdgeEnd && elementSize < scrollingSize || elementEdgeStart < scrollingEdgeStart && elementSize > scrollingSize) {\n    return elementEdgeEnd - scrollingEdgeEnd + scrollingBorderEnd;\n  }\n\n  return 0;\n}\n\nexport default (function (target, options) {\n  var scrollMode = options.scrollMode,\n      block = options.block,\n      inline = options.inline,\n      boundary = options.boundary,\n      skipOverflowHiddenElements = options.skipOverflowHiddenElements;\n  var checkBoundary = typeof boundary === 'function' ? boundary : function (node) {\n    return node !== boundary;\n  };\n\n  if (!isElement(target)) {\n    throw new TypeError('Invalid target');\n  }\n\n  var scrollingElement = document.scrollingElement || document.documentElement;\n  var frames = [];\n  var cursor = target;\n\n  while (isElement(cursor) && checkBoundary(cursor)) {\n    cursor = cursor.parentNode;\n\n    if (cursor === scrollingElement) {\n      frames.push(cursor);\n      break;\n    }\n\n    if (cursor === document.body && isScrollable(cursor) && !isScrollable(document.documentElement)) {\n      continue;\n    }\n\n    if (isScrollable(cursor, skipOverflowHiddenElements)) {\n      frames.push(cursor);\n    }\n  }\n\n  var viewportWidth = window.visualViewport ? visualViewport.width : innerWidth;\n  var viewportHeight = window.visualViewport ? visualViewport.height : innerHeight;\n  var viewportX = window.scrollX || pageXOffset;\n  var viewportY = window.scrollY || pageYOffset;\n\n  var _target$getBoundingCl = target.getBoundingClientRect(),\n      targetHeight = _target$getBoundingCl.height,\n      targetWidth = _target$getBoundingCl.width,\n      targetTop = _target$getBoundingCl.top,\n      targetRight = _target$getBoundingCl.right,\n      targetBottom = _target$getBoundingCl.bottom,\n      targetLeft = _target$getBoundingCl.left;\n\n  var targetBlock = block === 'start' || block === 'nearest' ? targetTop : block === 'end' ? targetBottom : targetTop + targetHeight / 2;\n  var targetInline = inline === 'center' ? targetLeft + targetWidth / 2 : inline === 'end' ? targetRight : targetLeft;\n  var computations = [];\n\n  for (var index = 0; index < frames.length; index++) {\n    var frame = frames[index];\n\n    var _frame$getBoundingCli = frame.getBoundingClientRect(),\n        _height = _frame$getBoundingCli.height,\n        _width = _frame$getBoundingCli.width,\n        _top = _frame$getBoundingCli.top,\n        right = _frame$getBoundingCli.right,\n        bottom = _frame$getBoundingCli.bottom,\n        _left = _frame$getBoundingCli.left;\n\n    if (scrollMode === 'if-needed' && targetTop >= 0 && targetLeft >= 0 && targetBottom <= viewportHeight && targetRight <= viewportWidth && targetTop >= _top && targetBottom <= bottom && targetLeft >= _left && targetRight <= right) {\n      return computations;\n    }\n\n    var frameStyle = getComputedStyle(frame);\n    var borderLeft = parseInt(frameStyle.borderLeftWidth, 10);\n    var borderTop = parseInt(frameStyle.borderTopWidth, 10);\n    var borderRight = parseInt(frameStyle.borderRightWidth, 10);\n    var borderBottom = parseInt(frameStyle.borderBottomWidth, 10);\n    var blockScroll = 0;\n    var inlineScroll = 0;\n    var scrollbarWidth = 'offsetWidth' in frame ? frame.offsetWidth - frame.clientWidth - borderLeft - borderRight : 0;\n    var scrollbarHeight = 'offsetHeight' in frame ? frame.offsetHeight - frame.clientHeight - borderTop - borderBottom : 0;\n\n    if (scrollingElement === frame) {\n      if (block === 'start') {\n        blockScroll = targetBlock;\n      } else if (block === 'end') {\n        blockScroll = targetBlock - viewportHeight;\n      } else if (block === 'nearest') {\n        blockScroll = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, borderTop, borderBottom, viewportY + targetBlock, viewportY + targetBlock + targetHeight, targetHeight);\n      } else {\n        blockScroll = targetBlock - viewportHeight / 2;\n      }\n\n      if (inline === 'start') {\n        inlineScroll = targetInline;\n      } else if (inline === 'center') {\n        inlineScroll = targetInline - viewportWidth / 2;\n      } else if (inline === 'end') {\n        inlineScroll = targetInline - viewportWidth;\n      } else {\n        inlineScroll = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, borderLeft, borderRight, viewportX + targetInline, viewportX + targetInline + targetWidth, targetWidth);\n      }\n\n      blockScroll = Math.max(0, blockScroll + viewportY);\n      inlineScroll = Math.max(0, inlineScroll + viewportX);\n    } else {\n      if (block === 'start') {\n        blockScroll = targetBlock - _top - borderTop;\n      } else if (block === 'end') {\n        blockScroll = targetBlock - bottom + borderBottom + scrollbarHeight;\n      } else if (block === 'nearest') {\n        blockScroll = alignNearest(_top, bottom, _height, borderTop, borderBottom + scrollbarHeight, targetBlock, targetBlock + targetHeight, targetHeight);\n      } else {\n        blockScroll = targetBlock - (_top + _height / 2) + scrollbarHeight / 2;\n      }\n\n      if (inline === 'start') {\n        inlineScroll = targetInline - _left - borderLeft;\n      } else if (inline === 'center') {\n        inlineScroll = targetInline - (_left + _width / 2) + scrollbarWidth / 2;\n      } else if (inline === 'end') {\n        inlineScroll = targetInline - right + borderRight + scrollbarWidth;\n      } else {\n        inlineScroll = alignNearest(_left, right, _width, borderLeft, borderRight + scrollbarWidth, targetInline, targetInline + targetWidth, targetWidth);\n      }\n\n      var scrollLeft = frame.scrollLeft,\n          scrollTop = frame.scrollTop;\n      blockScroll = Math.max(0, Math.min(scrollTop + blockScroll, frame.scrollHeight - _height + scrollbarHeight));\n      inlineScroll = Math.max(0, Math.min(scrollLeft + inlineScroll, frame.scrollWidth - _width + scrollbarWidth));\n      targetBlock += scrollTop - blockScroll;\n      targetInline += scrollLeft - inlineScroll;\n    }\n\n    computations.push({\n      el: frame,\n      top: blockScroll,\n      left: inlineScroll\n    });\n  }\n\n  return computations;\n});","import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport { cloneElement, Component, useCallback, useReducer, useRef, useEffect } from 'react';\nimport { isForwardRef } from 'react-is';\nimport computeScrollIntoView from 'compute-scroll-into-view';\n\nvar idCounter = 0;\n/**\n * Accepts a parameter and returns it if it's a function\n * or a noop function if it's not. This allows us to\n * accept a callback, but not worry about it if it's not\n * passed.\n * @param {Function} cb the callback\n * @return {Function} a function\n */\n\nfunction cbToCb(cb) {\n  return typeof cb === 'function' ? cb : noop;\n}\n\nfunction noop() {}\n/**\n * Scroll node into view if necessary\n * @param {HTMLElement} node the element that should scroll into view\n * @param {HTMLElement} menuNode the menu element of the component\n */\n\n\nfunction scrollIntoView(node, menuNode) {\n  if (node === null) {\n    return;\n  }\n\n  var actions = computeScrollIntoView(node, {\n    boundary: menuNode,\n    block: 'nearest',\n    scrollMode: 'if-needed'\n  });\n  actions.forEach(function (_ref) {\n    var el = _ref.el,\n        top = _ref.top,\n        left = _ref.left;\n    el.scrollTop = top;\n    el.scrollLeft = left;\n  });\n}\n/**\n * @param {HTMLElement} parent the parent node\n * @param {HTMLElement} child the child node\n * @return {Boolean} whether the parent is the child or the child is in the parent\n */\n\n\nfunction isOrContainsNode(parent, child) {\n  return parent === child || parent.contains && parent.contains(child);\n}\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\n\n\nfunction debounce(fn, time) {\n  var timeoutId;\n\n  function cancel() {\n    if (timeoutId) {\n      clearTimeout(timeoutId);\n    }\n  }\n\n  function wrapper() {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    cancel();\n    timeoutId = setTimeout(function () {\n      timeoutId = null;\n      fn.apply(void 0, args);\n    }, time);\n  }\n\n  wrapper.cancel = cancel;\n  return wrapper;\n}\n/**\n * This is intended to be used to compose event handlers.\n * They are executed in order until one of them sets\n * `event.preventDownshiftDefault = true`.\n * @param {...Function} fns the event handler functions\n * @return {Function} the event handler to add to an element\n */\n\n\nfunction callAllEventHandlers() {\n  for (var _len2 = arguments.length, fns = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    fns[_key2] = arguments[_key2];\n  }\n\n  return function (event) {\n    for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n      args[_key3 - 1] = arguments[_key3];\n    }\n\n    return fns.some(function (fn) {\n      if (fn) {\n        fn.apply(void 0, [event].concat(args));\n      }\n\n      return event.preventDownshiftDefault || event.hasOwnProperty('nativeEvent') && event.nativeEvent.preventDownshiftDefault;\n    });\n  };\n}\n\nfunction handleRefs() {\n  for (var _len4 = arguments.length, refs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n    refs[_key4] = arguments[_key4];\n  }\n\n  return function (node) {\n    refs.forEach(function (ref) {\n      if (typeof ref === 'function') {\n        ref(node);\n      } else if (ref) {\n        ref.current = node;\n      }\n    });\n  };\n}\n/**\n * This generates a unique ID for an instance of Downshift\n * @return {String} the unique ID\n */\n\n\nfunction generateId() {\n  return String(idCounter++);\n}\n/**\n * Resets idCounter to 0. Used for SSR.\n */\n\n\nfunction resetIdCounter() {\n  idCounter = 0;\n}\n/**\n * Default implementation for status message. Only added when menu is open.\n * Will specift if there are results in the list, and if so, how many,\n * and what keys are relevant.\n *\n * @param {Object} param the downshift state and other relevant properties\n * @return {String} the a11y status message\n */\n\n\nfunction getA11yStatusMessage(_ref2) {\n  var isOpen = _ref2.isOpen,\n      resultCount = _ref2.resultCount;\n\n  if (!isOpen) {\n    return '';\n  }\n\n  if (!resultCount) {\n    return 'No results are available.';\n  }\n\n  return resultCount + \" result\" + (resultCount === 1 ? ' is' : 's are') + \" available, use up and down arrow keys to navigate. Press Enter key to select.\";\n}\n/**\n * Takes an argument and if it's an array, returns the first item in the array\n * otherwise returns the argument\n * @param {*} arg the maybe-array\n * @param {*} defaultValue the value if arg is falsey not defined\n * @return {*} the arg or it's first item\n */\n\n\nfunction unwrapArray(arg, defaultValue) {\n  arg = Array.isArray(arg) ?\n  /* istanbul ignore next (preact) */\n  arg[0] : arg;\n\n  if (!arg && defaultValue) {\n    return defaultValue;\n  } else {\n    return arg;\n  }\n}\n/**\n * @param {Object} element (P)react element\n * @return {Boolean} whether it's a DOM element\n */\n\n\nfunction isDOMElement(element) {\n  // then we assume this is react\n  return typeof element.type === 'string';\n}\n/**\n * @param {Object} element (P)react element\n * @return {Object} the props\n */\n\n\nfunction getElementProps(element) {\n  return element.props;\n}\n/**\n * Throws a helpful error message for required properties. Useful\n * to be used as a default in destructuring or object params.\n * @param {String} fnName the function name\n * @param {String} propName the prop name\n */\n\n\nfunction requiredProp(fnName, propName) {\n  // eslint-disable-next-line no-console\n  console.error(\"The property \\\"\" + propName + \"\\\" is required in \\\"\" + fnName + \"\\\"\");\n}\n\nvar stateKeys = ['highlightedIndex', 'inputValue', 'isOpen', 'selectedItem', 'type'];\n/**\n * @param {Object} state the state object\n * @return {Object} state that is relevant to downshift\n */\n\nfunction pickState(state) {\n  if (state === void 0) {\n    state = {};\n  }\n\n  var result = {};\n  stateKeys.forEach(function (k) {\n    if (state.hasOwnProperty(k)) {\n      result[k] = state[k];\n    }\n  });\n  return result;\n}\n/**\n * This will perform a shallow merge of the given state object\n * with the state coming from props\n * (for the controlled component scenario)\n * This is used in state updater functions so they're referencing\n * the right state regardless of where it comes from.\n *\n * @param {Object} state The state of the component/hook.\n * @param {Object} props The props that may contain controlled values.\n * @returns {Object} The merged controlled state.\n */\n\n\nfunction getState(state, props) {\n  return Object.keys(state).reduce(function (prevState, key) {\n    prevState[key] = isControlledProp(props, key) ? props[key] : state[key];\n    return prevState;\n  }, {});\n}\n/**\n * This determines whether a prop is a \"controlled prop\" meaning it is\n * state which is controlled by the outside of this component rather\n * than within this component.\n *\n * @param {Object} props The props that may contain controlled values.\n * @param {String} key the key to check\n * @return {Boolean} whether it is a controlled controlled prop\n */\n\n\nfunction isControlledProp(props, key) {\n  return props[key] !== undefined;\n}\n/**\n * Normalizes the 'key' property of a KeyboardEvent in IE/Edge\n * @param {Object} event a keyboardEvent object\n * @return {String} keyboard key\n */\n\n\nfunction normalizeArrowKey(event) {\n  var key = event.key,\n      keyCode = event.keyCode;\n  /* istanbul ignore next (ie) */\n\n  if (keyCode >= 37 && keyCode <= 40 && key.indexOf('Arrow') !== 0) {\n    return \"Arrow\" + key;\n  }\n\n  return key;\n}\n/**\n * Simple check if the value passed is object literal\n * @param {*} obj any things\n * @return {Boolean} whether it's object literal\n */\n\n\nfunction isPlainObject(obj) {\n  return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * Returns the new index in the list, in a circular way. If next value is out of bonds from the total,\n * it will wrap to either 0 or itemCount - 1.\n *\n * @param {number} moveAmount Number of positions to move. Negative to move backwards, positive forwards.\n * @param {number} baseIndex The initial position to move from.\n * @param {number} itemCount The total number of items.\n * @param {Function} getItemNodeFromIndex Used to check if item is disabled.\n * @param {boolean} circular Specify if navigation is circular. Default is true.\n * @returns {number} The new index after the move.\n */\n\n\nfunction getNextWrappingIndex(moveAmount, baseIndex, itemCount, getItemNodeFromIndex, circular) {\n  if (circular === void 0) {\n    circular = true;\n  }\n\n  var itemsLastIndex = itemCount - 1;\n\n  if (typeof baseIndex !== 'number' || baseIndex < 0 || baseIndex >= itemCount) {\n    baseIndex = moveAmount > 0 ? -1 : itemsLastIndex + 1;\n  }\n\n  var newIndex = baseIndex + moveAmount;\n\n  if (newIndex < 0) {\n    newIndex = circular ? itemsLastIndex : 0;\n  } else if (newIndex > itemsLastIndex) {\n    newIndex = circular ? 0 : itemsLastIndex;\n  }\n\n  var nonDisabledNewIndex = getNextNonDisabledIndex(moveAmount, newIndex, itemCount, getItemNodeFromIndex, circular);\n  return nonDisabledNewIndex === -1 ? baseIndex : nonDisabledNewIndex;\n}\n/**\n * Returns the next index in the list of an item that is not disabled.\n *\n * @param {number} moveAmount Number of positions to move. Negative to move backwards, positive forwards.\n * @param {number} baseIndex The initial position to move from.\n * @param {number} itemCount The total number of items.\n * @param {Function} getItemNodeFromIndex Used to check if item is disabled.\n * @param {boolean} circular Specify if navigation is circular. Default is true.\n * @returns {number} The new index. Returns baseIndex if item is not disabled. Returns next non-disabled item otherwise. If no non-disabled found it will return -1.\n */\n\n\nfunction getNextNonDisabledIndex(moveAmount, baseIndex, itemCount, getItemNodeFromIndex, circular) {\n  var currentElementNode = getItemNodeFromIndex(baseIndex);\n\n  if (!currentElementNode || !currentElementNode.hasAttribute('disabled')) {\n    return baseIndex;\n  }\n\n  if (moveAmount > 0) {\n    for (var index = baseIndex + 1; index < itemCount; index++) {\n      if (!getItemNodeFromIndex(index).hasAttribute('disabled')) {\n        return index;\n      }\n    }\n  } else {\n    for (var _index = baseIndex - 1; _index >= 0; _index--) {\n      if (!getItemNodeFromIndex(_index).hasAttribute('disabled')) {\n        return _index;\n      }\n    }\n  }\n\n  if (circular) {\n    return moveAmount > 0 ? getNextNonDisabledIndex(1, 0, itemCount, getItemNodeFromIndex, false) : getNextNonDisabledIndex(-1, itemCount - 1, itemCount, getItemNodeFromIndex, false);\n  }\n\n  return -1;\n}\n/**\n * Checks if event target is within the downshift elements.\n *\n * @param {EventTarget} target Target to check.\n * @param {HTMLElement[]} downshiftElements The elements that form downshift (list, toggle button etc).\n * @param {Document} document The document.\n * @param {boolean} checkActiveElement Whether to also check activeElement.\n *\n * @returns {boolean} Whether or not the target is within downshift elements.\n */\n\n\nfunction targetWithinDownshift(target, downshiftElements, document, checkActiveElement) {\n  if (checkActiveElement === void 0) {\n    checkActiveElement = true;\n  }\n\n  return downshiftElements.some(function (contextNode) {\n    return contextNode && (isOrContainsNode(contextNode, target) || checkActiveElement && isOrContainsNode(contextNode, document.activeElement));\n  });\n}\n\nvar cleanupStatus = debounce(function () {\n  getStatusDiv().textContent = '';\n}, 500);\n/**\n * @param {String} status the status message\n * @param {Object} documentProp document passed by the user.\n */\n\nfunction setStatus(status, documentProp) {\n  var div = getStatusDiv(documentProp);\n\n  if (!status) {\n    return;\n  }\n\n  div.textContent = status;\n  cleanupStatus();\n}\n/**\n * Get the status node or create it if it does not already exist.\n * @param {Object} documentProp document passed by the user.\n * @return {HTMLElement} the status node.\n */\n\n\nfunction getStatusDiv(documentProp) {\n  if (documentProp === void 0) {\n    documentProp = document;\n  }\n\n  var statusDiv = documentProp.getElementById('a11y-status-message');\n\n  if (statusDiv) {\n    return statusDiv;\n  }\n\n  statusDiv = documentProp.createElement('div');\n  statusDiv.setAttribute('id', 'a11y-status-message');\n  statusDiv.setAttribute('role', 'status');\n  statusDiv.setAttribute('aria-live', 'polite');\n  statusDiv.setAttribute('aria-relevant', 'additions text');\n  Object.assign(statusDiv.style, {\n    border: '0',\n    clip: 'rect(0 0 0 0)',\n    height: '1px',\n    margin: '-1px',\n    overflow: 'hidden',\n    padding: '0',\n    position: 'absolute',\n    width: '1px'\n  });\n  documentProp.body.appendChild(statusDiv);\n  return statusDiv;\n}\n\nvar unknown = process.env.NODE_ENV !== \"production\" ? '__autocomplete_unknown__' : 0;\nvar mouseUp = process.env.NODE_ENV !== \"production\" ? '__autocomplete_mouseup__' : 1;\nvar itemMouseEnter = process.env.NODE_ENV !== \"production\" ? '__autocomplete_item_mouseenter__' : 2;\nvar keyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_arrow_up__' : 3;\nvar keyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_arrow_down__' : 4;\nvar keyDownEscape = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_escape__' : 5;\nvar keyDownEnter = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_enter__' : 6;\nvar keyDownHome = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_home__' : 7;\nvar keyDownEnd = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_end__' : 8;\nvar clickItem = process.env.NODE_ENV !== \"production\" ? '__autocomplete_click_item__' : 9;\nvar blurInput = process.env.NODE_ENV !== \"production\" ? '__autocomplete_blur_input__' : 10;\nvar changeInput = process.env.NODE_ENV !== \"production\" ? '__autocomplete_change_input__' : 11;\nvar keyDownSpaceButton = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_space_button__' : 12;\nvar clickButton = process.env.NODE_ENV !== \"production\" ? '__autocomplete_click_button__' : 13;\nvar blurButton = process.env.NODE_ENV !== \"production\" ? '__autocomplete_blur_button__' : 14;\nvar controlledPropUpdatedSelectedItem = process.env.NODE_ENV !== \"production\" ? '__autocomplete_controlled_prop_updated_selected_item__' : 15;\nvar touchEnd = process.env.NODE_ENV !== \"production\" ? '__autocomplete_touchend__' : 16;\n\nvar stateChangeTypes = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  unknown: unknown,\n  mouseUp: mouseUp,\n  itemMouseEnter: itemMouseEnter,\n  keyDownArrowUp: keyDownArrowUp,\n  keyDownArrowDown: keyDownArrowDown,\n  keyDownEscape: keyDownEscape,\n  keyDownEnter: keyDownEnter,\n  keyDownHome: keyDownHome,\n  keyDownEnd: keyDownEnd,\n  clickItem: clickItem,\n  blurInput: blurInput,\n  changeInput: changeInput,\n  keyDownSpaceButton: keyDownSpaceButton,\n  clickButton: clickButton,\n  blurButton: blurButton,\n  controlledPropUpdatedSelectedItem: controlledPropUpdatedSelectedItem,\n  touchEnd: touchEnd\n});\n\nvar Downshift =\n/*#__PURE__*/\nfunction () {\n  var Downshift =\n  /*#__PURE__*/\n  function (_Component) {\n    _inheritsLoose(Downshift, _Component);\n\n    function Downshift(_props) {\n      var _this = _Component.call(this, _props) || this;\n\n      _this.id = _this.props.id || \"downshift-\" + generateId();\n      _this.menuId = _this.props.menuId || _this.id + \"-menu\";\n      _this.labelId = _this.props.labelId || _this.id + \"-label\";\n      _this.inputId = _this.props.inputId || _this.id + \"-input\";\n\n      _this.getItemId = _this.props.getItemId || function (index) {\n        return _this.id + \"-item-\" + index;\n      };\n\n      _this.input = null;\n      _this.items = [];\n      _this.itemCount = null;\n      _this.previousResultCount = 0;\n      _this.timeoutIds = [];\n\n      _this.internalSetTimeout = function (fn, time) {\n        var id = setTimeout(function () {\n          _this.timeoutIds = _this.timeoutIds.filter(function (i) {\n            return i !== id;\n          });\n          fn();\n        }, time);\n\n        _this.timeoutIds.push(id);\n      };\n\n      _this.setItemCount = function (count) {\n        _this.itemCount = count;\n      };\n\n      _this.unsetItemCount = function () {\n        _this.itemCount = null;\n      };\n\n      _this.setHighlightedIndex = function (highlightedIndex, otherStateToSet) {\n        if (highlightedIndex === void 0) {\n          highlightedIndex = _this.props.defaultHighlightedIndex;\n        }\n\n        if (otherStateToSet === void 0) {\n          otherStateToSet = {};\n        }\n\n        otherStateToSet = pickState(otherStateToSet);\n\n        _this.internalSetState(_extends({\n          highlightedIndex: highlightedIndex\n        }, otherStateToSet));\n      };\n\n      _this.clearSelection = function (cb) {\n        _this.internalSetState({\n          selectedItem: null,\n          inputValue: '',\n          highlightedIndex: _this.props.defaultHighlightedIndex,\n          isOpen: _this.props.defaultIsOpen\n        }, cb);\n      };\n\n      _this.selectItem = function (item, otherStateToSet, cb) {\n        otherStateToSet = pickState(otherStateToSet);\n\n        _this.internalSetState(_extends({\n          isOpen: _this.props.defaultIsOpen,\n          highlightedIndex: _this.props.defaultHighlightedIndex,\n          selectedItem: item,\n          inputValue: _this.props.itemToString(item)\n        }, otherStateToSet), cb);\n      };\n\n      _this.selectItemAtIndex = function (itemIndex, otherStateToSet, cb) {\n        var item = _this.items[itemIndex];\n\n        if (item == null) {\n          return;\n        }\n\n        _this.selectItem(item, otherStateToSet, cb);\n      };\n\n      _this.selectHighlightedItem = function (otherStateToSet, cb) {\n        return _this.selectItemAtIndex(_this.getState().highlightedIndex, otherStateToSet, cb);\n      };\n\n      _this.internalSetState = function (stateToSet, cb) {\n        var isItemSelected, onChangeArg;\n        var onStateChangeArg = {};\n        var isStateToSetFunction = typeof stateToSet === 'function'; // we want to call `onInputValueChange` before the `setState` call\n        // so someone controlling the `inputValue` state gets notified of\n        // the input change as soon as possible. This avoids issues with\n        // preserving the cursor position.\n        // See https://github.com/downshift-js/downshift/issues/217 for more info.\n\n        if (!isStateToSetFunction && stateToSet.hasOwnProperty('inputValue')) {\n          _this.props.onInputValueChange(stateToSet.inputValue, _extends({}, _this.getStateAndHelpers(), {}, stateToSet));\n        }\n\n        return _this.setState(function (state) {\n          state = _this.getState(state);\n          var newStateToSet = isStateToSetFunction ? stateToSet(state) : stateToSet; // Your own function that could modify the state that will be set.\n\n          newStateToSet = _this.props.stateReducer(state, newStateToSet); // checks if an item is selected, regardless of if it's different from\n          // what was selected before\n          // used to determine if onSelect and onChange callbacks should be called\n\n          isItemSelected = newStateToSet.hasOwnProperty('selectedItem'); // this keeps track of the object we want to call with setState\n\n          var nextState = {}; // this is just used to tell whether the state changed\n\n          var nextFullState = {}; // we need to call on change if the outside world is controlling any of our state\n          // and we're trying to update that state. OR if the selection has changed and we're\n          // trying to update the selection\n\n          if (isItemSelected && newStateToSet.selectedItem !== state.selectedItem) {\n            onChangeArg = newStateToSet.selectedItem;\n          }\n\n          newStateToSet.type = newStateToSet.type || unknown;\n          Object.keys(newStateToSet).forEach(function (key) {\n            // onStateChangeArg should only have the state that is\n            // actually changing\n            if (state[key] !== newStateToSet[key]) {\n              onStateChangeArg[key] = newStateToSet[key];\n            } // the type is useful for the onStateChangeArg\n            // but we don't actually want to set it in internal state.\n            // this is an undocumented feature for now... Not all internalSetState\n            // calls support it and I'm not certain we want them to yet.\n            // But it enables users controlling the isOpen state to know when\n            // the isOpen state changes due to mouseup events which is quite handy.\n\n\n            if (key === 'type') {\n              return;\n            }\n\n            nextFullState[key] = newStateToSet[key]; // if it's coming from props, then we don't care to set it internally\n\n            if (!isControlledProp(_this.props, key)) {\n              nextState[key] = newStateToSet[key];\n            }\n          }); // if stateToSet is a function, then we weren't able to call onInputValueChange\n          // earlier, so we'll call it now that we know what the inputValue state will be.\n\n          if (isStateToSetFunction && newStateToSet.hasOwnProperty('inputValue')) {\n            _this.props.onInputValueChange(newStateToSet.inputValue, _extends({}, _this.getStateAndHelpers(), {}, newStateToSet));\n          }\n\n          return nextState;\n        }, function () {\n          // call the provided callback if it's a function\n          cbToCb(cb)(); // only call the onStateChange and onChange callbacks if\n          // we have relevant information to pass them.\n\n          var hasMoreStateThanType = Object.keys(onStateChangeArg).length > 1;\n\n          if (hasMoreStateThanType) {\n            _this.props.onStateChange(onStateChangeArg, _this.getStateAndHelpers());\n          }\n\n          if (isItemSelected) {\n            _this.props.onSelect(stateToSet.selectedItem, _this.getStateAndHelpers());\n          }\n\n          if (onChangeArg !== undefined) {\n            _this.props.onChange(onChangeArg, _this.getStateAndHelpers());\n          } // this is currently undocumented and therefore subject to change\n          // We'll try to not break it, but just be warned.\n\n\n          _this.props.onUserAction(onStateChangeArg, _this.getStateAndHelpers());\n        });\n      };\n\n      _this.rootRef = function (node) {\n        return _this._rootNode = node;\n      };\n\n      _this.getRootProps = function (_ref, _temp) {\n        var _extends2;\n\n        if (_ref === void 0) {\n          _ref = {};\n        }\n\n        var _ref2 = _temp === void 0 ? {} : _temp,\n            _ref2$suppressRefErro = _ref2.suppressRefError,\n            suppressRefError = _ref2$suppressRefErro === void 0 ? false : _ref2$suppressRefErro;\n\n        var _ref3 = _ref,\n            _ref3$refKey = _ref3.refKey,\n            refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,\n            ref = _ref3.ref,\n            rest = _objectWithoutPropertiesLoose(_ref3, [\"refKey\", \"ref\"]);\n\n        // this is used in the render to know whether the user has called getRootProps.\n        // It uses that to know whether to apply the props automatically\n        _this.getRootProps.called = true;\n        _this.getRootProps.refKey = refKey;\n        _this.getRootProps.suppressRefError = suppressRefError;\n\n        var _this$getState = _this.getState(),\n            isOpen = _this$getState.isOpen;\n\n        return _extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, _this.rootRef), _extends2.role = 'combobox', _extends2['aria-expanded'] = isOpen, _extends2['aria-haspopup'] = 'listbox', _extends2['aria-owns'] = isOpen ? _this.menuId : null, _extends2['aria-labelledby'] = _this.labelId, _extends2), rest);\n      };\n\n      _this.keyDownHandlers = {\n        ArrowDown: function ArrowDown(event) {\n          var _this2 = this;\n\n          event.preventDefault();\n\n          if (this.getState().isOpen) {\n            var amount = event.shiftKey ? 5 : 1;\n            this.moveHighlightedIndex(amount, {\n              type: keyDownArrowDown\n            });\n          } else {\n            this.internalSetState({\n              isOpen: true,\n              type: keyDownArrowDown\n            }, function () {\n              var itemCount = _this2.getItemCount();\n\n              if (itemCount > 0) {\n                var _this2$getState = _this2.getState(),\n                    highlightedIndex = _this2$getState.highlightedIndex;\n\n                var nextHighlightedIndex = getNextWrappingIndex(1, highlightedIndex, itemCount, function (index) {\n                  return _this2.getItemNodeFromIndex(index);\n                });\n\n                _this2.setHighlightedIndex(nextHighlightedIndex, {\n                  type: keyDownArrowDown\n                });\n              }\n            });\n          }\n        },\n        ArrowUp: function ArrowUp(event) {\n          var _this3 = this;\n\n          event.preventDefault();\n\n          if (this.getState().isOpen) {\n            var amount = event.shiftKey ? -5 : -1;\n            this.moveHighlightedIndex(amount, {\n              type: keyDownArrowUp\n            });\n          } else {\n            this.internalSetState({\n              isOpen: true,\n              type: keyDownArrowUp\n            }, function () {\n              var itemCount = _this3.getItemCount();\n\n              if (itemCount > 0) {\n                var _this3$getState = _this3.getState(),\n                    highlightedIndex = _this3$getState.highlightedIndex;\n\n                var nextHighlightedIndex = getNextWrappingIndex(-1, highlightedIndex, itemCount, function (index) {\n                  return _this3.getItemNodeFromIndex(index);\n                });\n\n                _this3.setHighlightedIndex(nextHighlightedIndex, {\n                  type: keyDownArrowUp\n                });\n              }\n            });\n          }\n        },\n        Enter: function Enter(event) {\n          var _this$getState2 = this.getState(),\n              isOpen = _this$getState2.isOpen,\n              highlightedIndex = _this$getState2.highlightedIndex;\n\n          if (isOpen && highlightedIndex != null) {\n            event.preventDefault();\n            var item = this.items[highlightedIndex];\n            var itemNode = this.getItemNodeFromIndex(highlightedIndex);\n\n            if (item == null || itemNode && itemNode.hasAttribute('disabled')) {\n              return;\n            }\n\n            this.selectHighlightedItem({\n              type: keyDownEnter\n            });\n          }\n        },\n        Escape: function Escape(event) {\n          event.preventDefault();\n          this.reset({\n            type: keyDownEscape,\n            selectedItem: null,\n            inputValue: ''\n          });\n        }\n      };\n      _this.buttonKeyDownHandlers = _extends({}, _this.keyDownHandlers, {\n        ' ': function _(event) {\n          event.preventDefault();\n          this.toggleMenu({\n            type: keyDownSpaceButton\n          });\n        }\n      });\n      _this.inputKeyDownHandlers = _extends({}, _this.keyDownHandlers, {\n        Home: function Home(event) {\n          var _this4 = this;\n\n          event.preventDefault();\n          var itemCount = this.getItemCount();\n\n          var _this$getState3 = this.getState(),\n              isOpen = _this$getState3.isOpen;\n\n          if (itemCount <= 0 || !isOpen) {\n            return;\n          } // get next non-disabled starting downwards from 0 if that's disabled.\n\n\n          var newHighlightedIndex = getNextNonDisabledIndex(1, 0, itemCount, function (index) {\n            return _this4.getItemNodeFromIndex(index);\n          }, false);\n          this.setHighlightedIndex(newHighlightedIndex, {\n            type: keyDownHome\n          });\n        },\n        End: function End(event) {\n          var _this5 = this;\n\n          event.preventDefault();\n          var itemCount = this.getItemCount();\n\n          var _this$getState4 = this.getState(),\n              isOpen = _this$getState4.isOpen;\n\n          if (itemCount <= 0 || !isOpen) {\n            return;\n          } // get next non-disabled starting upwards from last index if that's disabled.\n\n\n          var newHighlightedIndex = getNextNonDisabledIndex(-1, itemCount - 1, itemCount, function (index) {\n            return _this5.getItemNodeFromIndex(index);\n          }, false);\n          this.setHighlightedIndex(newHighlightedIndex, {\n            type: keyDownEnd\n          });\n        }\n      });\n\n      _this.getToggleButtonProps = function (_ref4) {\n        if (_ref4 === void 0) {\n          _ref4 = {};\n        }\n\n        var _ref5 = _ref4,\n            onClick = _ref5.onClick,\n            onPress = _ref5.onPress,\n            onKeyDown = _ref5.onKeyDown,\n            onKeyUp = _ref5.onKeyUp,\n            onBlur = _ref5.onBlur,\n            rest = _objectWithoutPropertiesLoose(_ref5, [\"onClick\", \"onPress\", \"onKeyDown\", \"onKeyUp\", \"onBlur\"]);\n\n        var _this$getState5 = _this.getState(),\n            isOpen = _this$getState5.isOpen;\n\n        var enabledEventHandlers = {\n          onClick: callAllEventHandlers(onClick, _this.buttonHandleClick),\n          onKeyDown: callAllEventHandlers(onKeyDown, _this.buttonHandleKeyDown),\n          onKeyUp: callAllEventHandlers(onKeyUp, _this.buttonHandleKeyUp),\n          onBlur: callAllEventHandlers(onBlur, _this.buttonHandleBlur)\n        };\n        var eventHandlers = rest.disabled ? {} : enabledEventHandlers;\n        return _extends({\n          type: 'button',\n          role: 'button',\n          'aria-label': isOpen ? 'close menu' : 'open menu',\n          'aria-haspopup': true,\n          'data-toggle': true\n        }, eventHandlers, {}, rest);\n      };\n\n      _this.buttonHandleKeyUp = function (event) {\n        // Prevent click event from emitting in Firefox\n        event.preventDefault();\n      };\n\n      _this.buttonHandleKeyDown = function (event) {\n        var key = normalizeArrowKey(event);\n\n        if (_this.buttonKeyDownHandlers[key]) {\n          _this.buttonKeyDownHandlers[key].call(_assertThisInitialized(_this), event);\n        }\n      };\n\n      _this.buttonHandleClick = function (event) {\n        event.preventDefault(); // handle odd case for Safari and Firefox which\n        // don't give the button the focus properly.\n\n        /* istanbul ignore if (can't reasonably test this) */\n\n        if ( _this.props.environment.document.activeElement === _this.props.environment.document.body) {\n          event.target.focus();\n        } // to simplify testing components that use downshift, we'll not wrap this in a setTimeout\n        // if the NODE_ENV is test. With the proper build system, this should be dead code eliminated\n        // when building for production and should therefore have no impact on production code.\n\n\n        if (process.env.NODE_ENV === 'test') {\n          _this.toggleMenu({\n            type: clickButton\n          });\n        } else {\n          // Ensure that toggle of menu occurs after the potential blur event in iOS\n          _this.internalSetTimeout(function () {\n            return _this.toggleMenu({\n              type: clickButton\n            });\n          });\n        }\n      };\n\n      _this.buttonHandleBlur = function (event) {\n        var blurTarget = event.target; // Save blur target for comparison with activeElement later\n        // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not body element\n\n        _this.internalSetTimeout(function () {\n          if (!_this.isMouseDown && (_this.props.environment.document.activeElement == null || _this.props.environment.document.activeElement.id !== _this.inputId) && _this.props.environment.document.activeElement !== blurTarget // Do nothing if we refocus the same element again (to solve issue in Safari on iOS)\n          ) {\n              _this.reset({\n                type: blurButton\n              });\n            }\n        });\n      };\n\n      _this.getLabelProps = function (props) {\n        return _extends({\n          htmlFor: _this.inputId,\n          id: _this.labelId\n        }, props);\n      };\n\n      _this.getInputProps = function (_ref6) {\n        if (_ref6 === void 0) {\n          _ref6 = {};\n        }\n\n        var _ref7 = _ref6,\n            onKeyDown = _ref7.onKeyDown,\n            onBlur = _ref7.onBlur,\n            onChange = _ref7.onChange,\n            onInput = _ref7.onInput,\n            onChangeText = _ref7.onChangeText,\n            rest = _objectWithoutPropertiesLoose(_ref7, [\"onKeyDown\", \"onBlur\", \"onChange\", \"onInput\", \"onChangeText\"]);\n\n        var onChangeKey;\n        var eventHandlers = {};\n        /* istanbul ignore next (preact) */\n\n        onChangeKey = 'onChange';\n\n        var _this$getState6 = _this.getState(),\n            inputValue = _this$getState6.inputValue,\n            isOpen = _this$getState6.isOpen,\n            highlightedIndex = _this$getState6.highlightedIndex;\n\n        if (!rest.disabled) {\n          var _eventHandlers;\n\n          eventHandlers = (_eventHandlers = {}, _eventHandlers[onChangeKey] = callAllEventHandlers(onChange, onInput, _this.inputHandleChange), _eventHandlers.onKeyDown = callAllEventHandlers(onKeyDown, _this.inputHandleKeyDown), _eventHandlers.onBlur = callAllEventHandlers(onBlur, _this.inputHandleBlur), _eventHandlers);\n        }\n        /* istanbul ignore if (react-native) */\n\n\n        return _extends({\n          'aria-autocomplete': 'list',\n          'aria-activedescendant': isOpen && typeof highlightedIndex === 'number' && highlightedIndex >= 0 ? _this.getItemId(highlightedIndex) : null,\n          'aria-controls': isOpen ? _this.menuId : null,\n          'aria-labelledby': _this.labelId,\n          // https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion\n          // revert back since autocomplete=\"nope\" is ignored on latest Chrome and Opera\n          autoComplete: 'off',\n          value: inputValue,\n          id: _this.inputId\n        }, eventHandlers, {}, rest);\n      };\n\n      _this.inputHandleKeyDown = function (event) {\n        var key = normalizeArrowKey(event);\n\n        if (key && _this.inputKeyDownHandlers[key]) {\n          _this.inputKeyDownHandlers[key].call(_assertThisInitialized(_this), event);\n        }\n      };\n\n      _this.inputHandleChange = function (event) {\n        _this.internalSetState({\n          type: changeInput,\n          isOpen: true,\n          inputValue: event.target.value,\n          highlightedIndex: _this.props.defaultHighlightedIndex\n        });\n      };\n\n      _this.inputHandleBlur = function () {\n        // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not the body element\n        _this.internalSetTimeout(function () {\n          var downshiftButtonIsActive = _this.props.environment.document && !!_this.props.environment.document.activeElement && !!_this.props.environment.document.activeElement.dataset && _this.props.environment.document.activeElement.dataset.toggle && _this._rootNode && _this._rootNode.contains(_this.props.environment.document.activeElement);\n\n          if (!_this.isMouseDown && !downshiftButtonIsActive) {\n            _this.reset({\n              type: blurInput\n            });\n          }\n        });\n      };\n\n      _this.menuRef = function (node) {\n        _this._menuNode = node;\n      };\n\n      _this.getMenuProps = function (_ref8, _temp2) {\n        var _extends3;\n\n        if (_ref8 === void 0) {\n          _ref8 = {};\n        }\n\n        var _ref9 = _temp2 === void 0 ? {} : _temp2,\n            _ref9$suppressRefErro = _ref9.suppressRefError,\n            suppressRefError = _ref9$suppressRefErro === void 0 ? false : _ref9$suppressRefErro;\n\n        var _ref10 = _ref8,\n            _ref10$refKey = _ref10.refKey,\n            refKey = _ref10$refKey === void 0 ? 'ref' : _ref10$refKey,\n            ref = _ref10.ref,\n            props = _objectWithoutPropertiesLoose(_ref10, [\"refKey\", \"ref\"]);\n\n        _this.getMenuProps.called = true;\n        _this.getMenuProps.refKey = refKey;\n        _this.getMenuProps.suppressRefError = suppressRefError;\n        return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, _this.menuRef), _extends3.role = 'listbox', _extends3['aria-labelledby'] = props && props['aria-label'] ? null : _this.labelId, _extends3.id = _this.menuId, _extends3), props);\n      };\n\n      _this.getItemProps = function (_ref11) {\n        var _enabledEventHandlers;\n\n        if (_ref11 === void 0) {\n          _ref11 = {};\n        }\n\n        var _ref12 = _ref11,\n            onMouseMove = _ref12.onMouseMove,\n            onMouseDown = _ref12.onMouseDown,\n            onClick = _ref12.onClick,\n            onPress = _ref12.onPress,\n            index = _ref12.index,\n            _ref12$item = _ref12.item,\n            item = _ref12$item === void 0 ? process.env.NODE_ENV === 'production' ?\n        /* istanbul ignore next */\n        undefined : requiredProp('getItemProps', 'item') : _ref12$item,\n            rest = _objectWithoutPropertiesLoose(_ref12, [\"onMouseMove\", \"onMouseDown\", \"onClick\", \"onPress\", \"index\", \"item\"]);\n\n        if (index === undefined) {\n          _this.items.push(item);\n\n          index = _this.items.indexOf(item);\n        } else {\n          _this.items[index] = item;\n        }\n\n        var onSelectKey = 'onClick';\n        var customClickHandler = onClick;\n        var enabledEventHandlers = (_enabledEventHandlers = {\n          // onMouseMove is used over onMouseEnter here. onMouseMove\n          // is only triggered on actual mouse movement while onMouseEnter\n          // can fire on DOM changes, interrupting keyboard navigation\n          onMouseMove: callAllEventHandlers(onMouseMove, function () {\n            if (index === _this.getState().highlightedIndex) {\n              return;\n            }\n\n            _this.setHighlightedIndex(index, {\n              type: itemMouseEnter\n            }); // We never want to manually scroll when changing state based\n            // on `onMouseMove` because we will be moving the element out\n            // from under the user which is currently scrolling/moving the\n            // cursor\n\n\n            _this.avoidScrolling = true;\n\n            _this.internalSetTimeout(function () {\n              return _this.avoidScrolling = false;\n            }, 250);\n          }),\n          onMouseDown: callAllEventHandlers(onMouseDown, function (event) {\n            // This prevents the activeElement from being changed\n            // to the item so it can remain with the current activeElement\n            // which is a more common use case.\n            event.preventDefault();\n          })\n        }, _enabledEventHandlers[onSelectKey] = callAllEventHandlers(customClickHandler, function () {\n          _this.selectItemAtIndex(index, {\n            type: clickItem\n          });\n        }), _enabledEventHandlers); // Passing down the onMouseDown handler to prevent redirect\n        // of the activeElement if clicking on disabled items\n\n        var eventHandlers = rest.disabled ? {\n          onMouseDown: enabledEventHandlers.onMouseDown\n        } : enabledEventHandlers;\n        return _extends({\n          id: _this.getItemId(index),\n          role: 'option',\n          'aria-selected': _this.getState().highlightedIndex === index\n        }, eventHandlers, {}, rest);\n      };\n\n      _this.clearItems = function () {\n        _this.items = [];\n      };\n\n      _this.reset = function (otherStateToSet, cb) {\n        if (otherStateToSet === void 0) {\n          otherStateToSet = {};\n        }\n\n        otherStateToSet = pickState(otherStateToSet);\n\n        _this.internalSetState(function (_ref13) {\n          var selectedItem = _ref13.selectedItem;\n          return _extends({\n            isOpen: _this.props.defaultIsOpen,\n            highlightedIndex: _this.props.defaultHighlightedIndex,\n            inputValue: _this.props.itemToString(selectedItem)\n          }, otherStateToSet);\n        }, cb);\n      };\n\n      _this.toggleMenu = function (otherStateToSet, cb) {\n        if (otherStateToSet === void 0) {\n          otherStateToSet = {};\n        }\n\n        otherStateToSet = pickState(otherStateToSet);\n\n        _this.internalSetState(function (_ref14) {\n          var isOpen = _ref14.isOpen;\n          return _extends({\n            isOpen: !isOpen\n          }, isOpen && {\n            highlightedIndex: _this.props.defaultHighlightedIndex\n          }, {}, otherStateToSet);\n        }, function () {\n          var _this$getState7 = _this.getState(),\n              isOpen = _this$getState7.isOpen,\n              highlightedIndex = _this$getState7.highlightedIndex;\n\n          if (isOpen) {\n            if (_this.getItemCount() > 0 && typeof highlightedIndex === 'number') {\n              _this.setHighlightedIndex(highlightedIndex, otherStateToSet);\n            }\n          }\n\n          cbToCb(cb)();\n        });\n      };\n\n      _this.openMenu = function (cb) {\n        _this.internalSetState({\n          isOpen: true\n        }, cb);\n      };\n\n      _this.closeMenu = function (cb) {\n        _this.internalSetState({\n          isOpen: false\n        }, cb);\n      };\n\n      _this.updateStatus = debounce(function () {\n        var state = _this.getState();\n\n        var item = _this.items[state.highlightedIndex];\n\n        var resultCount = _this.getItemCount();\n\n        var status = _this.props.getA11yStatusMessage(_extends({\n          itemToString: _this.props.itemToString,\n          previousResultCount: _this.previousResultCount,\n          resultCount: resultCount,\n          highlightedItem: item\n        }, state));\n\n        _this.previousResultCount = resultCount;\n        setStatus(status, _this.props.environment.document);\n      }, 200);\n\n      // fancy destructuring + defaults + aliases\n      // this basically says each value of state should either be set to\n      // the initial value or the default value if the initial value is not provided\n      var _this$props = _this.props,\n          defaultHighlightedIndex = _this$props.defaultHighlightedIndex,\n          _this$props$initialHi = _this$props.initialHighlightedIndex,\n          _highlightedIndex = _this$props$initialHi === void 0 ? defaultHighlightedIndex : _this$props$initialHi,\n          defaultIsOpen = _this$props.defaultIsOpen,\n          _this$props$initialIs = _this$props.initialIsOpen,\n          _isOpen = _this$props$initialIs === void 0 ? defaultIsOpen : _this$props$initialIs,\n          _this$props$initialIn = _this$props.initialInputValue,\n          _inputValue = _this$props$initialIn === void 0 ? '' : _this$props$initialIn,\n          _this$props$initialSe = _this$props.initialSelectedItem,\n          _selectedItem = _this$props$initialSe === void 0 ? null : _this$props$initialSe;\n\n      var _state = _this.getState({\n        highlightedIndex: _highlightedIndex,\n        isOpen: _isOpen,\n        inputValue: _inputValue,\n        selectedItem: _selectedItem\n      });\n\n      if (_state.selectedItem != null && _this.props.initialInputValue === undefined) {\n        _state.inputValue = _this.props.itemToString(_state.selectedItem);\n      }\n\n      _this.state = _state;\n      return _this;\n    }\n\n    var _proto = Downshift.prototype;\n\n    /**\n     * Clear all running timeouts\n     */\n    _proto.internalClearTimeouts = function internalClearTimeouts() {\n      this.timeoutIds.forEach(function (id) {\n        clearTimeout(id);\n      });\n      this.timeoutIds = [];\n    }\n    /**\n     * Gets the state based on internal state or props\n     * If a state value is passed via props, then that\n     * is the value given, otherwise it's retrieved from\n     * stateToMerge\n     *\n     * @param {Object} stateToMerge defaults to this.state\n     * @return {Object} the state\n     */\n    ;\n\n    _proto.getState = function getState$1(stateToMerge) {\n      if (stateToMerge === void 0) {\n        stateToMerge = this.state;\n      }\n\n      return getState(stateToMerge, this.props);\n    };\n\n    _proto.getItemCount = function getItemCount() {\n      // things read better this way. They're in priority order:\n      // 1. `this.itemCount`\n      // 2. `this.props.itemCount`\n      // 3. `this.items.length`\n      var itemCount = this.items.length;\n\n      if (this.itemCount != null) {\n        itemCount = this.itemCount;\n      } else if (this.props.itemCount !== undefined) {\n        itemCount = this.props.itemCount;\n      }\n\n      return itemCount;\n    };\n\n    _proto.getItemNodeFromIndex = function getItemNodeFromIndex(index) {\n      return this.props.environment.document.getElementById(this.getItemId(index));\n    };\n\n    _proto.scrollHighlightedItemIntoView = function scrollHighlightedItemIntoView() {\n      /* istanbul ignore else (react-native) */\n      {\n        var node = this.getItemNodeFromIndex(this.getState().highlightedIndex);\n        this.props.scrollIntoView(node, this._menuNode);\n      }\n    };\n\n    _proto.moveHighlightedIndex = function moveHighlightedIndex(amount, otherStateToSet) {\n      var _this6 = this;\n\n      var itemCount = this.getItemCount();\n\n      var _this$getState8 = this.getState(),\n          highlightedIndex = _this$getState8.highlightedIndex;\n\n      if (itemCount > 0) {\n        var nextHighlightedIndex = getNextWrappingIndex(amount, highlightedIndex, itemCount, function (index) {\n          return _this6.getItemNodeFromIndex(index);\n        });\n        this.setHighlightedIndex(nextHighlightedIndex, otherStateToSet);\n      }\n    };\n\n    _proto.getStateAndHelpers = function getStateAndHelpers() {\n      var _this$getState9 = this.getState(),\n          highlightedIndex = _this$getState9.highlightedIndex,\n          inputValue = _this$getState9.inputValue,\n          selectedItem = _this$getState9.selectedItem,\n          isOpen = _this$getState9.isOpen;\n\n      var itemToString = this.props.itemToString;\n      var id = this.id;\n      var getRootProps = this.getRootProps,\n          getToggleButtonProps = this.getToggleButtonProps,\n          getLabelProps = this.getLabelProps,\n          getMenuProps = this.getMenuProps,\n          getInputProps = this.getInputProps,\n          getItemProps = this.getItemProps,\n          openMenu = this.openMenu,\n          closeMenu = this.closeMenu,\n          toggleMenu = this.toggleMenu,\n          selectItem = this.selectItem,\n          selectItemAtIndex = this.selectItemAtIndex,\n          selectHighlightedItem = this.selectHighlightedItem,\n          setHighlightedIndex = this.setHighlightedIndex,\n          clearSelection = this.clearSelection,\n          clearItems = this.clearItems,\n          reset = this.reset,\n          setItemCount = this.setItemCount,\n          unsetItemCount = this.unsetItemCount,\n          setState = this.internalSetState;\n      return {\n        // prop getters\n        getRootProps: getRootProps,\n        getToggleButtonProps: getToggleButtonProps,\n        getLabelProps: getLabelProps,\n        getMenuProps: getMenuProps,\n        getInputProps: getInputProps,\n        getItemProps: getItemProps,\n        // actions\n        reset: reset,\n        openMenu: openMenu,\n        closeMenu: closeMenu,\n        toggleMenu: toggleMenu,\n        selectItem: selectItem,\n        selectItemAtIndex: selectItemAtIndex,\n        selectHighlightedItem: selectHighlightedItem,\n        setHighlightedIndex: setHighlightedIndex,\n        clearSelection: clearSelection,\n        clearItems: clearItems,\n        setItemCount: setItemCount,\n        unsetItemCount: unsetItemCount,\n        setState: setState,\n        // props\n        itemToString: itemToString,\n        // derived\n        id: id,\n        // state\n        highlightedIndex: highlightedIndex,\n        inputValue: inputValue,\n        isOpen: isOpen,\n        selectedItem: selectedItem\n      };\n    } //////////////////////////// ROOT\n    ;\n\n    _proto.componentDidMount = function componentDidMount() {\n      var _this7 = this;\n\n      /* istanbul ignore if (react-native) */\n      if (process.env.NODE_ENV !== 'production' && !false && this.getMenuProps.called && !this.getMenuProps.suppressRefError) {\n        validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps);\n      }\n      /* istanbul ignore if (react-native) */\n\n\n      {\n        // this.isMouseDown helps us track whether the mouse is currently held down.\n        // This is useful when the user clicks on an item in the list, but holds the mouse\n        // down long enough for the list to disappear (because the blur event fires on the input)\n        // this.isMouseDown is used in the blur handler on the input to determine whether the blur event should\n        // trigger hiding the menu.\n        var onMouseDown = function () {\n          _this7.isMouseDown = true;\n        };\n\n        var onMouseUp = function (event) {\n          _this7.isMouseDown = false; // if the target element or the activeElement is within a downshift node\n          // then we don't want to reset downshift\n\n          var contextWithinDownshift = targetWithinDownshift(event.target, [_this7._rootNode, _this7._menuNode], _this7.props.environment.document);\n\n          if (!contextWithinDownshift && _this7.getState().isOpen) {\n            _this7.reset({\n              type: mouseUp\n            }, function () {\n              return _this7.props.onOuterClick(_this7.getStateAndHelpers());\n            });\n          }\n        }; // Touching an element in iOS gives focus and hover states, but touching out of\n        // the element will remove hover, and persist the focus state, resulting in the\n        // blur event not being triggered.\n        // this.isTouchMove helps us track whether the user is tapping or swiping on a touch screen.\n        // If the user taps outside of Downshift, the component should be reset,\n        // but not if the user is swiping\n\n\n        var onTouchStart = function () {\n          _this7.isTouchMove = false;\n        };\n\n        var onTouchMove = function () {\n          _this7.isTouchMove = true;\n        };\n\n        var onTouchEnd = function (event) {\n          var contextWithinDownshift = targetWithinDownshift(event.target, [_this7._rootNode, _this7._menuNode], _this7.props.environment.document, false);\n\n          if (!_this7.isTouchMove && !contextWithinDownshift && _this7.getState().isOpen) {\n            _this7.reset({\n              type: touchEnd\n            }, function () {\n              return _this7.props.onOuterClick(_this7.getStateAndHelpers());\n            });\n          }\n        };\n\n        var environment = this.props.environment;\n        environment.addEventListener('mousedown', onMouseDown);\n        environment.addEventListener('mouseup', onMouseUp);\n        environment.addEventListener('touchstart', onTouchStart);\n        environment.addEventListener('touchmove', onTouchMove);\n        environment.addEventListener('touchend', onTouchEnd);\n\n        this.cleanup = function () {\n          _this7.internalClearTimeouts();\n\n          _this7.updateStatus.cancel();\n\n          environment.removeEventListener('mousedown', onMouseDown);\n          environment.removeEventListener('mouseup', onMouseUp);\n          environment.removeEventListener('touchstart', onTouchStart);\n          environment.removeEventListener('touchmove', onTouchMove);\n          environment.removeEventListener('touchend', onTouchEnd);\n        };\n      }\n    };\n\n    _proto.shouldScroll = function shouldScroll(prevState, prevProps) {\n      var _ref15 = this.props.highlightedIndex === undefined ? this.getState() : this.props,\n          currentHighlightedIndex = _ref15.highlightedIndex;\n\n      var _ref16 = prevProps.highlightedIndex === undefined ? prevState : prevProps,\n          prevHighlightedIndex = _ref16.highlightedIndex;\n\n      var scrollWhenOpen = currentHighlightedIndex && this.getState().isOpen && !prevState.isOpen;\n      return scrollWhenOpen || currentHighlightedIndex !== prevHighlightedIndex;\n    };\n\n    _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n      if (process.env.NODE_ENV !== 'production') {\n        validateControlledUnchanged(prevProps, this.props);\n        /* istanbul ignore if (react-native) */\n\n        if ( this.getMenuProps.called && !this.getMenuProps.suppressRefError) {\n          validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps);\n        }\n      }\n\n      if (isControlledProp(this.props, 'selectedItem') && this.props.selectedItemChanged(prevProps.selectedItem, this.props.selectedItem)) {\n        this.internalSetState({\n          type: controlledPropUpdatedSelectedItem,\n          inputValue: this.props.itemToString(this.props.selectedItem)\n        });\n      }\n\n      if (!this.avoidScrolling && this.shouldScroll(prevState, prevProps)) {\n        this.scrollHighlightedItemIntoView();\n      }\n      /* istanbul ignore else (react-native) */\n\n\n      this.updateStatus();\n    };\n\n    _proto.componentWillUnmount = function componentWillUnmount() {\n      this.cleanup(); // avoids memory leak\n    };\n\n    _proto.render = function render() {\n      var children = unwrapArray(this.props.children, noop); // because the items are rerendered every time we call the children\n      // we clear this out each render and it will be populated again as\n      // getItemProps is called.\n\n      this.clearItems(); // we reset this so we know whether the user calls getRootProps during\n      // this render. If they do then we don't need to do anything,\n      // if they don't then we need to clone the element they return and\n      // apply the props for them.\n\n      this.getRootProps.called = false;\n      this.getRootProps.refKey = undefined;\n      this.getRootProps.suppressRefError = undefined; // we do something similar for getMenuProps\n\n      this.getMenuProps.called = false;\n      this.getMenuProps.refKey = undefined;\n      this.getMenuProps.suppressRefError = undefined; // we do something similar for getLabelProps\n\n      this.getLabelProps.called = false; // and something similar for getInputProps\n\n      this.getInputProps.called = false;\n      var element = unwrapArray(children(this.getStateAndHelpers()));\n\n      if (!element) {\n        return null;\n      }\n\n      if (this.getRootProps.called || this.props.suppressRefError) {\n        if (process.env.NODE_ENV !== 'production' && !this.getRootProps.suppressRefError && !this.props.suppressRefError) {\n          validateGetRootPropsCalledCorrectly(element, this.getRootProps);\n        }\n\n        return element;\n      } else if (isDOMElement(element)) {\n        // they didn't apply the root props, but we can clone\n        // this and apply the props ourselves\n        return cloneElement(element, this.getRootProps(getElementProps(element)));\n      }\n      /* istanbul ignore else */\n\n\n      if (process.env.NODE_ENV !== 'production') {\n        // they didn't apply the root props, but they need to\n        // otherwise we can't query around the autocomplete\n        throw new Error('downshift: If you return a non-DOM element, you must apply the getRootProps function');\n      }\n      /* istanbul ignore next */\n\n\n      return undefined;\n    };\n\n    return Downshift;\n  }(Component);\n\n  Downshift.defaultProps = {\n    defaultHighlightedIndex: null,\n    defaultIsOpen: false,\n    getA11yStatusMessage: getA11yStatusMessage,\n    itemToString: function itemToString(i) {\n      if (i == null) {\n        return '';\n      }\n\n      if (process.env.NODE_ENV !== 'production' && isPlainObject(i) && !i.hasOwnProperty('toString')) {\n        // eslint-disable-next-line no-console\n        console.warn('downshift: An object was passed to the default implementation of `itemToString`. You should probably provide your own `itemToString` implementation. Please refer to the `itemToString` API documentation.', 'The object that was passed:', i);\n      }\n\n      return String(i);\n    },\n    onStateChange: noop,\n    onInputValueChange: noop,\n    onUserAction: noop,\n    onChange: noop,\n    onSelect: noop,\n    onOuterClick: noop,\n    selectedItemChanged: function selectedItemChanged(prevItem, item) {\n      return prevItem !== item;\n    },\n    environment: typeof window === 'undefined'\n    /* istanbul ignore next (ssr) */\n    ? {} : window,\n    stateReducer: function stateReducer(state, stateToSet) {\n      return stateToSet;\n    },\n    suppressRefError: false,\n    scrollIntoView: scrollIntoView\n  };\n  Downshift.stateChangeTypes = stateChangeTypes;\n  return Downshift;\n}();\n\nprocess.env.NODE_ENV !== \"production\" ? Downshift.propTypes = {\n  children: PropTypes.func,\n  defaultHighlightedIndex: PropTypes.number,\n  defaultIsOpen: PropTypes.bool,\n  initialHighlightedIndex: PropTypes.number,\n  initialSelectedItem: PropTypes.any,\n  initialInputValue: PropTypes.string,\n  initialIsOpen: PropTypes.bool,\n  getA11yStatusMessage: PropTypes.func,\n  itemToString: PropTypes.func,\n  onChange: PropTypes.func,\n  onSelect: PropTypes.func,\n  onStateChange: PropTypes.func,\n  onInputValueChange: PropTypes.func,\n  onUserAction: PropTypes.func,\n  onOuterClick: PropTypes.func,\n  selectedItemChanged: PropTypes.func,\n  stateReducer: PropTypes.func,\n  itemCount: PropTypes.number,\n  id: PropTypes.string,\n  environment: PropTypes.shape({\n    addEventListener: PropTypes.func,\n    removeEventListener: PropTypes.func,\n    document: PropTypes.shape({\n      getElementById: PropTypes.func,\n      activeElement: PropTypes.any,\n      body: PropTypes.any\n    })\n  }),\n  suppressRefError: PropTypes.bool,\n  scrollIntoView: PropTypes.func,\n  // things we keep in state for uncontrolled components\n  // but can accept as props for controlled components\n\n  /* eslint-disable react/no-unused-prop-types */\n  selectedItem: PropTypes.any,\n  isOpen: PropTypes.bool,\n  inputValue: PropTypes.string,\n  highlightedIndex: PropTypes.number,\n  labelId: PropTypes.string,\n  inputId: PropTypes.string,\n  menuId: PropTypes.string,\n  getItemId: PropTypes.func\n  /* eslint-enable react/no-unused-prop-types */\n\n} : void 0;\n\nfunction validateGetMenuPropsCalledCorrectly(node, _ref17) {\n  var refKey = _ref17.refKey;\n\n  if (!node) {\n    // eslint-disable-next-line no-console\n    console.error(\"downshift: The ref prop \\\"\" + refKey + \"\\\" from getMenuProps was not applied correctly on your menu element.\");\n  }\n}\n\nfunction validateGetRootPropsCalledCorrectly(element, _ref18) {\n  var refKey = _ref18.refKey;\n  var refKeySpecified = refKey !== 'ref';\n  var isComposite = !isDOMElement(element);\n\n  if (isComposite && !refKeySpecified && !isForwardRef(element)) {\n    // eslint-disable-next-line no-console\n    console.error('downshift: You returned a non-DOM element. You must specify a refKey in getRootProps');\n  } else if (!isComposite && refKeySpecified) {\n    // eslint-disable-next-line no-console\n    console.error(\"downshift: You returned a DOM element. You should not specify a refKey in getRootProps. You specified \\\"\" + refKey + \"\\\"\");\n  }\n\n  if (!isForwardRef(element) && !getElementProps(element)[refKey]) {\n    // eslint-disable-next-line no-console\n    console.error(\"downshift: You must apply the ref prop \\\"\" + refKey + \"\\\" from getRootProps onto your root element.\");\n  }\n}\n\nfunction validateControlledUnchanged(prevProps, nextProps) {\n  var warningDescription = \"This prop should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled Downshift element for the lifetime of the component. More info: https://github.com/downshift-js/downshift#control-props\";\n  ['selectedItem', 'isOpen', 'inputValue', 'highlightedIndex'].forEach(function (propKey) {\n    if (prevProps[propKey] !== undefined && nextProps[propKey] === undefined) {\n      // eslint-disable-next-line no-console\n      console.error(\"downshift: A component has changed the controlled prop \\\"\" + propKey + \"\\\" to be uncontrolled. \" + warningDescription);\n    } else if (prevProps[propKey] === undefined && nextProps[propKey] !== undefined) {\n      // eslint-disable-next-line no-console\n      console.error(\"downshift: A component has changed the uncontrolled prop \\\"\" + propKey + \"\\\" to be controlled. \" + warningDescription);\n    }\n  });\n}\n\nvar defaultStateValues = {\n  highlightedIndex: -1,\n  isOpen: false,\n  selectedItem: null,\n  inputValue: ''\n};\n\nfunction getElementIds(_ref) {\n  var id = _ref.id,\n      labelId = _ref.labelId,\n      menuId = _ref.menuId,\n      getItemId = _ref.getItemId,\n      toggleButtonId = _ref.toggleButtonId;\n  var uniqueId = id === undefined ? \"downshift-\" + generateId() : id;\n  return {\n    labelId: labelId || uniqueId + \"-label\",\n    menuId: menuId || uniqueId + \"-menu\",\n    getItemId: getItemId || function (index) {\n      return uniqueId + \"-item-\" + index;\n    },\n    toggleButtonId: toggleButtonId || uniqueId + \"-toggle-button\"\n  };\n}\n\nfunction getItemIndex(index, item, items) {\n  if (index !== undefined) {\n    return index;\n  }\n\n  if (items.length === 0) {\n    return -1;\n  }\n\n  return items.indexOf(item);\n}\n\nfunction itemToString(item) {\n  return item ? String(item) : '';\n}\n\nfunction getPropTypesValidator(caller, propTypes) {\n  // istanbul ignore next\n  return function (options) {\n    if (options === void 0) {\n      options = {};\n    }\n\n    Object.keys(propTypes).forEach(function (key) {\n      PropTypes.checkPropTypes(propTypes, options, key, caller.name);\n    });\n  };\n}\n\nfunction isAcceptedCharacterKey(key) {\n  return /^\\S{1}$/.test(key);\n}\n\nfunction capitalizeString(string) {\n  return \"\" + string.slice(0, 1).toUpperCase() + string.slice(1);\n}\n\nfunction invokeOnChangeHandler(key, props, state, newState) {\n  var handler = \"on\" + capitalizeString(key) + \"Change\";\n\n  if (props[handler] && newState[key] !== undefined && newState[key] !== state[key]) {\n    props[handler](newState);\n  }\n}\n\nfunction callOnChangeProps(action, state, newState) {\n  var props = action.props,\n      type = action.type;\n  var changes = {};\n  Object.keys(state).forEach(function (key) {\n    invokeOnChangeHandler(key, props, state, newState);\n\n    if (newState[key] !== state[key]) {\n      changes[key] = newState[key];\n    }\n  });\n\n  if (props.onStateChange && Object.keys(changes).length) {\n    props.onStateChange(_extends({\n      type: type\n    }, changes));\n  }\n}\n\nfunction useEnhancedReducer(reducer, initialState, props) {\n  var enhancedReducer = useCallback(function (state, action) {\n    state = getState(state, action.props);\n    var stateReduceLocal = action.props.stateReducer;\n    var changes = reducer(state, action);\n    var newState = stateReduceLocal(state, _extends({}, action, {\n      changes: changes\n    }));\n    callOnChangeProps(action, state, newState);\n    return newState;\n  }, [reducer]);\n\n  var _useReducer = useReducer(enhancedReducer, initialState),\n      state = _useReducer[0],\n      dispatch = _useReducer[1];\n\n  return [getState(state, props), function dispatchWithProps(action) {\n    return dispatch(_extends({\n      props: props\n    }, action));\n  }];\n}\n/**\n * Default state reducer that returns the changes.\n *\n * @param {Object} s state.\n * @param {Object} a action with changes.\n * @returns {Object} changes.\n */\n\n\nfunction stateReducer(s, a) {\n  return a.changes;\n}\n/**\n * Returns a message to be added to aria-live region when item is selected.\n *\n * @param {Object} selectionParameters Parameters required to build the message.\n * @returns {string} The a11y message.\n */\n\n\nfunction getA11ySelectionMessage(selectionParameters) {\n  var selectedItem = selectionParameters.selectedItem,\n      itemToStringLocal = selectionParameters.itemToString;\n  return itemToStringLocal(selectedItem) + \" has been selected.\";\n}\n\nvar defaultProps = {\n  itemToString: itemToString,\n  stateReducer: stateReducer,\n  getA11ySelectionMessage: getA11ySelectionMessage,\n  scrollIntoView: scrollIntoView,\n  circularNavigation: false,\n  environment: typeof window === 'undefined'\n  /* istanbul ignore next (ssr) */\n  ? {} : window\n};\n\nfunction getDefaultValue(props, propKey) {\n  var defaultPropKey = \"default\" + capitalizeString(propKey);\n\n  if (defaultPropKey in props) {\n    return props[defaultPropKey];\n  }\n\n  return defaultStateValues[propKey];\n}\n\nfunction getInitialValue(props, propKey) {\n  if (propKey in props) {\n    return props[propKey];\n  }\n\n  var initialPropKey = \"initial\" + capitalizeString(propKey);\n\n  if (initialPropKey in props) {\n    return props[initialPropKey];\n  }\n\n  return getDefaultValue(props, propKey);\n}\n\nfunction getInitialState(props) {\n  var selectedItem = getInitialValue(props, 'selectedItem');\n  var isOpen = getInitialValue(props, 'isOpen');\n  var highlightedIndex = getInitialValue(props, 'highlightedIndex');\n  var inputValue = getInitialValue(props, 'inputValue');\n  return {\n    highlightedIndex: highlightedIndex < 0 && selectedItem ? props.items.indexOf(selectedItem) : highlightedIndex,\n    isOpen: isOpen,\n    selectedItem: selectedItem,\n    inputValue: inputValue\n  };\n}\n\nfunction getHighlightedIndexOnOpen(props, state, offset, getItemNodeFromIndex) {\n  var items = props.items,\n      initialHighlightedIndex = props.initialHighlightedIndex,\n      defaultHighlightedIndex = props.defaultHighlightedIndex;\n  var selectedItem = state.selectedItem,\n      highlightedIndex = state.highlightedIndex; // initialHighlightedIndex will give value to highlightedIndex on initial state only.\n\n  if (initialHighlightedIndex !== undefined && highlightedIndex === initialHighlightedIndex) {\n    return initialHighlightedIndex;\n  }\n\n  if (defaultHighlightedIndex !== undefined) {\n    return defaultHighlightedIndex;\n  }\n\n  if (selectedItem) {\n    if (offset === 0) {\n      return items.indexOf(selectedItem);\n    }\n\n    return getNextWrappingIndex(offset, items.indexOf(selectedItem), items.length, getItemNodeFromIndex, false);\n  }\n\n  if (offset === 0) {\n    return -1;\n  }\n\n  return offset < 0 ? items.length - 1 : 0;\n}\n\nfunction getItemIndexByCharacterKey(keysSoFar, highlightedIndex, items, itemToStringParam, getItemNodeFromIndex) {\n  var lowerCasedItemStrings = items.map(function (item) {\n    return itemToStringParam(item).toLowerCase();\n  });\n  var lowerCasedKeysSoFar = keysSoFar.toLowerCase();\n\n  var isValid = function (itemString, index) {\n    var element = getItemNodeFromIndex(index);\n    return itemString.startsWith(lowerCasedKeysSoFar) && !(element && element.hasAttribute('disabled'));\n  };\n\n  for (var index = highlightedIndex + 1; index < lowerCasedItemStrings.length; index++) {\n    var itemString = lowerCasedItemStrings[index];\n\n    if (isValid(itemString, index)) {\n      return index;\n    }\n  }\n\n  for (var _index = 0; _index < highlightedIndex; _index++) {\n    var _itemString = lowerCasedItemStrings[_index];\n\n    if (isValid(_itemString, _index)) {\n      return _index;\n    }\n  }\n\n  return highlightedIndex;\n}\n\nvar propTypes = {\n  items: PropTypes.array.isRequired,\n  itemToString: PropTypes.func,\n  getA11yStatusMessage: PropTypes.func,\n  getA11ySelectionMessage: PropTypes.func,\n  circularNavigation: PropTypes.bool,\n  highlightedIndex: PropTypes.number,\n  defaultHighlightedIndex: PropTypes.number,\n  initialHighlightedIndex: PropTypes.number,\n  isOpen: PropTypes.bool,\n  defaultIsOpen: PropTypes.bool,\n  initialIsOpen: PropTypes.bool,\n  selectedItem: PropTypes.any,\n  initialSelectedItem: PropTypes.any,\n  defaultSelectedItem: PropTypes.any,\n  id: PropTypes.string,\n  labelId: PropTypes.string,\n  menuId: PropTypes.string,\n  getItemId: PropTypes.func,\n  toggleButtonId: PropTypes.string,\n  stateReducer: PropTypes.func,\n  onSelectedItemChange: PropTypes.func,\n  onHighlightedIndexChange: PropTypes.func,\n  onStateChange: PropTypes.func,\n  onIsOpenChange: PropTypes.func,\n  environment: PropTypes.shape({\n    addEventListener: PropTypes.func,\n    removeEventListener: PropTypes.func,\n    document: PropTypes.shape({\n      getElementById: PropTypes.func,\n      activeElement: PropTypes.any,\n      body: PropTypes.any\n    })\n  })\n};\n/**\n * Default implementation for status message. Only added when menu is open.\n * Will specift if there are results in the list, and if so, how many,\n * and what keys are relevant.\n *\n * @param {Object} param the downshift state and other relevant properties\n * @return {String} the a11y status message\n */\n\nfunction getA11yStatusMessage$1(_ref) {\n  var isOpen = _ref.isOpen,\n      resultCount = _ref.resultCount;\n\n  if (!isOpen) {\n    return '';\n  }\n\n  if (!resultCount) {\n    return 'No results are available.';\n  }\n\n  return resultCount + \" result\" + (resultCount === 1 ? ' is' : 's are') + \" available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select.\";\n}\n\nvar defaultProps$1 = _extends({}, defaultProps, {\n  getA11yStatusMessage: getA11yStatusMessage$1\n});\n\nvar MenuKeyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_arrow_down__' : 0;\nvar MenuKeyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_arrow_up__' : 1;\nvar MenuKeyDownEscape = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_escape__' : 2;\nvar MenuKeyDownHome = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_home__' : 3;\nvar MenuKeyDownEnd = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_end__' : 4;\nvar MenuKeyDownEnter = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_enter__' : 5;\nvar MenuKeyDownSpaceButton = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_space_button__' : 6;\nvar MenuKeyDownCharacter = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_character__' : 7;\nvar MenuBlur = process.env.NODE_ENV !== \"production\" ? '__menu_blur__' : 8;\nvar MenuMouseLeave = process.env.NODE_ENV !== \"production\" ? '__menu_mouse_leave__' : 9;\nvar ItemMouseMove = process.env.NODE_ENV !== \"production\" ? '__item_mouse_move__' : 10;\nvar ItemClick = process.env.NODE_ENV !== \"production\" ? '__item_click__' : 11;\nvar ToggleButtonClick = process.env.NODE_ENV !== \"production\" ? '__togglebutton_click__' : 12;\nvar ToggleButtonKeyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__togglebutton_keydown_arrow_down__' : 13;\nvar ToggleButtonKeyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__togglebutton_keydown_arrow_up__' : 14;\nvar ToggleButtonKeyDownCharacter = process.env.NODE_ENV !== \"production\" ? '__togglebutton_keydown_character__' : 15;\nvar FunctionToggleMenu = process.env.NODE_ENV !== \"production\" ? '__function_toggle_menu__' : 16;\nvar FunctionOpenMenu = process.env.NODE_ENV !== \"production\" ? '__function_open_menu__' : 17;\nvar FunctionCloseMenu = process.env.NODE_ENV !== \"production\" ? '__function_close_menu__' : 18;\nvar FunctionSetHighlightedIndex = process.env.NODE_ENV !== \"production\" ? '__function_set_highlighted_index__' : 19;\nvar FunctionSelectItem = process.env.NODE_ENV !== \"production\" ? '__function_select_item__' : 20;\nvar FunctionSetInputValue = process.env.NODE_ENV !== \"production\" ? '__function_set_input_value__' : 21;\nvar FunctionReset = process.env.NODE_ENV !== \"production\" ? '__function_reset__' : 22;\n\nvar stateChangeTypes$1 = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  MenuKeyDownArrowDown: MenuKeyDownArrowDown,\n  MenuKeyDownArrowUp: MenuKeyDownArrowUp,\n  MenuKeyDownEscape: MenuKeyDownEscape,\n  MenuKeyDownHome: MenuKeyDownHome,\n  MenuKeyDownEnd: MenuKeyDownEnd,\n  MenuKeyDownEnter: MenuKeyDownEnter,\n  MenuKeyDownSpaceButton: MenuKeyDownSpaceButton,\n  MenuKeyDownCharacter: MenuKeyDownCharacter,\n  MenuBlur: MenuBlur,\n  MenuMouseLeave: MenuMouseLeave,\n  ItemMouseMove: ItemMouseMove,\n  ItemClick: ItemClick,\n  ToggleButtonClick: ToggleButtonClick,\n  ToggleButtonKeyDownArrowDown: ToggleButtonKeyDownArrowDown,\n  ToggleButtonKeyDownArrowUp: ToggleButtonKeyDownArrowUp,\n  ToggleButtonKeyDownCharacter: ToggleButtonKeyDownCharacter,\n  FunctionToggleMenu: FunctionToggleMenu,\n  FunctionOpenMenu: FunctionOpenMenu,\n  FunctionCloseMenu: FunctionCloseMenu,\n  FunctionSetHighlightedIndex: FunctionSetHighlightedIndex,\n  FunctionSelectItem: FunctionSelectItem,\n  FunctionSetInputValue: FunctionSetInputValue,\n  FunctionReset: FunctionReset\n});\n\n/* eslint-disable complexity */\n\nfunction downshiftSelectReducer(state, action) {\n  var type = action.type,\n      props = action.props,\n      shiftKey = action.shiftKey;\n  var changes;\n\n  switch (type) {\n    case ItemMouseMove:\n      changes = {\n        highlightedIndex: action.index\n      };\n      break;\n\n    case ItemClick:\n      changes = {\n        isOpen: getDefaultValue(props, 'isOpen'),\n        highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n        selectedItem: props.items[action.index]\n      };\n      break;\n\n    case ToggleButtonKeyDownCharacter:\n      {\n        var lowercasedKey = action.key;\n        var inputValue = \"\" + state.inputValue + lowercasedKey;\n        var itemIndex = getItemIndexByCharacterKey(inputValue, state.selectedItem ? props.items.indexOf(state.selectedItem) : -1, props.items, props.itemToString, action.getItemNodeFromIndex);\n        changes = _extends({\n          inputValue: inputValue\n        }, itemIndex >= 0 && {\n          selectedItem: props.items[itemIndex]\n        });\n      }\n      break;\n\n    case ToggleButtonKeyDownArrowDown:\n      changes = {\n        highlightedIndex: getHighlightedIndexOnOpen(props, state, 1, action.getItemNodeFromIndex),\n        isOpen: true\n      };\n      break;\n\n    case ToggleButtonKeyDownArrowUp:\n      changes = {\n        highlightedIndex: getHighlightedIndexOnOpen(props, state, -1, action.getItemNodeFromIndex),\n        isOpen: true\n      };\n      break;\n\n    case MenuKeyDownEnter:\n    case MenuKeyDownSpaceButton:\n      changes = _extends({\n        isOpen: getDefaultValue(props, 'isOpen'),\n        highlightedIndex: getDefaultValue(props, 'highlightedIndex')\n      }, state.highlightedIndex >= 0 && {\n        selectedItem: props.items[state.highlightedIndex]\n      });\n      break;\n\n    case MenuKeyDownHome:\n      changes = {\n        highlightedIndex: getNextNonDisabledIndex(1, 0, props.items.length, action.getItemNodeFromIndex, false)\n      };\n      break;\n\n    case MenuKeyDownEnd:\n      changes = {\n        highlightedIndex: getNextNonDisabledIndex(-1, props.items.length - 1, props.items.length, action.getItemNodeFromIndex, false)\n      };\n      break;\n\n    case MenuKeyDownEscape:\n      changes = {\n        isOpen: false,\n        highlightedIndex: -1\n      };\n      break;\n\n    case MenuBlur:\n      changes = {\n        isOpen: false,\n        highlightedIndex: -1\n      };\n      break;\n\n    case MenuKeyDownCharacter:\n      {\n        var _lowercasedKey = action.key;\n\n        var _inputValue = \"\" + state.inputValue + _lowercasedKey;\n\n        var highlightedIndex = getItemIndexByCharacterKey(_inputValue, state.highlightedIndex, props.items, props.itemToString, action.getItemNodeFromIndex);\n        changes = _extends({\n          inputValue: _inputValue\n        }, highlightedIndex >= 0 && {\n          highlightedIndex: highlightedIndex\n        });\n      }\n      break;\n\n    case MenuKeyDownArrowDown:\n      changes = {\n        highlightedIndex: getNextWrappingIndex(shiftKey ? 5 : 1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n      };\n      break;\n\n    case MenuKeyDownArrowUp:\n      changes = {\n        highlightedIndex: getNextWrappingIndex(shiftKey ? -5 : -1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n      };\n      break;\n\n    case MenuMouseLeave:\n      changes = {\n        highlightedIndex: -1\n      };\n      break;\n\n    case ToggleButtonClick:\n    case FunctionToggleMenu:\n      changes = {\n        isOpen: !state.isOpen,\n        highlightedIndex: state.isOpen ? -1 : getHighlightedIndexOnOpen(props, state, 0)\n      };\n      break;\n\n    case FunctionOpenMenu:\n      changes = {\n        isOpen: true,\n        highlightedIndex: getHighlightedIndexOnOpen(props, state, 0)\n      };\n      break;\n\n    case FunctionCloseMenu:\n      changes = {\n        isOpen: false\n      };\n      break;\n\n    case FunctionSetHighlightedIndex:\n      changes = {\n        highlightedIndex: action.highlightedIndex\n      };\n      break;\n\n    case FunctionSelectItem:\n      changes = {\n        selectedItem: action.selectedItem\n      };\n      break;\n\n    case FunctionSetInputValue:\n      changes = {\n        inputValue: action.inputValue\n      };\n      break;\n\n    case FunctionReset:\n      changes = {\n        highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n        isOpen: getDefaultValue(props, 'isOpen'),\n        selectedItem: getDefaultValue(props, 'selectedItem'),\n        inputValue: getDefaultValue(props, 'inputValue')\n      };\n      break;\n\n    default:\n      throw new Error('Reducer called without proper action type.');\n  }\n\n  return _extends({}, state, {}, changes);\n}\n/* eslint-enable complexity */\n\nvar validatePropTypes = process.env.NODE_ENV === 'production' ?\n/* istanbul ignore next */\nnull : getPropTypesValidator(useSelect, propTypes);\nuseSelect.stateChangeTypes = stateChangeTypes$1;\n\nfunction useSelect(userProps) {\n  if (userProps === void 0) {\n    userProps = {};\n  }\n\n  /* istanbul ignore else */\n  if (process.env.NODE_ENV !== 'production') {\n    validatePropTypes(userProps);\n  } // Props defaults and destructuring.\n\n\n  var props = _extends({}, defaultProps$1, {}, userProps);\n\n  var items = props.items,\n      itemToString = props.itemToString,\n      getA11yStatusMessage = props.getA11yStatusMessage,\n      getA11ySelectionMessage = props.getA11ySelectionMessage,\n      scrollIntoView = props.scrollIntoView,\n      environment = props.environment,\n      initialIsOpen = props.initialIsOpen,\n      defaultIsOpen = props.defaultIsOpen; // Initial state depending on controlled props.\n\n  var initialState = getInitialState(props); // Reducer init.\n\n  var _useEnhancedReducer = useEnhancedReducer(downshiftSelectReducer, initialState, props),\n      _useEnhancedReducer$ = _useEnhancedReducer[0],\n      isOpen = _useEnhancedReducer$.isOpen,\n      highlightedIndex = _useEnhancedReducer$.highlightedIndex,\n      selectedItem = _useEnhancedReducer$.selectedItem,\n      inputValue = _useEnhancedReducer$.inputValue,\n      dispatch = _useEnhancedReducer[1];\n  /* Refs */\n\n\n  var toggleButtonRef = useRef(null);\n  var menuRef = useRef(null);\n  var isInitialMount = useRef(true);\n  var shouldScroll = useRef(true);\n  var clearTimeout = useRef(null);\n  var mouseAndTouchTrackers = useRef({\n    isMouseDown: false,\n    isTouchMove: false\n  });\n  var elementIds = useRef(getElementIds(props)); // Some utils.\n\n  var getItemNodeFromIndex = function (index) {\n    return environment.document.getElementById(elementIds.current.getItemId(index));\n  };\n  /* Effects */\n\n  /* Sets a11y status message on changes in isOpen. */\n\n\n  useEffect(function () {\n    if (isInitialMount.current) {\n      return;\n    }\n\n    setStatus(getA11yStatusMessage({\n      highlightedIndex: highlightedIndex,\n      inputValue: inputValue,\n      isOpen: isOpen,\n      itemToString: itemToString,\n      resultCount: items.length,\n      highlightedItem: items[highlightedIndex],\n      selectedItem: selectedItem\n    }), environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [isOpen]);\n  /* Sets a11y status message on changes in selectedItem. */\n\n  useEffect(function () {\n    if (isInitialMount.current) {\n      return;\n    }\n\n    setStatus(getA11ySelectionMessage({\n      highlightedIndex: highlightedIndex,\n      inputValue: inputValue,\n      isOpen: isOpen,\n      itemToString: itemToString,\n      resultCount: items.length,\n      highlightedItem: items[highlightedIndex],\n      selectedItem: selectedItem\n    }), environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [selectedItem]);\n  /* Sets cleanup for the keysSoFar after 500ms. */\n\n  useEffect(function () {\n    // init the clean function here as we need access to dispatch.\n    if (isInitialMount.current) {\n      clearTimeout.current = debounce(function (outerDispatch) {\n        outerDispatch({\n          type: FunctionSetInputValue,\n          inputValue: ''\n        });\n      }, 500);\n    }\n\n    if (!inputValue) {\n      return;\n    }\n\n    clearTimeout.current(dispatch); // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [inputValue]);\n  /* Controls the focus on the menu or the toggle button. */\n\n  useEffect(function () {\n    // Don't focus menu on first render.\n    if (isInitialMount.current) {\n      // Unless it was initialised as open.\n      if ((initialIsOpen || defaultIsOpen || isOpen) && menuRef.current) {\n        menuRef.current.focus();\n      }\n\n      return;\n    } // Focus menu on open.\n    // istanbul ignore next\n\n\n    if (isOpen && menuRef.current) {\n      menuRef.current.focus(); // Focus toggleButton on close.\n    } else if (environment.document.activeElement === menuRef.current && toggleButtonRef.current) {\n      toggleButtonRef.current.focus();\n    } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n  }, [isOpen]);\n  /* Scroll on highlighted item if change comes from keyboard. */\n\n  useEffect(function () {\n    if (highlightedIndex < 0 || !isOpen || !items.length) {\n      return;\n    }\n\n    if (shouldScroll.current === false) {\n      shouldScroll.current = true;\n    } else {\n      scrollIntoView(getItemNodeFromIndex(highlightedIndex), menuRef.current);\n    } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n  }, [highlightedIndex]);\n  /* Make initial ref false. */\n\n  useEffect(function () {\n    isInitialMount.current = false;\n  }, []);\n  /* Add mouse/touch events to document. */\n\n  useEffect(function () {\n    // The same strategy for checking if a click occurred inside or outside downsift\n    // as in downshift.js.\n    var onMouseDown = function () {\n      mouseAndTouchTrackers.current.isMouseDown = true;\n    };\n\n    var onMouseUp = function (event) {\n      mouseAndTouchTrackers.current.isMouseDown = false;\n\n      if (isOpen && !targetWithinDownshift(event.target, [toggleButtonRef.current, menuRef.current], environment.document)) {\n        dispatch({\n          type: MenuBlur\n        });\n      }\n    };\n\n    var onTouchStart = function () {\n      mouseAndTouchTrackers.current.isTouchMove = false;\n    };\n\n    var onTouchMove = function () {\n      mouseAndTouchTrackers.current.isTouchMove = true;\n    };\n\n    var onTouchEnd = function (event) {\n      if (isOpen && !mouseAndTouchTrackers.current.isTouchMove && !targetWithinDownshift(event.target, [toggleButtonRef.current, menuRef.current], environment.document, false)) {\n        dispatch({\n          type: MenuBlur\n        });\n      }\n    };\n\n    environment.addEventListener('mousedown', onMouseDown);\n    environment.addEventListener('mouseup', onMouseUp);\n    environment.addEventListener('touchstart', onTouchStart);\n    environment.addEventListener('touchmove', onTouchMove);\n    environment.addEventListener('touchend', onTouchEnd);\n    return function () {\n      environment.removeEventListener('mousedown', onMouseDown);\n      environment.removeEventListener('mouseup', onMouseUp);\n      environment.removeEventListener('touchstart', onTouchStart);\n      environment.removeEventListener('touchmove', onTouchMove);\n      environment.removeEventListener('touchend', onTouchEnd);\n    };\n  }); // Event handler functions.\n\n  var toggleButtonKeyDownHandlers = {\n    ArrowDown: function ArrowDown(event) {\n      event.preventDefault();\n      dispatch({\n        type: ToggleButtonKeyDownArrowDown,\n        getItemNodeFromIndex: getItemNodeFromIndex,\n        shiftKey: event.shiftKey\n      });\n    },\n    ArrowUp: function ArrowUp(event) {\n      event.preventDefault();\n      dispatch({\n        type: ToggleButtonKeyDownArrowUp,\n        getItemNodeFromIndex: getItemNodeFromIndex,\n        shiftKey: event.shiftKey\n      });\n    }\n  };\n  var menuKeyDownHandlers = {\n    ArrowDown: function ArrowDown(event) {\n      event.preventDefault();\n      dispatch({\n        type: MenuKeyDownArrowDown,\n        getItemNodeFromIndex: getItemNodeFromIndex,\n        shiftKey: event.shiftKey\n      });\n    },\n    ArrowUp: function ArrowUp(event) {\n      event.preventDefault();\n      dispatch({\n        type: MenuKeyDownArrowUp,\n        getItemNodeFromIndex: getItemNodeFromIndex,\n        shiftKey: event.shiftKey\n      });\n    },\n    Home: function Home(event) {\n      event.preventDefault();\n      dispatch({\n        type: MenuKeyDownHome,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    },\n    End: function End(event) {\n      event.preventDefault();\n      dispatch({\n        type: MenuKeyDownEnd,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    },\n    Escape: function Escape() {\n      dispatch({\n        type: MenuKeyDownEscape\n      });\n    },\n    Enter: function Enter(event) {\n      event.preventDefault();\n      dispatch({\n        type: MenuKeyDownEnter\n      });\n    },\n    ' ': function _(event) {\n      event.preventDefault();\n      dispatch({\n        type: MenuKeyDownSpaceButton\n      });\n    }\n  }; // Event handlers.\n\n  var menuHandleKeyDown = function (event) {\n    var key = normalizeArrowKey(event);\n\n    if (key && menuKeyDownHandlers[key]) {\n      menuKeyDownHandlers[key](event);\n    } else if (isAcceptedCharacterKey(key)) {\n      dispatch({\n        type: MenuKeyDownCharacter,\n        key: key,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    }\n  };\n\n  var menuHandleBlur = function () {\n    var shouldBlur = !mouseAndTouchTrackers.current.isMouseDown;\n    /* istanbul ignore else */\n\n    if (shouldBlur) {\n      dispatch({\n        type: MenuBlur\n      });\n    }\n  };\n\n  var menuHandleMouseLeave = function () {\n    dispatch({\n      type: MenuMouseLeave\n    });\n  };\n\n  var toggleButtonHandleClick = function () {\n    dispatch({\n      type: ToggleButtonClick\n    });\n  };\n\n  var toggleButtonHandleKeyDown = function (event) {\n    var key = normalizeArrowKey(event);\n\n    if (key && toggleButtonKeyDownHandlers[key]) {\n      toggleButtonKeyDownHandlers[key](event);\n    } else if (isAcceptedCharacterKey(key)) {\n      dispatch({\n        type: ToggleButtonKeyDownCharacter,\n        key: key,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    }\n  };\n\n  var itemHandleMouseMove = function (index) {\n    if (index === highlightedIndex) {\n      return;\n    }\n\n    shouldScroll.current = false;\n    dispatch({\n      type: ItemMouseMove,\n      index: index\n    });\n  };\n\n  var itemHandleClick = function (index) {\n    dispatch({\n      type: ItemClick,\n      index: index\n    });\n  }; // Action functions.\n\n\n  return {\n    // prop getters.\n    getToggleButtonProps: function getToggleButtonProps(_ref3) {\n      var _extends3;\n\n      if (_ref3 === void 0) {\n        _ref3 = {};\n      }\n\n      var _ref4 = _ref3,\n          onClick = _ref4.onClick,\n          onKeyDown = _ref4.onKeyDown,\n          _ref4$refKey = _ref4.refKey,\n          refKey = _ref4$refKey === void 0 ? 'ref' : _ref4$refKey,\n          ref = _ref4.ref,\n          rest = _objectWithoutPropertiesLoose(_ref4, [\"onClick\", \"onKeyDown\", \"refKey\", \"ref\"]);\n\n      var toggleProps = _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (toggleButtonNode) {\n        toggleButtonRef.current = toggleButtonNode;\n      }), _extends3.id = elementIds.current.toggleButtonId, _extends3['aria-haspopup'] = 'listbox', _extends3['aria-expanded'] = isOpen, _extends3['aria-labelledby'] = elementIds.current.labelId + \" \" + elementIds.current.toggleButtonId, _extends3), rest);\n\n      if (!rest.disabled) {\n        toggleProps.onClick = callAllEventHandlers(onClick, toggleButtonHandleClick);\n        toggleProps.onKeyDown = callAllEventHandlers(onKeyDown, toggleButtonHandleKeyDown);\n      }\n\n      return toggleProps;\n    },\n    getLabelProps: function getLabelProps(labelProps) {\n      return _extends({\n        id: elementIds.current.labelId,\n        htmlFor: elementIds.current.toggleButtonId\n      }, labelProps);\n    },\n    getMenuProps: function getMenuProps(_ref) {\n      var _extends2;\n\n      if (_ref === void 0) {\n        _ref = {};\n      }\n\n      var _ref2 = _ref,\n          onMouseLeave = _ref2.onMouseLeave,\n          _ref2$refKey = _ref2.refKey,\n          refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n          onKeyDown = _ref2.onKeyDown,\n          onBlur = _ref2.onBlur,\n          ref = _ref2.ref,\n          rest = _objectWithoutPropertiesLoose(_ref2, [\"onMouseLeave\", \"refKey\", \"onKeyDown\", \"onBlur\", \"ref\"]);\n\n      return _extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) {\n        menuRef.current = menuNode;\n      }), _extends2.id = elementIds.current.menuId, _extends2.role = 'listbox', _extends2['aria-labelledby'] = elementIds.current.labelId, _extends2.tabIndex = -1, _extends2), isOpen && highlightedIndex > -1 && {\n        'aria-activedescendant': elementIds.current.getItemId(highlightedIndex)\n      }, {\n        onMouseLeave: callAllEventHandlers(onMouseLeave, menuHandleMouseLeave),\n        onKeyDown: callAllEventHandlers(onKeyDown, menuHandleKeyDown),\n        onBlur: callAllEventHandlers(onBlur, menuHandleBlur)\n      }, rest);\n    },\n    getItemProps: function getItemProps(_ref5) {\n      if (_ref5 === void 0) {\n        _ref5 = {};\n      }\n\n      var _ref6 = _ref5,\n          item = _ref6.item,\n          index = _ref6.index,\n          onMouseMove = _ref6.onMouseMove,\n          onClick = _ref6.onClick,\n          rest = _objectWithoutPropertiesLoose(_ref6, [\"item\", \"index\", \"onMouseMove\", \"onClick\"]);\n\n      var itemIndex = getItemIndex(index, item, items);\n\n      if (itemIndex < 0) {\n        throw new Error('Pass either item or item index in getItemProps!');\n      }\n\n      var itemProps = _extends({\n        role: 'option',\n        'aria-selected': \"\" + (itemIndex === highlightedIndex),\n        id: elementIds.current.getItemId(itemIndex)\n      }, rest);\n\n      if (!rest.disabled) {\n        itemProps.onMouseMove = callAllEventHandlers(onMouseMove, function () {\n          return itemHandleMouseMove(itemIndex);\n        });\n        itemProps.onClick = callAllEventHandlers(onClick, function () {\n          return itemHandleClick(itemIndex);\n        });\n      }\n\n      return itemProps;\n    },\n    // actions.\n    toggleMenu: function toggleMenu() {\n      dispatch({\n        type: FunctionToggleMenu\n      });\n    },\n    openMenu: function openMenu() {\n      dispatch({\n        type: FunctionOpenMenu\n      });\n    },\n    closeMenu: function closeMenu() {\n      dispatch({\n        type: FunctionCloseMenu\n      });\n    },\n    setHighlightedIndex: function setHighlightedIndex(newHighlightedIndex) {\n      dispatch({\n        type: FunctionSetHighlightedIndex,\n        highlightedIndex: newHighlightedIndex\n      });\n    },\n    selectItem: function selectItem(newSelectedItem) {\n      dispatch({\n        type: FunctionSelectItem,\n        selectedItem: newSelectedItem\n      });\n    },\n    reset: function reset() {\n      dispatch({\n        type: FunctionReset\n      });\n    },\n    setInputValue: function setInputValue(newInputValue) {\n      dispatch({\n        type: FunctionSetInputValue,\n        inputValue: newInputValue\n      });\n    },\n    // state.\n    highlightedIndex: highlightedIndex,\n    isOpen: isOpen,\n    selectedItem: selectedItem,\n    inputValue: inputValue\n  };\n}\n\nfunction getElementIds$1(_ref) {\n  var id = _ref.id,\n      inputId = _ref.inputId,\n      rest = _objectWithoutPropertiesLoose(_ref, [\"id\", \"inputId\"]);\n\n  var uniqueId = id === undefined ? \"downshift-\" + generateId() : id;\n  return _extends({\n    inputId: inputId || uniqueId + \"-input\"\n  }, getElementIds(_extends({\n    id: id\n  }, rest)));\n}\n\nfunction getInitialState$1(props) {\n  var initialState = getInitialState(props);\n  var selectedItem = initialState.selectedItem;\n  var inputValue = initialState.inputValue;\n\n  if (inputValue === '' && selectedItem && props.defaultInputValue === undefined && props.initialInputValue === undefined && props.inputValue === undefined) {\n    inputValue = props.itemToString(selectedItem);\n  }\n\n  return _extends({}, initialState, {\n    inputValue: inputValue\n  });\n}\n\nvar propTypes$1 = {\n  items: PropTypes.array.isRequired,\n  itemToString: PropTypes.func,\n  getA11yStatusMessage: PropTypes.func,\n  getA11ySelectionMessage: PropTypes.func,\n  circularNavigation: PropTypes.bool,\n  highlightedIndex: PropTypes.number,\n  defaultHighlightedIndex: PropTypes.number,\n  initialHighlightedIndex: PropTypes.number,\n  isOpen: PropTypes.bool,\n  defaultIsOpen: PropTypes.bool,\n  initialIsOpen: PropTypes.bool,\n  selectedItem: PropTypes.any,\n  initialSelectedItem: PropTypes.any,\n  defaultSelectedItem: PropTypes.any,\n  inputValue: PropTypes.string,\n  defaultInputValue: PropTypes.string,\n  initialInputValue: PropTypes.string,\n  id: PropTypes.string,\n  labelId: PropTypes.string,\n  menuId: PropTypes.string,\n  getItemId: PropTypes.func,\n  inputId: PropTypes.string,\n  toggleButtonId: PropTypes.string,\n  stateReducer: PropTypes.func,\n  onSelectedItemChange: PropTypes.func,\n  onHighlightedIndexChange: PropTypes.func,\n  onStateChange: PropTypes.func,\n  onIsOpenChange: PropTypes.func,\n  onInputValueChange: PropTypes.func,\n  environment: PropTypes.shape({\n    addEventListener: PropTypes.func,\n    removeEventListener: PropTypes.func,\n    document: PropTypes.shape({\n      getElementById: PropTypes.func,\n      activeElement: PropTypes.any,\n      body: PropTypes.any\n    })\n  })\n};\n\nvar defaultProps$2 = _extends({}, defaultProps, {\n  getA11yStatusMessage: getA11yStatusMessage,\n  circularNavigation: true\n});\n\nvar InputKeyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__input_keydown_arrow_down__' : 0;\nvar InputKeyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__input_keydown_arrow_up__' : 1;\nvar InputKeyDownEscape = process.env.NODE_ENV !== \"production\" ? '__input_keydown_escape__' : 2;\nvar InputKeyDownHome = process.env.NODE_ENV !== \"production\" ? '__input_keydown_home__' : 3;\nvar InputKeyDownEnd = process.env.NODE_ENV !== \"production\" ? '__input_keydown_end__' : 4;\nvar InputKeyDownEnter = process.env.NODE_ENV !== \"production\" ? '__input_keydown_enter__' : 5;\nvar InputChange = process.env.NODE_ENV !== \"production\" ? '__input_change__' : 6;\nvar InputBlur = process.env.NODE_ENV !== \"production\" ? '__input_blur__' : 7;\nvar MenuMouseLeave$1 = process.env.NODE_ENV !== \"production\" ? '__menu_mouse_leave__' : 8;\nvar ItemMouseMove$1 = process.env.NODE_ENV !== \"production\" ? '__item_mouse_move__' : 9;\nvar ItemClick$1 = process.env.NODE_ENV !== \"production\" ? '__item_click__' : 10;\nvar ToggleButtonClick$1 = process.env.NODE_ENV !== \"production\" ? '__togglebutton_click__' : 11;\nvar FunctionToggleMenu$1 = process.env.NODE_ENV !== \"production\" ? '__function_toggle_menu__' : 12;\nvar FunctionOpenMenu$1 = process.env.NODE_ENV !== \"production\" ? '__function_open_menu__' : 13;\nvar FunctionCloseMenu$1 = process.env.NODE_ENV !== \"production\" ? '__function_close_menu__' : 14;\nvar FunctionSetHighlightedIndex$1 = process.env.NODE_ENV !== \"production\" ? '__function_set_highlighted_index__' : 15;\nvar FunctionSelectItem$1 = process.env.NODE_ENV !== \"production\" ? '__function_select_item__' : 16;\nvar FunctionSetInputValue$1 = process.env.NODE_ENV !== \"production\" ? '__function_set_input_value__' : 17;\nvar FunctionReset$1 = process.env.NODE_ENV !== \"production\" ? '__function_reset__' : 18;\n\nvar stateChangeTypes$2 = /*#__PURE__*/Object.freeze({\n  __proto__: null,\n  InputKeyDownArrowDown: InputKeyDownArrowDown,\n  InputKeyDownArrowUp: InputKeyDownArrowUp,\n  InputKeyDownEscape: InputKeyDownEscape,\n  InputKeyDownHome: InputKeyDownHome,\n  InputKeyDownEnd: InputKeyDownEnd,\n  InputKeyDownEnter: InputKeyDownEnter,\n  InputChange: InputChange,\n  InputBlur: InputBlur,\n  MenuMouseLeave: MenuMouseLeave$1,\n  ItemMouseMove: ItemMouseMove$1,\n  ItemClick: ItemClick$1,\n  ToggleButtonClick: ToggleButtonClick$1,\n  FunctionToggleMenu: FunctionToggleMenu$1,\n  FunctionOpenMenu: FunctionOpenMenu$1,\n  FunctionCloseMenu: FunctionCloseMenu$1,\n  FunctionSetHighlightedIndex: FunctionSetHighlightedIndex$1,\n  FunctionSelectItem: FunctionSelectItem$1,\n  FunctionSetInputValue: FunctionSetInputValue$1,\n  FunctionReset: FunctionReset$1\n});\n\n/* eslint-disable complexity */\n\nfunction downshiftUseComboboxReducer(state, action) {\n  var type = action.type,\n      props = action.props,\n      shiftKey = action.shiftKey;\n  var changes;\n\n  switch (type) {\n    case ItemMouseMove$1:\n      changes = {\n        highlightedIndex: action.index\n      };\n      break;\n\n    case ItemClick$1:\n      changes = {\n        isOpen: getDefaultValue(props, 'isOpen'),\n        highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n        selectedItem: props.items[action.index],\n        inputValue: props.itemToString(props.items[action.index])\n      };\n      break;\n\n    case InputKeyDownArrowDown:\n      if (state.isOpen) {\n        changes = {\n          highlightedIndex: getNextWrappingIndex(shiftKey ? 5 : 1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n        };\n      } else {\n        changes = {\n          highlightedIndex: getHighlightedIndexOnOpen(props, state, 1, action.getItemNodeFromIndex),\n          isOpen: true\n        };\n      }\n\n      break;\n\n    case InputKeyDownArrowUp:\n      if (state.isOpen) {\n        changes = {\n          highlightedIndex: getNextWrappingIndex(shiftKey ? -5 : -1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n        };\n      } else {\n        changes = {\n          highlightedIndex: getHighlightedIndexOnOpen(props, state, -1, action.getItemNodeFromIndex),\n          isOpen: true\n        };\n      }\n\n      break;\n\n    case InputKeyDownEnter:\n      changes = _extends({}, state.highlightedIndex >= 0 && {\n        selectedItem: props.items[state.highlightedIndex],\n        isOpen: getDefaultValue(props, 'isOpen'),\n        highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n        inputValue: props.itemToString(props.items[state.highlightedIndex])\n      });\n      break;\n\n    case InputKeyDownEscape:\n      changes = {\n        isOpen: false,\n        selectedItem: null,\n        highlightedIndex: -1,\n        inputValue: ''\n      };\n      break;\n\n    case InputKeyDownHome:\n      changes = {\n        highlightedIndex: getNextNonDisabledIndex(1, 0, props.items.length, action.getItemNodeFromIndex, false)\n      };\n      break;\n\n    case InputKeyDownEnd:\n      changes = {\n        highlightedIndex: getNextNonDisabledIndex(-1, props.items.length - 1, props.items.length, action.getItemNodeFromIndex, false)\n      };\n      break;\n\n    case InputBlur:\n      changes = _extends({\n        isOpen: false\n      }, state.highlightedIndex >= 0 && {\n        selectedItem: props.items[state.highlightedIndex],\n        inputValue: props.itemToString(props.items[state.highlightedIndex]),\n        highlightedIndex: -1\n      });\n      break;\n\n    case InputChange:\n      changes = {\n        isOpen: true,\n        highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n        inputValue: action.inputValue\n      };\n      break;\n\n    case MenuMouseLeave$1:\n      changes = {\n        highlightedIndex: -1\n      };\n      break;\n\n    case ToggleButtonClick$1:\n    case FunctionToggleMenu$1:\n      changes = {\n        isOpen: !state.isOpen,\n        highlightedIndex: state.isOpen ? -1 : getHighlightedIndexOnOpen(props, state, 0)\n      };\n      break;\n\n    case FunctionOpenMenu$1:\n      changes = {\n        isOpen: true,\n        highlightedIndex: getHighlightedIndexOnOpen(props, state, 0)\n      };\n      break;\n\n    case FunctionCloseMenu$1:\n      changes = {\n        isOpen: false\n      };\n      break;\n\n    case FunctionSetHighlightedIndex$1:\n      changes = {\n        highlightedIndex: action.highlightedIndex\n      };\n      break;\n\n    case FunctionSelectItem$1:\n      changes = {\n        selectedItem: action.selectedItem\n      };\n      break;\n\n    case FunctionSetInputValue$1:\n      changes = {\n        inputValue: action.inputValue\n      };\n      break;\n\n    case FunctionReset$1:\n      changes = {\n        highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n        isOpen: getDefaultValue(props, 'isOpen'),\n        selectedItem: getDefaultValue(props, 'selectedItem'),\n        inputValue: getDefaultValue(props, 'inputValue')\n      };\n      break;\n\n    default:\n      throw new Error('Reducer called without proper action type.');\n  }\n\n  return _extends({}, state, {}, changes);\n}\n/* eslint-enable complexity */\n\nvar validatePropTypes$1 = process.env.NODE_ENV === 'production' ?\n/* istanbul ignore next */\nnull : getPropTypesValidator(useCombobox, propTypes$1);\nuseCombobox.stateChangeTypes = stateChangeTypes$2;\n\nfunction useCombobox(userProps) {\n  if (userProps === void 0) {\n    userProps = {};\n  }\n\n  /* istanbul ignore else */\n  if (process.env.NODE_ENV !== 'production') {\n    validatePropTypes$1(userProps);\n  } // Props defaults and destructuring.\n\n\n  var props = _extends({}, defaultProps$2, {}, userProps);\n\n  var initialIsOpen = props.initialIsOpen,\n      defaultIsOpen = props.defaultIsOpen,\n      items = props.items,\n      scrollIntoView = props.scrollIntoView,\n      getA11ySelectionMessage = props.getA11ySelectionMessage,\n      getA11yStatusMessage = props.getA11yStatusMessage,\n      itemToString = props.itemToString,\n      environment = props.environment; // Initial state depending on controlled props.\n\n  var initialState = getInitialState$1(props); // Reducer init.\n\n  var _useEnhancedReducer = useEnhancedReducer(downshiftUseComboboxReducer, initialState, props),\n      _useEnhancedReducer$ = _useEnhancedReducer[0],\n      isOpen = _useEnhancedReducer$.isOpen,\n      highlightedIndex = _useEnhancedReducer$.highlightedIndex,\n      selectedItem = _useEnhancedReducer$.selectedItem,\n      inputValue = _useEnhancedReducer$.inputValue,\n      dispatch = _useEnhancedReducer[1];\n  /* Refs */\n\n\n  var menuRef = useRef(null);\n  var itemRefs = useRef();\n  var inputRef = useRef(null);\n  var toggleButtonRef = useRef(null);\n  var comboboxRef = useRef(null);\n  itemRefs.current = [];\n  var shouldScroll = useRef(true);\n  var isInitialMount = useRef(true);\n  var mouseAndTouchTrackers = useRef({\n    isMouseDown: false,\n    isTouchMove: false\n  });\n  var elementIds = useRef(getElementIds$1(props));\n  /* Effects */\n\n  /* Sets a11y status message on changes in isOpen. */\n\n  useEffect(function () {\n    if (isInitialMount.current) {\n      return;\n    }\n\n    setStatus(getA11yStatusMessage({\n      highlightedIndex: highlightedIndex,\n      inputValue: inputValue,\n      isOpen: isOpen,\n      itemToString: itemToString,\n      resultCount: items.length,\n      highlightedItem: items[highlightedIndex],\n      selectedItem: selectedItem\n    }), environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [isOpen]);\n  /* Sets a11y status message on changes in selectedItem. */\n\n  useEffect(function () {\n    if (isInitialMount.current) {\n      return;\n    }\n\n    setStatus(getA11ySelectionMessage({\n      highlightedIndex: highlightedIndex,\n      inputValue: inputValue,\n      isOpen: isOpen,\n      itemToString: itemToString,\n      resultCount: items.length,\n      highlightedItem: items[highlightedIndex],\n      selectedItem: selectedItem\n    }), environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [selectedItem]);\n  /* Scroll on highlighted item if change comes from keyboard. */\n\n  useEffect(function () {\n    if (highlightedIndex < 0 || !isOpen || !itemRefs.current.length) {\n      return;\n    }\n\n    if (shouldScroll.current === false) {\n      shouldScroll.current = true;\n    } else {\n      scrollIntoView(itemRefs.current[highlightedIndex], menuRef.current);\n    } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n  }, [highlightedIndex]);\n  /* Controls the focus on the menu or the toggle button. */\n\n  useEffect(function () {\n    // Don't focus menu on first render.\n    if (isInitialMount.current) {\n      // Unless it was initialised as open.\n      if (initialIsOpen || defaultIsOpen || isOpen) {\n        if (inputRef.current) {\n          inputRef.current.focus();\n        }\n      }\n    } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n  }, [isOpen]);\n  /* Make initial ref false. */\n\n  useEffect(function () {\n    isInitialMount.current = false;\n  }, []);\n  /* Add mouse/touch events to document. */\n\n  useEffect(function () {\n    // The same strategy for checking if a click occurred inside or outside downsift\n    // as in downshift.js.\n    var onMouseDown = function () {\n      mouseAndTouchTrackers.current.isMouseDown = true;\n    };\n\n    var onMouseUp = function (event) {\n      mouseAndTouchTrackers.current.isMouseDown = false;\n\n      if (isOpen && !targetWithinDownshift(event.target, [comboboxRef.current, menuRef.current, toggleButtonRef.current], environment.document)) {\n        dispatch({\n          type: InputBlur\n        });\n      }\n    };\n\n    var onTouchStart = function () {\n      mouseAndTouchTrackers.current.isTouchMove = false;\n    };\n\n    var onTouchMove = function () {\n      mouseAndTouchTrackers.current.isTouchMove = true;\n    };\n\n    var onTouchEnd = function (event) {\n      if (isOpen && !mouseAndTouchTrackers.current.isTouchMove && !targetWithinDownshift(event.target, [comboboxRef.current, menuRef.current, toggleButtonRef.current], environment.document, false)) {\n        dispatch({\n          type: InputBlur\n        });\n      }\n    };\n\n    environment.addEventListener('mousedown', onMouseDown);\n    environment.addEventListener('mouseup', onMouseUp);\n    environment.addEventListener('touchstart', onTouchStart);\n    environment.addEventListener('touchmove', onTouchMove);\n    environment.addEventListener('touchend', onTouchEnd);\n    return function () {\n      environment.removeEventListener('mousedown', onMouseDown);\n      environment.removeEventListener('mouseup', onMouseUp);\n      environment.removeEventListener('touchstart', onTouchStart);\n      environment.removeEventListener('touchmove', onTouchMove);\n      environment.removeEventListener('touchend', onTouchEnd);\n    };\n  });\n\n  var getItemNodeFromIndex = function (index) {\n    return itemRefs.current[index];\n  };\n  /* Event handler functions */\n\n\n  var inputKeyDownHandlers = {\n    ArrowDown: function ArrowDown(event) {\n      event.preventDefault();\n      dispatch({\n        type: InputKeyDownArrowDown,\n        shiftKey: event.shiftKey,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    },\n    ArrowUp: function ArrowUp(event) {\n      event.preventDefault();\n      dispatch({\n        type: InputKeyDownArrowUp,\n        shiftKey: event.shiftKey,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    },\n    Home: function Home(event) {\n      event.preventDefault();\n      dispatch({\n        type: InputKeyDownHome,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    },\n    End: function End(event) {\n      event.preventDefault();\n      dispatch({\n        type: InputKeyDownEnd,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    },\n    Escape: function Escape() {\n      dispatch({\n        type: InputKeyDownEscape\n      });\n    },\n    Enter: function Enter(event) {\n      event.preventDefault();\n      dispatch({\n        type: InputKeyDownEnter,\n        getItemNodeFromIndex: getItemNodeFromIndex\n      });\n    }\n  }; // Event handlers.\n\n  var inputHandleKeyDown = function (event) {\n    var key = normalizeArrowKey(event);\n\n    if (key && inputKeyDownHandlers[key]) {\n      inputKeyDownHandlers[key](event);\n    }\n  };\n\n  var inputHandleChange = function (event) {\n    dispatch({\n      type: InputChange,\n      inputValue: event.target.value\n    });\n  };\n\n  var inputHandleBlur = function () {\n    /* istanbul ignore else */\n    if (!mouseAndTouchTrackers.current.isMouseDown) {\n      dispatch({\n        type: InputBlur\n      });\n    }\n  };\n\n  var menuHandleMouseLeave = function () {\n    dispatch({\n      type: MenuMouseLeave$1\n    });\n  };\n\n  var itemHandleMouseMove = function (index) {\n    if (index === highlightedIndex) {\n      return;\n    }\n\n    shouldScroll.current = false;\n    dispatch({\n      type: ItemMouseMove$1,\n      index: index\n    });\n  };\n\n  var itemHandleClick = function (index) {\n    dispatch({\n      type: ItemClick$1,\n      index: index\n    });\n  };\n\n  var toggleButtonHandleClick = function () {\n    dispatch({\n      type: ToggleButtonClick$1\n    });\n\n    if (!isOpen && inputRef.current) {\n      inputRef.current.focus();\n    }\n  }; // returns\n\n\n  return {\n    // prop getters.\n    getItemProps: function getItemProps(_ref3) {\n      var _extends3, _ref5;\n\n      if (_ref3 === void 0) {\n        _ref3 = {};\n      }\n\n      var _ref4 = _ref3,\n          item = _ref4.item,\n          index = _ref4.index,\n          _ref4$refKey = _ref4.refKey,\n          refKey = _ref4$refKey === void 0 ? 'ref' : _ref4$refKey,\n          ref = _ref4.ref,\n          onMouseMove = _ref4.onMouseMove,\n          onClick = _ref4.onClick,\n          onPress = _ref4.onPress,\n          rest = _objectWithoutPropertiesLoose(_ref4, [\"item\", \"index\", \"refKey\", \"ref\", \"onMouseMove\", \"onClick\", \"onPress\"]);\n\n      var itemIndex = getItemIndex(index, item, items);\n\n      if (itemIndex < 0) {\n        throw new Error('Pass either item or item index in getItemProps!');\n      }\n\n      var onSelectKey = 'onClick';\n      var customClickHandler = onClick;\n      return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {\n        if (itemNode) {\n          itemRefs.current.push(itemNode);\n        }\n      }), _extends3.role = 'option', _extends3['aria-selected'] = \"\" + (itemIndex === highlightedIndex), _extends3.id = elementIds.current.getItemId(itemIndex), _extends3), !rest.disabled && (_ref5 = {\n        onMouseMove: callAllEventHandlers(onMouseMove, function () {\n          itemHandleMouseMove(itemIndex);\n        })\n      }, _ref5[onSelectKey] = callAllEventHandlers(customClickHandler, function () {\n        itemHandleClick(itemIndex);\n      }), _ref5), {}, rest);\n    },\n    getLabelProps: function getLabelProps(labelProps) {\n      return _extends({\n        id: elementIds.current.labelId,\n        htmlFor: elementIds.current.inputId\n      }, labelProps);\n    },\n    getMenuProps: function getMenuProps(_ref) {\n      var _extends2;\n\n      if (_ref === void 0) {\n        _ref = {};\n      }\n\n      var _ref2 = _ref,\n          onMouseLeave = _ref2.onMouseLeave,\n          _ref2$refKey = _ref2.refKey,\n          refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n          ref = _ref2.ref,\n          rest = _objectWithoutPropertiesLoose(_ref2, [\"onMouseLeave\", \"refKey\", \"ref\"]);\n\n      return _extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) {\n        menuRef.current = menuNode;\n      }), _extends2.id = elementIds.current.menuId, _extends2.role = 'listbox', _extends2['aria-labelledby'] = elementIds.current.labelId, _extends2.onMouseLeave = callAllEventHandlers(onMouseLeave, menuHandleMouseLeave), _extends2), rest);\n    },\n    getInputProps: function getInputProps(_ref8) {\n      var _extends5;\n\n      if (_ref8 === void 0) {\n        _ref8 = {};\n      }\n\n      var _ref9 = _ref8,\n          onKeyDown = _ref9.onKeyDown,\n          onChange = _ref9.onChange,\n          onInput = _ref9.onInput,\n          onBlur = _ref9.onBlur,\n          onChangeText = _ref9.onChangeText,\n          _ref9$refKey = _ref9.refKey,\n          refKey = _ref9$refKey === void 0 ? 'ref' : _ref9$refKey,\n          ref = _ref9.ref,\n          rest = _objectWithoutPropertiesLoose(_ref9, [\"onKeyDown\", \"onChange\", \"onInput\", \"onBlur\", \"onChangeText\", \"refKey\", \"ref\"]);\n\n      /* istanbul ignore next (preact) */\n      var onChangeKey = 'onChange';\n      var eventHandlers = {};\n\n      if (!rest.disabled) {\n        var _eventHandlers;\n\n        eventHandlers = (_eventHandlers = {}, _eventHandlers[onChangeKey] = callAllEventHandlers(onChange, onInput, inputHandleChange), _eventHandlers.onKeyDown = callAllEventHandlers(onKeyDown, inputHandleKeyDown), _eventHandlers.onBlur = callAllEventHandlers(onBlur, inputHandleBlur), _eventHandlers);\n      }\n      /* istanbul ignore if (react-native) */\n\n\n      return _extends((_extends5 = {}, _extends5[refKey] = handleRefs(ref, function (inputNode) {\n        inputRef.current = inputNode;\n      }), _extends5.id = elementIds.current.inputId, _extends5['aria-autocomplete'] = 'list', _extends5['aria-controls'] = elementIds.current.menuId, _extends5), isOpen && highlightedIndex > -1 && {\n        'aria-activedescendant': elementIds.current.getItemId(highlightedIndex)\n      }, {\n        'aria-labelledby': elementIds.current.labelId,\n        // https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion\n        // revert back since autocomplete=\"nope\" is ignored on latest Chrome and Opera\n        autoComplete: 'off',\n        value: inputValue\n      }, eventHandlers, {}, rest);\n    },\n    getComboboxProps: function getComboboxProps(_ref10) {\n      var _extends6;\n\n      if (_ref10 === void 0) {\n        _ref10 = {};\n      }\n\n      var _ref11 = _ref10,\n          _ref11$refKey = _ref11.refKey,\n          refKey = _ref11$refKey === void 0 ? 'ref' : _ref11$refKey,\n          ref = _ref11.ref,\n          rest = _objectWithoutPropertiesLoose(_ref11, [\"refKey\", \"ref\"]);\n\n      return _extends((_extends6 = {}, _extends6[refKey] = handleRefs(ref, function (comboboxNode) {\n        comboboxRef.current = comboboxNode;\n      }), _extends6.role = 'combobox', _extends6['aria-haspopup'] = 'listbox', _extends6['aria-owns'] = elementIds.current.menuId, _extends6['aria-expanded'] = isOpen, _extends6), rest);\n    },\n    getToggleButtonProps: function getToggleButtonProps(_ref6) {\n      var _extends4;\n\n      if (_ref6 === void 0) {\n        _ref6 = {};\n      }\n\n      var _ref7 = _ref6,\n          onClick = _ref7.onClick,\n          onPress = _ref7.onPress,\n          _ref7$refKey = _ref7.refKey,\n          refKey = _ref7$refKey === void 0 ? 'ref' : _ref7$refKey,\n          ref = _ref7.ref,\n          rest = _objectWithoutPropertiesLoose(_ref7, [\"onClick\", \"onPress\", \"refKey\", \"ref\"]);\n\n      return _extends((_extends4 = {}, _extends4[refKey] = handleRefs(ref, function (toggleButtonNode) {\n        toggleButtonRef.current = toggleButtonNode;\n      }), _extends4.id = elementIds.current.toggleButtonId, _extends4.tabIndex = -1, _extends4), !rest.disabled && _extends({}, {\n        onClick: callAllEventHandlers(onClick, toggleButtonHandleClick)\n      }), {}, rest);\n    },\n    // actions.\n    toggleMenu: function toggleMenu() {\n      dispatch({\n        type: FunctionToggleMenu$1\n      });\n    },\n    openMenu: function openMenu() {\n      dispatch({\n        type: FunctionOpenMenu$1\n      });\n    },\n    closeMenu: function closeMenu() {\n      dispatch({\n        type: FunctionCloseMenu$1\n      });\n    },\n    setHighlightedIndex: function setHighlightedIndex(newHighlightedIndex) {\n      dispatch({\n        type: FunctionSetHighlightedIndex$1,\n        highlightedIndex: newHighlightedIndex\n      });\n    },\n    setInputValue: function setInputValue(newInputValue) {\n      dispatch({\n        type: FunctionSetInputValue$1,\n        inputValue: newInputValue\n      });\n    },\n    selectItem: function selectItem(newSelectedItem) {\n      dispatch({\n        type: FunctionSelectItem$1,\n        selectedItem: newSelectedItem\n      });\n    },\n    reset: function reset() {\n      dispatch({\n        type: FunctionReset$1\n      });\n    },\n    // state.\n    highlightedIndex: highlightedIndex,\n    isOpen: isOpen,\n    selectedItem: selectedItem,\n    inputValue: inputValue\n  };\n}\n\nexport default Downshift;\nexport { resetIdCounter, useCombobox, useSelect };\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Input } from '../Input/Input';\nimport { useFluentContext, useTelemetry, useStyles, useUnhandledProps } from '@fluentui/react-bindings';\nexport var dropdownSearchInputClassName = 'ui-dropdown__searchinput';\nexport var dropdownSearchInputSlotClassNames = {\n  input: dropdownSearchInputClassName + \"__input\",\n  wrapper: dropdownSearchInputClassName + \"__wrapper\"\n};\n\n/**\n * A DropdownSearchInput represents item of 'search' Dropdown.\n * Used to display the search input field.\n */\nexport var DropdownSearchInput = /*#__PURE__*/function () {\n  var DropdownSearchInput = function DropdownSearchInput(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(DropdownSearchInput.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibilityComboboxProps = props.accessibilityComboboxProps,\n        accessibilityInputProps = props.accessibilityInputProps,\n        inputRef = props.inputRef,\n        inline = props.inline,\n        placeholder = props.placeholder,\n        disabled = props.disabled,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var unhandledProps = useUnhandledProps(DropdownSearchInput.handledProps, props);\n\n    var _useStyles = useStyles(DropdownSearchInput.displayName, {\n      className: dropdownSearchInputClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          inline: inline\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      }\n    }),\n        resolvedStyles = _useStyles.styles;\n\n    var handleFocus = function handleFocus(e) {\n      _invoke(props, 'onFocus', e, props);\n    };\n\n    var handleInputKeyDown = function handleInputKeyDown(e) {\n      _invoke(props, 'onInputKeyDown', e, props);\n    };\n\n    var handleInputBlur = function handleInputBlur(e) {\n      _invoke(props, 'onInputBlur', e, props);\n    };\n\n    var handleKeyUp = function handleKeyUp(e) {\n      _invoke(props, 'onKeyUp', e, props);\n    };\n\n    var element = /*#__PURE__*/React.createElement(Input, _extends({\n      disabled: disabled,\n      inputRef: inputRef,\n      onFocus: handleFocus,\n      onKeyUp: handleKeyUp\n    }, unhandledProps, {\n      wrapper: Object.assign({\n        className: cx(dropdownSearchInputSlotClassNames.wrapper, className),\n        styles: resolvedStyles.root\n      }, accessibilityComboboxProps, unhandledProps.wrapper),\n      input: Object.assign({\n        type: 'text',\n        className: dropdownSearchInputSlotClassNames.input,\n        styles: resolvedStyles.input,\n        placeholder: placeholder,\n        onBlur: handleInputBlur,\n        onKeyDown: handleInputKeyDown\n      }, accessibilityInputProps, unhandledProps.input)\n    }));\n    setEnd();\n    return element;\n  };\n\n  DropdownSearchInput.displayName = 'DropdownSearchInput';\n  DropdownSearchInput.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    accessibility: false,\n    children: false,\n    content: false\n  }), {\n    accessibilityInputProps: PropTypes.object,\n    accessibilityComboboxProps: PropTypes.object,\n    disabled: PropTypes.bool,\n    inline: PropTypes.bool,\n    inputRef: customPropTypes.ref,\n    onFocus: PropTypes.func,\n    onInputBlur: PropTypes.func,\n    onInputKeyDown: PropTypes.func,\n    onKeyUp: PropTypes.func,\n    placeholder: PropTypes.string\n  });\n  DropdownSearchInput.handledProps = Object.keys(DropdownSearchInput.propTypes);\n  DropdownSearchInput.create = createShorthandFactory({\n    Component: DropdownSearchInput\n  });\n  return DropdownSearchInput;\n}();\n//# sourceMappingURL=DropdownSearchInput.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _findIndex from \"lodash/findIndex\";\nimport _isNil from \"lodash/isNil\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _isNumber from \"lodash/isNumber\";\nimport _invoke from \"lodash/invoke\";\nimport _debounce from \"lodash/debounce\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport _get from \"lodash/get\";\nimport _isFunction from \"lodash/isFunction\";\nimport _map from \"lodash/map\";\nimport _differenceBy from \"lodash/differenceBy\";\nimport { getElementType, useAutoControlled, useStyles, useUnhandledProps, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { indicatorBehavior, getCode, keyboardKey } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport computeScrollIntoView from 'compute-scroll-into-view';\nimport Downshift from 'downshift';\nimport { commonPropTypes, isFromKeyboard as detectIsFromKeyboard, createShorthand } from '../../utils';\nimport { List } from '../List/List';\nimport { DropdownItem } from './DropdownItem';\nimport { DropdownSelectedItem } from './DropdownSelectedItem';\nimport { DropdownSearchInput } from './DropdownSearchInput';\nimport { Button } from '../Button/Button';\nimport { screenReaderContainerStyles } from '../../utils/accessibility/Styles/accessibilityStyles';\nimport { Box } from '../Box/Box';\nimport { Portal } from '../Portal/Portal';\nimport { ALIGNMENTS, POSITIONS, Popper, partitionPopperPropsFromShorthand, AUTOSIZES } from '../../utils/positioner';\nimport { CloseIcon, ChevronDownIcon } from '@fluentui/react-icons-northstar';\nexport var dropdownClassName = 'ui-dropdown';\nexport var dropdownSlotClassNames = {\n  clearIndicator: dropdownClassName + \"__clear-indicator\",\n  container: dropdownClassName + \"__container\",\n  toggleIndicator: dropdownClassName + \"__toggle-indicator\",\n  item: dropdownClassName + \"__item\",\n  itemsList: dropdownClassName + \"__items-list\",\n  searchInput: dropdownClassName + \"__searchinput\",\n  selectedItem: dropdownClassName + \"__selecteditem\",\n  selectedItems: dropdownClassName + \"__selected-items\",\n  triggerButton: dropdownClassName + \"__trigger-button\"\n};\nvar a11yStatusCleanupTime = 500;\nvar charKeyPressedCleanupTime = 500;\n/** `normalizedValue` should be normalized always as it can be received from props */\n\nfunction normalizeValue(multiple, rawValue) {\n  var normalizedValue = Array.isArray(rawValue) ? rawValue : [rawValue];\n  return multiple ? normalizedValue : normalizedValue.slice(0, 1);\n}\n/**\n * Used to compute the filtered items (by value and search query) and, if needed,\n * their string equivalents, in order to be used throughout the component.\n */\n\n\nfunction getFilteredValues(options) {\n  var items = options.items,\n      itemToString = options.itemToString,\n      itemToValue = options.itemToValue,\n      multiple = options.multiple,\n      search = options.search,\n      searchQuery = options.searchQuery,\n      value = options.value;\n  var filteredItemsByValue = multiple ? _differenceBy(items, value, itemToValue) : items;\n\n  var filteredItemStrings = _map(filteredItemsByValue, function (filteredItem) {\n    return itemToString(filteredItem).toLowerCase();\n  });\n\n  if (search) {\n    if (_isFunction(search)) {\n      return {\n        filteredItems: search(filteredItemsByValue, searchQuery),\n        filteredItemStrings: filteredItemStrings\n      };\n    }\n\n    return {\n      filteredItems: filteredItemsByValue.filter(function (item) {\n        return itemToString(item).toLowerCase().indexOf(searchQuery.toLowerCase()) !== -1;\n      }),\n      filteredItemStrings: filteredItemStrings\n    };\n  }\n\n  return {\n    filteredItems: filteredItemsByValue,\n    filteredItemStrings: filteredItemStrings\n  };\n}\n\nvar isEmpty = function isEmpty(prop) {\n  return typeof prop === 'object' && !prop.props && !_get(prop, 'children') && !_get(prop, 'content');\n};\n/**\n * A Dropdown allows user to select one or more values from a list of options.\n * Can be created with search and multi-selection capabilities.\n *\n * @accessibility\n * Implements [ARIA Combo Box](https://www.w3.org/TR/wai-aria-practices-1.1/#combobox) design pattern, uses aria-live to announce state changes.\n * @accessibilityIssues\n * [Issue 991203: VoiceOver doesn't narrate properly elements in the input/combobox](https://bugs.chromium.org/p/chromium/issues/detail?id=991203)\n */\n\n\nexport var Dropdown = /*#__PURE__*/function () {\n  var Dropdown = function Dropdown(props) {\n    var _context$target;\n\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Dropdown.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var align = props.align,\n        ariaLabelledby = props['aria-labelledby'],\n        ariaInvalid = props['aria-invalid'],\n        clearable = props.clearable,\n        clearIndicator = props.clearIndicator,\n        checkable = props.checkable,\n        checkableIndicator = props.checkableIndicator,\n        className = props.className,\n        design = props.design,\n        disabled = props.disabled,\n        error = props.error,\n        fluid = props.fluid,\n        getA11ySelectionMessage = props.getA11ySelectionMessage,\n        a11ySelectedItemsMessage = props.a11ySelectedItemsMessage,\n        getA11yStatusMessage = props.getA11yStatusMessage,\n        inline = props.inline,\n        inverted = props.inverted,\n        itemToString = props.itemToString,\n        itemToValue = props.itemToValue,\n        items = props.items,\n        highlightFirstItemOnOpen = props.highlightFirstItemOnOpen,\n        multiple = props.multiple,\n        headerMessage = props.headerMessage,\n        moveFocusOnTab = props.moveFocusOnTab,\n        noResultsMessage = props.noResultsMessage,\n        loading = props.loading,\n        loadingMessage = props.loadingMessage,\n        placeholder = props.placeholder,\n        position = props.position,\n        offset = props.offset,\n        renderItem = props.renderItem,\n        renderSelectedItem = props.renderSelectedItem,\n        search = props.search,\n        searchInput = props.searchInput,\n        styles = props.styles,\n        toggleIndicator = props.toggleIndicator,\n        triggerButton = props.triggerButton,\n        unstable_disableTether = props.unstable_disableTether,\n        unstable_pinned = props.unstable_pinned,\n        autoSize = props.autoSize,\n        variables = props.variables;\n\n    var _partitionPopperProps = partitionPopperPropsFromShorthand(props.list),\n        list = _partitionPopperProps[0],\n        positioningProps = _partitionPopperProps[1];\n\n    var buttonRef = React.useRef();\n\n    var _inputRef = React.useRef();\n\n    var listRef = React.useRef();\n    var selectedItemsRef = React.useRef();\n    var containerRef = React.useRef();\n    var defaultTriggerButtonId = React.useMemo(function () {\n      return _uniqueId('dropdown-trigger-button-');\n    }, []);\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Dropdown.handledProps, props);\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultActiveSelectedIndex,\n      initialValue: multiple ? null : undefined,\n      value: props.activeSelectedIndex\n    }),\n        activeSelectedIndex = _useAutoControlled[0],\n        setActiveSelectedIndex = _useAutoControlled[1];\n\n    var _useAutoControlled2 = useAutoControlled({\n      defaultValue: props.defaultHighlightedIndex,\n      initialValue: highlightFirstItemOnOpen ? 0 : null,\n      value: props.highlightedIndex\n    }),\n        highlightedIndex = _useAutoControlled2[0],\n        setHighlightedIndex = _useAutoControlled2[1];\n\n    var _useAutoControlled3 = useAutoControlled({\n      defaultValue: props.defaultOpen,\n      initialValue: false,\n      value: props.open\n    }),\n        open = _useAutoControlled3[0],\n        setOpen = _useAutoControlled3[1];\n\n    var _useAutoControlled4 = useAutoControlled({\n      defaultValue: props.defaultSearchQuery,\n      initialValue: search ? '' : undefined,\n      value: props.searchQuery\n    }),\n        searchQuery = _useAutoControlled4[0],\n        setSearchQuery = _useAutoControlled4[1];\n\n    var _useAutoControlled5 = useAutoControlled({\n      defaultValue: props.defaultValue,\n      initialValue: [],\n      value: props.value\n    }),\n        rawValue = _useAutoControlled5[0],\n        setValue = _useAutoControlled5[1];\n\n    var value = normalizeValue(multiple, rawValue);\n\n    var _React$useState = React.useState(''),\n        a11ySelectionStatus = _React$useState[0],\n        setA11ySelectionStatus = _React$useState[1];\n\n    var _React$useState2 = React.useState(false),\n        focused = _React$useState2[0],\n        setFocused = _React$useState2[1];\n\n    var _React$useState3 = React.useState(false),\n        isFromKeyboard = _React$useState3[0],\n        setIsFromKeyboard = _React$useState3[1];\n\n    var _React$useState4 = React.useState(false),\n        itemIsFromKeyboard = _React$useState4[0],\n        setItemIsFromKeyboard = _React$useState4[1];\n\n    var _React$useState5 = React.useState(search ? undefined : ''),\n        startingString = _React$useState5[0],\n        setStartingString = _React$useState5[1];\n\n    var _getFilteredValues = getFilteredValues({\n      itemToString: itemToString,\n      itemToValue: itemToValue,\n      items: items,\n      multiple: multiple,\n      search: search,\n      searchQuery: searchQuery,\n      value: value\n    }),\n        filteredItems = _getFilteredValues.filteredItems,\n        filteredItemStrings = _getFilteredValues.filteredItemStrings;\n\n    var _useStyles = useStyles(Dropdown.displayName, {\n      className: dropdownClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          disabled: disabled,\n          error: error,\n          fluid: fluid,\n          focused: focused,\n          isEmptyClearIndicator: isEmpty(clearIndicator),\n          hasToggleIndicator: !!toggleIndicator,\n          inline: inline,\n          inverted: inverted,\n          isFromKeyboard: isFromKeyboard,\n          multiple: multiple,\n          open: open,\n          position: position,\n          search: !!search,\n          hasItemsSelected: value.length > 0\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var clearA11ySelectionMessage = React.useMemo(function () {\n      return _debounce(function () {\n        setA11ySelectionStatus('');\n      }, a11yStatusCleanupTime);\n    }, []);\n    var clearStartingString = React.useMemo(function () {\n      return _debounce(function () {\n        setStartingString('');\n      }, charKeyPressedCleanupTime);\n    }, []);\n\n    var handleChange = function handleChange(e) {\n      // Dropdown component doesn't present any `input` component in markup, however all of our\n      // components should handle events transparently.\n      _invoke(props, 'onChange', e, Object.assign({}, props, {\n        value: value\n      }));\n    };\n\n    var handleOnBlur = function handleOnBlur(e) {\n      // Dropdown component doesn't present any `input` component in markup, however all of our\n      // components should handle events transparently.\n      if (e.target !== buttonRef.current) {\n        _invoke(props, 'onBlur', e, props);\n      }\n    };\n\n    var renderTriggerButton = function renderTriggerButton(getToggleButtonProps) {\n      var content = getSelectedItemAsString(value[0]);\n      var triggerButtonId = triggerButton['id'] || defaultTriggerButtonId;\n      var triggerButtonProps = getToggleButtonProps({\n        disabled: disabled,\n        onFocus: handleTriggerButtonOrListFocus,\n        onBlur: handleTriggerButtonBlur,\n        onKeyDown: function onKeyDown(e) {\n          handleTriggerButtonKeyDown(e);\n        },\n        'aria-invalid': ariaInvalid,\n        'aria-label': undefined,\n        'aria-labelledby': [ariaLabelledby, triggerButtonId].filter(function (l) {\n          return !!l;\n        }).join(' ')\n      });\n\n      var _onClick = triggerButtonProps.onClick,\n          _onFocus = triggerButtonProps.onFocus,\n          _onBlur = triggerButtonProps.onBlur,\n          _onKeyDown = triggerButtonProps.onKeyDown,\n          restTriggerButtonProps = _objectWithoutPropertiesLoose(triggerButtonProps, [\"onClick\", \"onFocus\", \"onBlur\", \"onKeyDown\"]);\n\n      return /*#__PURE__*/React.createElement(Ref, {\n        innerRef: buttonRef\n      }, createShorthand(Button, triggerButton, {\n        defaultProps: function defaultProps() {\n          return Object.assign({\n            className: dropdownSlotClassNames.triggerButton,\n            content: content,\n            disabled: disabled,\n            id: triggerButtonId,\n            fluid: true,\n            styles: resolvedStyles.triggerButton\n          }, restTriggerButtonProps);\n        },\n        overrideProps: function overrideProps(predefinedProps) {\n          return {\n            onClick: function onClick(e) {\n              _onClick(e);\n\n              _invoke(predefinedProps, 'onClick', e, predefinedProps);\n            },\n            onFocus: function onFocus(e) {\n              _onFocus(e);\n\n              _invoke(predefinedProps, 'onFocus', e, predefinedProps);\n            },\n            onBlur: function onBlur(e) {\n              if (!disabled) {\n                _onBlur(e);\n              }\n\n              _invoke(predefinedProps, 'onBlur', e, predefinedProps);\n            },\n            onKeyDown: function onKeyDown(e) {\n              if (!disabled) {\n                _onKeyDown(e);\n              }\n\n              _invoke(predefinedProps, 'onKeyDown', e, predefinedProps);\n            }\n          };\n        }\n      }));\n    };\n\n    var renderSearchInput = function renderSearchInput(accessibilityComboboxProps, highlightedIndex, getInputProps, selectItemAtIndex, toggleMenu, variables) {\n      var noPlaceholder = searchQuery.length > 0 || multiple && value.length > 0;\n      return DropdownSearchInput.create(searchInput || {}, {\n        defaultProps: function defaultProps() {\n          return {\n            className: dropdownSlotClassNames.searchInput,\n            placeholder: noPlaceholder ? '' : placeholder,\n            inline: inline,\n            variables: variables,\n            disabled: disabled\n          };\n        },\n        overrideProps: handleSearchInputOverrides(highlightedIndex, selectItemAtIndex, toggleMenu, accessibilityComboboxProps, getInputProps)\n      });\n    };\n\n    var renderItemsList = function renderItemsList(highlightedIndex, toggleMenu, selectItemAtIndex, getMenuProps, getItemProps, getInputProps) {\n      var items = open ? renderItems(getItemProps) : [];\n\n      var _getMenuProps = getMenuProps({\n        refKey: 'innerRef'\n      }, {\n        suppressRefError: true\n      }),\n          _innerRef = _getMenuProps.innerRef,\n          accessibilityMenuProps = _objectWithoutPropertiesLoose(_getMenuProps, [\"innerRef\"]); // If it's just a selection, some attributes and listeners from Downshift input need to go on the menu list.\n\n\n      if (!search) {\n        var accessibilityInputProps = getInputProps();\n        accessibilityMenuProps['aria-activedescendant'] = accessibilityInputProps['aria-activedescendant'];\n\n        accessibilityMenuProps['onKeyDown'] = function (e) {\n          handleListKeyDown(e, highlightedIndex, accessibilityInputProps['onKeyDown'], toggleMenu, selectItemAtIndex);\n        };\n      }\n\n      return /*#__PURE__*/React.createElement(Ref, {\n        innerRef: function innerRef(listElement) {\n          handleRef(listRef, listElement);\n          handleRef(_innerRef, listElement);\n        }\n      }, /*#__PURE__*/React.createElement(Popper, _extends({\n        align: align,\n        position: position,\n        offset: offset,\n        rtl: context.rtl,\n        enabled: open,\n        targetRef: containerRef,\n        unstable_disableTether: unstable_disableTether,\n        unstable_pinned: unstable_pinned,\n        positioningDependencies: [items.length],\n        autoSize: autoSize\n      }, positioningProps), List.create(list, {\n        defaultProps: function defaultProps() {\n          return Object.assign({\n            className: dropdownSlotClassNames.itemsList\n          }, accessibilityMenuProps, {\n            styles: resolvedStyles.list,\n            items: items,\n            tabIndex: search ? undefined : -1,\n            // needs to be focused when trigger button is activated.\n            'aria-hidden': !open\n          });\n        },\n        overrideProps: function overrideProps(predefinedProps) {\n          return {\n            onFocus: function onFocus(e, listProps) {\n              handleTriggerButtonOrListFocus();\n\n              _invoke(predefinedProps, 'onClick', e, listProps);\n            },\n            onBlur: function onBlur(e, listProps) {\n              handleListBlur(e);\n\n              _invoke(predefinedProps, 'onBlur', e, listProps);\n            }\n          };\n        }\n      })));\n    };\n\n    var renderItems = function renderItems(getItemProps) {\n      var footerItem = renderItemsListFooter();\n      var headerItem = renderItemsListHeader();\n\n      var items = _map(filteredItems, function (item, index) {\n        return {\n          children: function children() {\n            var selected = value.indexOf(item) !== -1;\n            return DropdownItem.create(item, {\n              defaultProps: function defaultProps() {\n                return Object.assign({\n                  className: dropdownSlotClassNames.item,\n                  active: highlightedIndex === index,\n                  selected: selected,\n                  checkable: checkable,\n                  checkableIndicator: checkableIndicator,\n                  isFromKeyboard: itemIsFromKeyboard,\n                  variables: variables\n                }, typeof item === 'object' && !item.hasOwnProperty('key') && {\n                  key: item.header\n                });\n              },\n              overrideProps: handleItemOverrides(item, index, getItemProps, selected),\n              render: renderItem\n            });\n          }\n        };\n      });\n\n      if (footerItem) {\n        items.push(footerItem);\n      }\n\n      return headerItem ? [headerItem].concat(items) : items;\n    };\n\n    var renderItemsListHeader = function renderItemsListHeader() {\n      if (headerMessage) {\n        return {\n          children: function children() {\n            return DropdownItem.create(headerMessage, {\n              defaultProps: function defaultProps() {\n                return {\n                  key: 'items-list-footer-message',\n                  styles: resolvedStyles.headerMessage\n                };\n              }\n            });\n          }\n        };\n      }\n\n      return null;\n    };\n\n    var renderItemsListFooter = function renderItemsListFooter() {\n      if (loading) {\n        return {\n          children: function children() {\n            return DropdownItem.create(loadingMessage, {\n              defaultProps: function defaultProps() {\n                return {\n                  key: 'loading-message',\n                  styles: resolvedStyles.loadingMessage\n                };\n              }\n            });\n          }\n        };\n      }\n\n      if (filteredItems && filteredItems.length === 0) {\n        return {\n          children: function children() {\n            return DropdownItem.create(noResultsMessage, {\n              defaultProps: function defaultProps() {\n                return {\n                  key: 'no-results-message',\n                  styles: resolvedStyles.noResultsMessage\n                };\n              }\n            });\n          }\n        };\n      }\n\n      return null;\n    };\n\n    var renderSelectedItems = function renderSelectedItems() {\n      if (value.length === 0) {\n        return null;\n      }\n\n      var selectedItems = value.map(function (item, index) {\n        return (// (!) an item matches DropdownItemProps\n          DropdownSelectedItem.create(item, {\n            defaultProps: function defaultProps() {\n              return Object.assign({\n                className: dropdownSlotClassNames.selectedItem,\n                active: isSelectedItemActive(index),\n                variables: variables\n              }, typeof item === 'object' && !item.hasOwnProperty('key') && {\n                key: item.header\n              });\n            },\n            overrideProps: handleSelectedItemOverrides(item),\n            render: renderSelectedItem\n          })\n        );\n      });\n      return /*#__PURE__*/React.createElement(\"div\", {\n        role: \"listbox\",\n        tabIndex: -1,\n        \"aria-label\": a11ySelectedItemsMessage\n      }, selectedItems);\n    };\n\n    var downshiftStateReducer = function downshiftStateReducer(state, changes) {\n      var activeElement = context.target.activeElement;\n\n      switch (changes.type) {\n        case Downshift.stateChangeTypes.blurButton:\n          // Downshift closes the list by default on trigger blur. It does not support the case when dropdown is\n          // single selection and focuses list on trigger click/up/down/space/enter. Treating that here.\n          if (state.isOpen && activeElement === listRef.current) {\n            return {}; // won't change state in this case.\n          }\n\n          _invoke(props, 'onBlur', null);\n\n        default:\n          return changes;\n      }\n    };\n\n    var handleStateChange = function handleStateChange(changes) {\n      var type = changes.type;\n      var newState = {};\n\n      switch (type) {\n        case Downshift.stateChangeTypes.changeInput:\n          {\n            var shouldValueChange = changes.inputValue === '' && !multiple && value.length > 0;\n            newState.searchQuery = changes.inputValue;\n            newState.highlightedIndex = highlightFirstItemOnOpen ? 0 : null;\n\n            if (shouldValueChange) {\n              newState.value = [];\n            }\n\n            if (open) {\n              // we clear value when in single selection user cleared the query.\n              var shouldMenuClose = changes.inputValue === '' || changes.selectedItem !== undefined;\n\n              if (shouldMenuClose) {\n                newState.open = false;\n              }\n            } else {\n              newState.open = true;\n            }\n\n            break;\n          }\n\n        case Downshift.stateChangeTypes.keyDownEnter:\n        case Downshift.stateChangeTypes.clickItem:\n          var shouldAddHighlightedIndex = !multiple && items && items.length > 0;\n          var isSameItemSelected = changes.selectedItem === undefined;\n          var newValue = isSameItemSelected ? value[0] : changes.selectedItem;\n          newState.searchQuery = getSelectedItemAsString(newValue);\n          newState.open = false;\n          newState.highlightedIndex = shouldAddHighlightedIndex ? items.indexOf(newValue) : null;\n\n          if (!isSameItemSelected) {\n            newState.value = multiple ? [].concat(value, [changes.selectedItem]) : [changes.selectedItem];\n\n            if (getA11ySelectionMessage && getA11ySelectionMessage.onAdd) {\n              setA11ySelectionMessage(getA11ySelectionMessage.onAdd(newValue));\n            }\n          }\n\n          if (multiple) {\n            setTimeout(function () {\n              return selectedItemsRef.current.scrollTop = selectedItemsRef.current.scrollHeight;\n            }, 0);\n          }\n\n          tryFocusTriggerButton();\n          break;\n\n        case Downshift.stateChangeTypes.keyDownEscape:\n          if (search) {\n            newState.searchQuery = '';\n\n            if (!multiple) {\n              newState.value = [];\n            }\n          }\n\n          newState.open = false;\n          newState.highlightedIndex = highlightFirstItemOnOpen ? 0 : null;\n          break;\n\n        case Downshift.stateChangeTypes.keyDownArrowDown:\n        case Downshift.stateChangeTypes.keyDownArrowUp:\n          if (changes.isOpen !== undefined) {\n            newState.open = changes.isOpen;\n            newState.highlightedIndex = changes.highlightedIndex;\n\n            if (changes.isOpen) {\n              var highlightedIndexOnArrowKeyOpen = getHighlightedIndexOnArrowKeyOpen(changes);\n\n              if (_isNumber(highlightedIndexOnArrowKeyOpen)) {\n                newState.highlightedIndex = highlightedIndexOnArrowKeyOpen;\n              }\n\n              if (!search) {\n                listRef.current.focus();\n              }\n            } else {\n              newState.highlightedIndex = null;\n            }\n          }\n\n        case Downshift.stateChangeTypes['keyDownHome']:\n        case Downshift.stateChangeTypes['keyDownEnd']:\n          if (open && _isNumber(changes.highlightedIndex)) {\n            newState.highlightedIndex = changes.highlightedIndex;\n            newState.itemIsFromKeyboard = true;\n          }\n\n          break;\n\n        case Downshift.stateChangeTypes.mouseUp:\n          if (open) {\n            newState.open = false;\n            newState.highlightedIndex = null;\n          }\n\n          break;\n\n        case Downshift.stateChangeTypes.clickButton:\n        case Downshift.stateChangeTypes.keyDownSpaceButton:\n          newState.open = changes.isOpen;\n\n          if (changes.isOpen) {\n            var _highlightedIndexOnArrowKeyOpen = getHighlightedIndexOnArrowKeyOpen(changes);\n\n            if (_isNumber(_highlightedIndexOnArrowKeyOpen)) {\n              newState.highlightedIndex = _highlightedIndexOnArrowKeyOpen;\n            }\n\n            if (!search) {\n              listRef.current.focus();\n            }\n          } else {\n            newState.highlightedIndex = null;\n          }\n\n          break;\n\n        case Downshift.stateChangeTypes.itemMouseEnter:\n          newState.highlightedIndex = changes.highlightedIndex;\n          newState.itemIsFromKeyboard = false;\n          break;\n\n        case Downshift.stateChangeTypes.unknown:\n          if (changes.selectedItem) {\n            newState.value = multiple ? [].concat(value, [changes.selectedItem]) : [changes.selectedItem];\n            newState.searchQuery = multiple ? '' : changes.inputValue;\n            newState.open = false;\n            newState.highlightedIndex = changes.highlightedIndex;\n            tryFocusTriggerButton();\n          } else {\n            newState.open = changes.isOpen;\n          }\n\n        default:\n          break;\n      }\n\n      if (_isEmpty(newState)) {\n        return;\n      }\n\n      var handlers = [newState.highlightedIndex !== undefined && 'onHighlightedIndexChange', newState.open !== undefined && 'onOpenChange', newState.searchQuery !== undefined && 'onSearchQueryChange', newState.value !== undefined && 'onChange'].filter(Boolean);\n      setStateAndInvokeHandler(handlers, null, newState);\n    };\n\n    var isSelectedItemActive = function isSelectedItemActive(index) {\n      return index === activeSelectedIndex;\n    };\n\n    var handleItemOverrides = function handleItemOverrides(item, index, getItemProps, selected) {\n      return function (predefinedProps) {\n        return {\n          accessibilityItemProps: Object.assign({}, getItemProps({\n            item: item,\n            index: index,\n            disabled: item['disabled'],\n            onClick: function onClick(e) {\n              e.stopPropagation();\n              e.nativeEvent.stopImmediatePropagation();\n\n              _invoke(predefinedProps, 'onClick', e, predefinedProps);\n            }\n          }), !multiple && {\n            'aria-selected': selected\n          })\n        };\n      };\n    };\n\n    var handleSelectedItemOverrides = function handleSelectedItemOverrides(item) {\n      return function (predefinedProps) {\n        return {\n          onRemove: function onRemove(e, dropdownSelectedItemProps) {\n            handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps);\n          },\n          onClick: function onClick(e, dropdownSelectedItemProps) {\n            setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n              activeSelectedIndex: value.indexOf(item)\n            });\n            e.stopPropagation();\n\n            _invoke(predefinedProps, 'onClick', e, dropdownSelectedItemProps);\n          },\n          onKeyDown: function onKeyDown(e, dropdownSelectedItemProps) {\n            handleSelectedItemKeyDown(e, item, predefinedProps, dropdownSelectedItemProps);\n          }\n        };\n      };\n    };\n\n    var handleSearchInputOverrides = function handleSearchInputOverrides(highlightedIndex, selectItemAtIndex, toggleMenu, accessibilityComboboxProps, getInputProps) {\n      return function (predefinedProps) {\n        var handleInputBlur = function handleInputBlur(e, searchInputProps) {\n          if (!disabled) {\n            setFocused(false);\n            setIsFromKeyboard(detectIsFromKeyboard());\n            e.nativeEvent['preventDownshiftDefault'] = true;\n          }\n\n          _invoke(predefinedProps, 'onInputBlur', e, searchInputProps);\n        };\n\n        var handleInputKeyDown = function handleInputKeyDown(e, searchInputProps) {\n          if (!disabled) {\n            switch (getCode(e)) {\n              // https://github.com/downshift-js/downshift/issues/1097\n              // Downshift skips Home/End if Deopdown is opened\n              case keyboardKey.Home:\n                e.nativeEvent['preventDownshiftDefault'] = filteredItems.length === 0;\n                break;\n\n              case keyboardKey.End:\n                e.nativeEvent['preventDownshiftDefault'] = filteredItems.length === 0;\n                break;\n\n              case keyboardKey.Tab:\n                e.stopPropagation();\n                handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu);\n                break;\n\n              case keyboardKey.ArrowLeft:\n                e.stopPropagation();\n\n                if (!context.rtl) {\n                  trySetLastSelectedItemAsActive();\n                }\n\n                break;\n\n              case keyboardKey.ArrowRight:\n                e.stopPropagation();\n\n                if (context.rtl) {\n                  trySetLastSelectedItemAsActive();\n                }\n\n                break;\n\n              case keyboardKey.Backspace:\n                e.stopPropagation();\n                tryRemoveItemFromValue();\n                break;\n\n              case keyboardKey.Escape:\n                // If dropdown list is open ESC should close it and not propagate to the parent\n                // otherwise event should propagate\n                if (open) {\n                  e.stopPropagation();\n                }\n\n              default:\n                break;\n            }\n          }\n\n          _invoke(predefinedProps, 'onInputKeyDown', e, Object.assign({}, searchInputProps, {\n            highlightedIndex: highlightedIndex,\n            selectItemAtIndex: selectItemAtIndex\n          }));\n        };\n\n        return {\n          // getInputProps adds Downshift handlers. We also add our own by passing them as params to that function.\n          // user handlers were also added to our handlers previously, at the beginning of this function.\n          accessibilityInputProps: Object.assign({}, getInputProps({\n            disabled: disabled,\n            onBlur: function onBlur(e) {\n              handleInputBlur(e, predefinedProps);\n            },\n            onKeyDown: function onKeyDown(e) {\n              handleInputKeyDown(e, predefinedProps);\n            },\n            onChange: function onChange(e) {\n              // we prevent the onChange input event to bubble up to our Dropdown handler,\n              // since in Dropdown it gets handled as onSearchQueryChange.\n              e.stopPropagation(); // A state modification should be triggered there otherwise it will go to an another frame and will break\n              // cursor position:\n              // https://github.com/facebook/react/issues/955#issuecomment-469352730\n\n              setSearchQuery(e.target.value);\n            }\n          })),\n          // same story as above for getRootProps.\n          accessibilityComboboxProps: accessibilityComboboxProps,\n          inputRef: function inputRef(node) {\n            handleRef(predefinedProps.inputRef, node);\n            _inputRef.current = node;\n          },\n          onFocus: function onFocus(e, searchInputProps) {\n            if (!disabled) {\n              setFocused(true);\n              setIsFromKeyboard(detectIsFromKeyboard());\n            }\n\n            _invoke(predefinedProps, 'onFocus', e, searchInputProps);\n          },\n          onInputBlur: function onInputBlur(e, searchInputProps) {\n            handleInputBlur(e, searchInputProps);\n          },\n          onInputKeyDown: function onInputKeyDown(e, searchInputProps) {\n            handleInputKeyDown(e, searchInputProps);\n          }\n        };\n      };\n    };\n    /**\n     * Custom Tab selection logic, at least until Downshift will implement selection on blur.\n     * Also keeps focus on multiple selection dropdown when selecting by Tab.\n     */\n\n\n    var handleTabSelection = function handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu) {\n      if (open) {\n        if (!_isNil(highlightedIndex) && filteredItems.length && !items[highlightedIndex]['disabled']) {\n          selectItemAtIndex(highlightedIndex);\n\n          if (multiple && !moveFocusOnTab) {\n            e.preventDefault();\n          }\n        } else {\n          toggleMenu();\n        }\n      }\n    };\n\n    var trySetLastSelectedItemAsActive = function trySetLastSelectedItemAsActive() {\n      if (!multiple || _inputRef.current && _inputRef.current.selectionStart !== 0) {\n        return;\n      }\n\n      if (value.length > 0) {\n        // If last element was already active, perform a 'reset' of activeSelectedIndex.\n        if (activeSelectedIndex === value.length - 1) {\n          setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n            activeSelectedIndex: value.length - 1\n          });\n        } else {\n          setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n            activeSelectedIndex: value.length - 1\n          });\n        }\n      }\n    };\n\n    var tryRemoveItemFromValue = function tryRemoveItemFromValue() {\n      if (multiple && (searchQuery === '' || _inputRef.current.selectionStart === 0 && _inputRef.current.selectionEnd === 0) && value.length > 0) {\n        removeItemFromValue();\n      }\n    };\n\n    var handleClear = function handleClear(e) {\n      setStateAndInvokeHandler(['onChange', 'onActiveSelectedIndexChange', 'onHighlightedIndexChange'], e, {\n        activeSelectedIndex: multiple ? null : undefined,\n        highlightedIndex: highlightFirstItemOnOpen ? 0 : null,\n        open: false,\n        searchQuery: search ? '' : undefined,\n        value: []\n      });\n      tryFocusSearchInput();\n      tryFocusTriggerButton();\n    };\n\n    var handleContainerClick = function handleContainerClick() {\n      tryFocusSearchInput();\n    };\n\n    var handleTriggerButtonKeyDown = function handleTriggerButtonKeyDown(e) {\n      switch (getCode(e)) {\n        case keyboardKey.ArrowLeft:\n          if (!context.rtl) {\n            trySetLastSelectedItemAsActive();\n          }\n\n          return;\n\n        case keyboardKey.ArrowRight:\n          if (context.rtl) {\n            trySetLastSelectedItemAsActive();\n          }\n\n          return;\n\n        default:\n          return;\n      }\n    };\n\n    var handleListKeyDown = function handleListKeyDown(e, highlightedIndex, accessibilityInputPropsKeyDown, toggleMenu, selectItemAtIndex) {\n      var keyCode = getCode(e);\n\n      switch (keyCode) {\n        case keyboardKey.Tab:\n          handleTabSelection(e, highlightedIndex, selectItemAtIndex, toggleMenu);\n          return;\n\n        case keyboardKey.Escape:\n          accessibilityInputPropsKeyDown(e);\n          tryFocusTriggerButton();\n          e.stopPropagation();\n          return;\n\n        default:\n          var keyString = String.fromCharCode(keyCode);\n\n          if (/[a-zA-Z0-9]/.test(keyString)) {\n            setHighlightedIndexOnCharKeyDown(keyString);\n          }\n\n          accessibilityInputPropsKeyDown(e);\n          return;\n      }\n    };\n\n    var handleSelectedItemKeyDown = function handleSelectedItemKeyDown(e, item, predefinedProps, dropdownSelectedItemProps) {\n      var previousKey = context.rtl ? keyboardKey.ArrowRight : keyboardKey.ArrowLeft;\n      var nextKey = context.rtl ? keyboardKey.ArrowLeft : keyboardKey.ArrowRight;\n\n      switch (getCode(e)) {\n        case keyboardKey.Delete:\n        case keyboardKey.Backspace:\n          handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps);\n          break;\n\n        case previousKey:\n          if (value.length > 0 && !_isNil(activeSelectedIndex) && activeSelectedIndex > 0) {\n            setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n              activeSelectedIndex: activeSelectedIndex - 1\n            });\n          }\n\n          break;\n\n        case nextKey:\n          if (value.length > 0 && !_isNil(activeSelectedIndex)) {\n            if (activeSelectedIndex < value.length - 1) {\n              setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n                activeSelectedIndex: activeSelectedIndex + 1\n              });\n            } else {\n              setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n                activeSelectedIndex: null\n              });\n\n              if (search) {\n                e.preventDefault(); // prevents caret to forward one position in input.\n\n                _inputRef.current.focus();\n              } else {\n                buttonRef.current.focus();\n              }\n            }\n          }\n\n          break;\n\n        default:\n          break;\n      }\n\n      _invoke(predefinedProps, 'onKeyDown', e, dropdownSelectedItemProps);\n    };\n\n    var handleTriggerButtonOrListFocus = function handleTriggerButtonOrListFocus() {\n      setFocused(true);\n      setIsFromKeyboard(detectIsFromKeyboard());\n    };\n\n    var handleTriggerButtonBlur = function handleTriggerButtonBlur(e) {\n      if (listRef.current !== e.relatedTarget) {\n        setFocused(false);\n        setIsFromKeyboard(detectIsFromKeyboard());\n      }\n    };\n\n    var handleListBlur = function handleListBlur(e) {\n      if (buttonRef.current !== e.relatedTarget) {\n        setFocused(false);\n        setIsFromKeyboard(detectIsFromKeyboard());\n      }\n    };\n    /**\n     * Sets highlightedIndex to be the item that starts with the character keys the\n     * user has typed. Only used in non-search dropdowns.\n     *\n     * @param keystring - The string the item needs to start with. It is composed by typing keys in fast succession.\n     */\n\n\n    var setHighlightedIndexOnCharKeyDown = function setHighlightedIndexOnCharKeyDown(keyString) {\n      var newStartingString = \"\" + startingString + keyString.toLowerCase();\n      var newHighlightedIndex = -1;\n      setStartingString(newStartingString);\n      clearStartingString();\n\n      if (_isNumber(highlightedIndex)) {\n        newHighlightedIndex = _findIndex(filteredItemStrings, function (item) {\n          return item.startsWith(newStartingString);\n        }, highlightedIndex + (startingString.length > 0 ? 0 : 1));\n      }\n\n      if (newHighlightedIndex < 0) {\n        newHighlightedIndex = _findIndex(filteredItemStrings, function (item) {\n          return item.startsWith(newStartingString);\n        });\n      }\n\n      if (newHighlightedIndex >= 0) {\n        setStateAndInvokeHandler(['onHighlightedIndexChange'], null, {\n          highlightedIndex: newHighlightedIndex\n        });\n      }\n    };\n\n    var handleSelectedItemRemove = function handleSelectedItemRemove(e, item, predefinedProps, dropdownSelectedItemProps) {\n      setStateAndInvokeHandler(['onActiveSelectedIndexChange'], null, {\n        activeSelectedIndex: null\n      });\n      removeItemFromValue(item);\n      tryFocusSearchInput();\n      tryFocusTriggerButton();\n\n      _invoke(predefinedProps, 'onRemove', e, dropdownSelectedItemProps);\n    };\n\n    var removeItemFromValue = function removeItemFromValue(item) {\n      var poppedItem = item;\n      var newValue = [].concat(value);\n\n      if (poppedItem) {\n        newValue = newValue.filter(function (currentElement) {\n          return currentElement !== item;\n        });\n      } else {\n        poppedItem = newValue.pop();\n      }\n\n      if (getA11ySelectionMessage && getA11ySelectionMessage.onRemove) {\n        setA11ySelectionMessage(getA11ySelectionMessage.onRemove(poppedItem));\n      }\n\n      setStateAndInvokeHandler(['onChange'], null, {\n        value: newValue\n      });\n    };\n    /**\n     * Calls setState and invokes event handler exposed to user.\n     * We don't have the event object for most events coming from Downshift se we send an empty event\n     * because we want to keep the event handling interface\n     */\n\n\n    var setStateAndInvokeHandler = function setStateAndInvokeHandler(handlerNames, event, newState) {\n      var proposedValue = _isNil(newState.value) ? value : newState.value; // `proposedValue` should be normalized for single/multiple variations, `null` condition is\n      // required as first item can be undefined\n\n      var newValue = multiple ? proposedValue : proposedValue[0] || null;\n\n      if (newState.hasOwnProperty('activeSelectedIndex')) {\n        setActiveSelectedIndex(newState.activeSelectedIndex);\n      }\n\n      if (newState.hasOwnProperty('highlightedIndex')) {\n        setHighlightedIndex(newState.highlightedIndex);\n      }\n\n      if (newState.hasOwnProperty('itemIsFromKeyboard')) {\n        setItemIsFromKeyboard(newState.itemIsFromKeyboard);\n      }\n\n      if (newState.hasOwnProperty('open')) {\n        setOpen(newState.open);\n      }\n\n      if (newState.hasOwnProperty('searchQuery')) {\n        setSearchQuery(newState.searchQuery);\n      }\n\n      if (newState.hasOwnProperty('value')) {\n        setValue(newState.value);\n      }\n\n      handlerNames.forEach(function (handlerName) {\n        _invoke(props, handlerName, event, Object.assign({}, props, newState, {\n          value: newValue\n        }));\n      });\n    };\n\n    var tryFocusTriggerButton = function tryFocusTriggerButton() {\n      if (!search && buttonRef.current) {\n        buttonRef.current.focus();\n      }\n    };\n\n    var tryFocusSearchInput = function tryFocusSearchInput() {\n      if (search && _inputRef.current) {\n        _inputRef.current.focus();\n      }\n    };\n    /**\n     * If there is no value we use the placeholder value\n     * otherwise, for single selection we convert the value with itemToString\n     * and for multiple selection we return empty string, the values are rendered by renderSelectedItems\n     */\n\n\n    var getSelectedItemAsString = function getSelectedItemAsString(value) {\n      if (!value) {\n        return search ? '' : placeholder;\n      }\n\n      if (multiple) {\n        return '';\n      }\n\n      return itemToString(value);\n    };\n\n    var getHighlightedIndexOnArrowKeyOpen = function getHighlightedIndexOnArrowKeyOpen(changes) {\n      var isArrowUp = changes.type === Downshift.stateChangeTypes.keyDownArrowUp;\n      var isArrowDown = changes.type === Downshift.stateChangeTypes.keyDownArrowDown;\n      var itemsLength = filteredItems.length;\n\n      if (highlightedIndex) {\n        return highlightedIndex;\n      }\n\n      if (highlightFirstItemOnOpen) {\n        // otherwise, if highlightFirstItemOnOpen prop is provied, highlight first item.\n        return 0;\n      }\n\n      if (!multiple && !search && value.length > 0) {\n        // in single selection, if there is a selected item, highlight it.\n        var _offset = isArrowUp ? -1 : isArrowDown ? 1 : 0;\n\n        var newHighlightedIndex = items.indexOf(value[0]) + _offset;\n\n        if (newHighlightedIndex >= itemsLength) {\n          return 0;\n        }\n\n        if (newHighlightedIndex < 0) {\n          return itemsLength - 1;\n        }\n\n        return newHighlightedIndex;\n      }\n\n      if (isArrowDown) {\n        return 0;\n      }\n\n      if (isArrowUp) {\n        return itemsLength - 1;\n      }\n\n      return null;\n    };\n    /**\n     * Function that sets and cleans the selection message after it has been set,\n     * so it is not read anymore via virtual cursor.\n     */\n\n\n    var setA11ySelectionMessage = function setA11ySelectionMessage(a11ySelectionStatus) {\n      setA11ySelectionStatus(a11ySelectionStatus);\n      clearA11ySelectionMessage();\n    };\n\n    React.useEffect(function () {\n      return function () {\n        clearStartingString.cancel();\n        clearA11ySelectionMessage.cancel();\n      };\n    }, [clearA11ySelectionMessage, clearStartingString]);\n    var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n      className: classes.root,\n      onBlur: handleOnBlur,\n      onChange: handleChange\n    }, unhandledProps, process.env.NODE_ENV === 'test' && {\n      'data-test-focused': focused\n    }), /*#__PURE__*/React.createElement(Downshift, {\n      isOpen: open,\n      inputValue: search ? searchQuery : null,\n      stateReducer: downshiftStateReducer,\n      itemToString: itemToString // downshift does not work with arrays as selectedItem.\n      ,\n      selectedItem: multiple || !value.length ? null : value[0],\n      scrollIntoView: function scrollIntoView(node, menu) {\n        if (node) {\n          var children = menu.children;\n          var nodeToScroll = node;\n          /**\n           * If it's loading downshift doesn't take the last node with loadingMessage\n           * in consideration to scrolld so we need to check if the current is the\n           * antepenultimate and is so scroll the loading into view, same for headerMessage\n           */\n\n          if (loading && children[children.length - 2] === node) {\n            nodeToScroll = children[children.length - 1];\n          } else if (headerMessage && children[1] === node) {\n            nodeToScroll = children[0];\n          } // Replicating same config that Downshift uses\n\n\n          var actions = computeScrollIntoView(nodeToScroll, {\n            boundary: menu,\n            // Explicitly set boundary to avoid unnecessary scrolling by checking all parent elements\n            scrollMode: 'if-needed',\n            block: 'nearest',\n            inline: 'nearest'\n          });\n          actions.forEach(function (_ref) {\n            var el = _ref.el,\n                top = _ref.top,\n                left = _ref.left;\n            el.scrollTop = top;\n            el.scrollLeft = left;\n          });\n        }\n      },\n      getA11yStatusMessage: getA11yStatusMessage,\n      highlightedIndex: highlightedIndex,\n      onStateChange: handleStateChange,\n      labelId: ariaLabelledby,\n      environment: (_context$target = context.target) == null ? void 0 : _context$target.defaultView,\n      inputId: searchInput && searchInput['id'] ? searchInput['id'] : undefined\n    }, function (_ref2) {\n      var getInputProps = _ref2.getInputProps,\n          getItemProps = _ref2.getItemProps,\n          getMenuProps = _ref2.getMenuProps,\n          getRootProps = _ref2.getRootProps,\n          getToggleButtonProps = _ref2.getToggleButtonProps,\n          toggleMenu = _ref2.toggleMenu,\n          highlightedIndex = _ref2.highlightedIndex,\n          selectItemAtIndex = _ref2.selectItemAtIndex;\n\n      var _getRootProps = getRootProps({\n        refKey: 'innerRef'\n      }, {\n        suppressRefError: true\n      }),\n          innerRef = _getRootProps.innerRef,\n          accessibilityRootPropsRest = _objectWithoutPropertiesLoose(_getRootProps, [\"innerRef\"]);\n\n      var showClearIndicator = clearable && value.length > 0;\n      return /*#__PURE__*/React.createElement(Ref, {\n        innerRef: innerRef\n      }, /*#__PURE__*/React.createElement(\"div\", {\n        ref: containerRef,\n        className: cx(dropdownSlotClassNames.container, classes.container),\n        onClick: search && !open ? handleContainerClick : undefined\n      }, /*#__PURE__*/React.createElement(\"div\", {\n        ref: selectedItemsRef,\n        className: cx(dropdownSlotClassNames.selectedItems, classes.selectedItems)\n      }, !search && renderTriggerButton(getToggleButtonProps), multiple && renderSelectedItems(), search && renderSearchInput(accessibilityRootPropsRest, highlightedIndex, getInputProps, selectItemAtIndex, toggleMenu, variables)), showClearIndicator ? Box.create(clearIndicator, {\n        defaultProps: function defaultProps() {\n          return Object.assign({\n            className: dropdownSlotClassNames.clearIndicator,\n            styles: resolvedStyles.clearIndicator,\n            accessibility: indicatorBehavior\n          }, !search && {\n            tabIndex: 0,\n            role: 'button'\n          });\n        },\n        overrideProps: function overrideProps(predefinedProps) {\n          return {\n            onClick: function onClick(e) {\n              _invoke(predefinedProps, 'onClick', e);\n\n              handleClear(e);\n            }\n          };\n        }\n      }) : Box.create(toggleIndicator, {\n        defaultProps: function defaultProps() {\n          return {\n            className: dropdownSlotClassNames.toggleIndicator,\n            styles: resolvedStyles.toggleIndicator,\n            accessibility: indicatorBehavior\n          };\n        },\n        overrideProps: function overrideProps(predefinedProps) {\n          return {\n            onClick: function onClick(e) {\n              if (!disabled) {\n                getToggleButtonProps({\n                  disabled: disabled\n                }).onClick(e);\n              }\n\n              _invoke(predefinedProps, 'onClick', e);\n            }\n          };\n        }\n      }), renderItemsList(highlightedIndex, toggleMenu, selectItemAtIndex, getMenuProps, getItemProps, getInputProps)));\n    }), /*#__PURE__*/React.createElement(Portal, {\n      open: !!getA11ySelectionMessage\n    }, /*#__PURE__*/React.createElement(\"div\", {\n      role: \"status\",\n      \"aria-live\": \"polite\",\n      \"aria-relevant\": \"additions text\",\n      style: screenReaderContainerStyles\n    }, a11ySelectionStatus)));\n    setEnd();\n    return element;\n  };\n\n  Dropdown.displayName = 'Dropdown';\n  Dropdown.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    accessibility: false,\n    children: false,\n    content: false\n  }), {\n    activeSelectedIndex: PropTypes.number,\n    align: PropTypes.oneOf(ALIGNMENTS),\n    checkable: PropTypes.bool,\n    checkableIndicator: customPropTypes.shorthandAllowingChildren,\n    clearable: PropTypes.bool,\n    clearIndicator: customPropTypes.shorthandAllowingChildren,\n    defaultActiveSelectedIndex: PropTypes.number,\n    defaultOpen: PropTypes.bool,\n    defaultHighlightedIndex: PropTypes.number,\n    defaultSearchQuery: PropTypes.string,\n    defaultValue: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n    disabled: PropTypes.bool,\n    error: PropTypes.bool,\n    fluid: PropTypes.bool,\n    getA11ySelectionMessage: PropTypes.object,\n    getA11yStatusMessage: PropTypes.func,\n    highlightFirstItemOnOpen: PropTypes.bool,\n    highlightedIndex: PropTypes.number,\n    inline: PropTypes.bool,\n    inverted: PropTypes.bool,\n    items: customPropTypes.collectionShorthand,\n    itemToString: PropTypes.func,\n    itemToValue: PropTypes.func,\n    headerMessage: customPropTypes.itemShorthand,\n    list: customPropTypes.itemShorthand,\n    loading: PropTypes.bool,\n    loadingMessage: customPropTypes.itemShorthand,\n    moveFocusOnTab: PropTypes.bool,\n    multiple: PropTypes.bool,\n    noResultsMessage: customPropTypes.itemShorthand,\n    offset: PropTypes.oneOfType([PropTypes.func, PropTypes.arrayOf(PropTypes.number)]),\n    onOpenChange: PropTypes.func,\n    onSearchQueryChange: PropTypes.func,\n    onBlur: PropTypes.func,\n    onChange: PropTypes.func,\n    onActiveSelectedIndexChange: PropTypes.func,\n    onHighlightedIndexChange: PropTypes.func,\n    open: PropTypes.bool,\n    placeholder: PropTypes.string,\n    position: PropTypes.oneOf(POSITIONS),\n    renderItem: PropTypes.func,\n    renderSelectedItem: PropTypes.func,\n    search: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    searchQuery: PropTypes.string,\n    searchInput: customPropTypes.itemShorthand,\n    toggleIndicator: customPropTypes.shorthandAllowingChildren,\n    triggerButton: customPropTypes.itemShorthand,\n    unstable_disableTether: PropTypes.oneOf([true, false, 'all']),\n    unstable_pinned: PropTypes.bool,\n    autoSize: PropTypes.oneOf(AUTOSIZES),\n    value: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n    'aria-labelledby': PropTypes.string,\n    'aria-invalid': PropTypes.bool,\n    a11ySelectedItemsMessage: PropTypes.string\n  });\n  Dropdown.handledProps = Object.keys(Dropdown.propTypes);\n  Dropdown.defaultProps = {\n    align: 'start',\n    clearIndicator: /*#__PURE__*/React.createElement(CloseIcon, {\n      outline: true\n    }),\n    itemToString: function itemToString(item) {\n      if (!item || /*#__PURE__*/React.isValidElement(item)) {\n        return '';\n      } // targets DropdownItem shorthand objects\n\n\n      return item.header || String(item);\n    },\n    itemToValue: function itemToValue(item) {\n      if (!item || /*#__PURE__*/React.isValidElement(item)) {\n        return '';\n      } // targets DropdownItem shorthand objects\n\n\n      return item.header || String(item);\n    },\n    list: {},\n    position: 'below',\n    toggleIndicator: /*#__PURE__*/React.createElement(ChevronDownIcon, {\n      outline: true\n    }),\n    triggerButton: {}\n  };\n  Dropdown.Item = DropdownItem;\n  Dropdown.SearchInput = DropdownSearchInput;\n  Dropdown.SelectedItem = DropdownSelectedItem;\n  return Dropdown;\n}();\n//# sourceMappingURL=Dropdown.js.map\n","import { SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n/**\n * @specification\n * Adds role='checkbox'. This allows screen readers to handle the component as a checkbox button.\n * Adds attribute 'aria-checked=true' based on the property 'checked'.\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'.\n * Adds attribute 'tabIndex=0' to 'root' slot.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n */\n\nexport var checkboxBehavior = function checkboxBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {\n        'aria-checked': props.checked === 'mixed' ? 'mixed' : !!props.checked,\n        'aria-disabled': props.disabled,\n        role: 'checkbox',\n        tabIndex: 0\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root)\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=checkboxBehavior.js.map\n","import { createManager } from '../createManager';\nexport var createCheckboxManager = function createCheckboxManager(config) {\n  if (config === void 0) {\n    config = {};\n  }\n\n  return createManager(Object.assign({}, config, {\n    state: Object.assign({\n      checked: false\n    }, config.state),\n    actions: Object.assign({\n      toggle: function toggle(checked) {\n        return function () {\n          return {\n            checked: checked\n          };\n        };\n      }\n    }, config.actions)\n  }));\n};\n//# sourceMappingURL=checkboxManager.js.map\n","import _invoke from \"lodash/invoke\";\nimport { checkboxBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStateManager, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createCheckboxManager } from '@fluentui/state';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Text } from '../Text/Text';\nexport var checkboxClassName = 'ui-checkbox';\nexport var checkboxSlotClassNames = {\n  label: checkboxClassName + \"__label\",\n  indicator: checkboxClassName + \"__indicator\"\n};\n/**\n * A Checkbox allows a user to make a choice between two mutually exclusive options.\n *\n * @accessibility\n * Implements [ARIA Checkbox](https://www.w3.org/TR/wai-aria-practices-1.1/#checkbox) design pattern.\n */\n\nexport var Checkbox = /*#__PURE__*/function () {\n  var Checkbox = function Checkbox(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Checkbox.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var checked = props.checked,\n        className = props.className,\n        defaultChecked = props.defaultChecked,\n        design = props.design,\n        disabled = props.disabled,\n        label = props.label,\n        labelPosition = props.labelPosition,\n        indicator = props.indicator,\n        styles = props.styles,\n        toggle = props.toggle,\n        variables = props.variables;\n\n    var _useStateManager = useStateManager(createCheckboxManager, {\n      mapPropsToInitialState: function mapPropsToInitialState() {\n        return {\n          checked: defaultChecked\n        };\n      },\n      mapPropsToState: function mapPropsToState() {\n        return {\n          checked: checked === 'mixed' ? false : checked\n        };\n      }\n    }),\n        state = _useStateManager.state,\n        actions = _useStateManager.actions;\n\n    var getA11Props = useAccessibility(props.accessibility, {\n      debugName: Checkbox.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          checked: state.checked,\n          disabled: disabled\n        };\n      },\n      actionHandlers: {\n        performClick: function performClick(e) {\n          e.preventDefault();\n          handleClick(e);\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Checkbox.displayName, {\n      className: checkboxClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          checked: checked === 'mixed' ? 'mixed' : state.checked,\n          disabled: disabled,\n          labelPosition: labelPosition,\n          toggle: toggle\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Checkbox.handledProps, props);\n\n    var handleChange = function handleChange(e) {\n      if (!disabled) {\n        // Checkbox component doesn't present any `input` component in markup, however all of our\n        // components should handle events transparently.\n        var _checked = !state.checked;\n\n        actions.toggle(_checked);\n\n        _invoke(props, 'onChange', e, Object.assign({}, props, {\n          checked: _checked\n        }));\n      }\n    };\n\n    var handleClick = function handleClick(e) {\n      if (!disabled) {\n        var _checked2 = !state.checked;\n\n        actions.toggle(_checked2);\n\n        _invoke(props, 'onClick', e, Object.assign({}, props, {\n          checked: _checked2\n        }));\n\n        _invoke(props, 'onChange', e, Object.assign({}, props, {\n          checked: _checked2\n        }));\n      }\n    };\n\n    var labelElement = Text.create(label, {\n      defaultProps: function defaultProps() {\n        return getA11Props('label', {\n          styles: resolvedStyles.label,\n          className: checkboxSlotClassNames.label\n        });\n      }\n    });\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick,\n      onChange: handleChange\n    }, unhandledProps)), labelPosition === 'start' && labelElement, Box.create(indicator, {\n      defaultProps: function defaultProps() {\n        return getA11Props('indicator', {\n          className: checkboxSlotClassNames.indicator,\n          styles: toggle ? resolvedStyles.toggle : resolvedStyles.checkbox\n        });\n      }\n    }), labelPosition === 'end' && labelElement);\n    setEnd();\n    return element;\n  };\n\n  Checkbox.displayName = 'Checkbox';\n  Checkbox.defaultProps = {\n    accessibility: checkboxBehavior,\n    indicator: {},\n    labelPosition: 'end'\n  };\n  Checkbox.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    checked: PropTypes.oneOf([true, false, 'mixed']),\n    defaultChecked: PropTypes.bool,\n    disabled: PropTypes.bool,\n    indicator: customPropTypes.shorthandAllowingChildren,\n    label: customPropTypes.itemShorthand,\n    labelPosition: PropTypes.oneOf(['start', 'end']),\n    onChange: PropTypes.func,\n    onClick: PropTypes.func,\n    toggle: PropTypes.bool\n  });\n  Checkbox.handledProps = Object.keys(Checkbox.propTypes);\n  Checkbox.create = createShorthandFactory({\n    Component: Checkbox,\n    mappedProp: 'label'\n  });\n  return Checkbox;\n}();\n//# sourceMappingURL=Checkbox.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash/map\";\nimport _isNil from \"lodash/isNil\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { Reaction } from './Reaction';\nimport { getElementType, useUnhandledProps, useFluentContext, useAccessibility, useTelemetry, useStyles } from '@fluentui/react-bindings';\nexport var reactionGroupClassName = 'ui-reactions';\n\n/**\n * A ReactionGroup groups multiple Reaction elements.\n */\nexport var ReactionGroup = /*#__PURE__*/function () {\n  var ReactionGroup = function ReactionGroup(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(ReactionGroup.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        items = props.items,\n        content = props.content,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(ReactionGroup.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: ReactionGroup.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(ReactionGroup.displayName, {\n      className: reactionGroupClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var element = _isNil(items) ? /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    })), childrenExist(children) ? children : content) : /*#__PURE__*/React.createElement(ElementType, _extends({}, unhandledProps, {\n      className: classes.root\n    }), _map(items, function (reaction) {\n      return Reaction.create(reaction, {\n        defaultProps: function defaultProps() {\n          return {\n            styles: resolvedStyles.reaction\n          };\n        }\n      });\n    }));\n    setEnd();\n    return element;\n  };\n\n  ReactionGroup.displayName = 'ReactionGroup';\n  ReactionGroup.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    items: customPropTypes.collectionShorthand\n  });\n  ReactionGroup.handledProps = Object.keys(ReactionGroup.propTypes);\n  ReactionGroup.create = createShorthandFactory({\n    Component: ReactionGroup,\n    mappedProp: 'content',\n    mappedArrayProp: 'items'\n  });\n  return ReactionGroup;\n}();\n//# sourceMappingURL=ReactionGroup.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { ReactionGroup } from './ReactionGroup';\nimport { useTelemetry, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var reactionClassName = 'ui-reaction';\nexport var reactionSlotClassNames = {\n  icon: reactionClassName + \"__icon\",\n  content: reactionClassName + \"__content\"\n};\n/**\n * A Reaction indicates user's emotion or perception.\n * Used to display user's reaction for entity in Chat (e.g. message).\n */\n\nexport var Reaction = /*#__PURE__*/function () {\n  var Reaction = function Reaction(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Reaction.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        icon = props.icon,\n        content = props.content,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Reaction.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: Reaction.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Reaction.displayName, {\n      className: reactionClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          hasContent: !!content\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), rtlTextContainer.getAttributes({\n      forElements: [children]\n    })), childrenExist(children) ? children : /*#__PURE__*/React.createElement(React.Fragment, null, Box.create(icon, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('icon', {\n          className: reactionSlotClassNames.icon,\n          styles: resolvedStyles.icon\n        });\n      }\n    }), Box.create(content, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('content', {\n          className: reactionSlotClassNames.content,\n          styles: resolvedStyles.content\n        });\n      }\n    })));\n    setEnd();\n    return element;\n  };\n\n  Reaction.displayName = 'Reaction';\n  Reaction.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: 'shorthand'\n  }), {\n    icon: customPropTypes.shorthandAllowingChildren\n  });\n  Reaction.defaultProps = {\n    as: 'span'\n  };\n  Reaction.handledProps = Object.keys(Reaction.propTypes);\n  Reaction.Group = ReactionGroup;\n  Reaction.create = createShorthandFactory({\n    Component: Reaction,\n    mappedProp: 'content'\n  });\n  return Reaction;\n}();\n//# sourceMappingURL=Reaction.js.map\n","var baseDifference = require('./_baseDifference'),\n    baseRest = require('./_baseRest'),\n    isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n  return isArrayLikeObject(array)\n    ? baseDifference(array, values)\n    : [];\n});\n\nmodule.exports = without;\n","import _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport { tableRowBehavior } from '@fluentui/accessibility';\nimport { getElementType, mergeVariablesOverrides, useAccessibility, useStyles, useTelemetry, useUnhandledProps, useFluentContext } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, createShorthandFactory } from '../../utils';\nimport { TableCell } from './TableCell';\nexport var tableRowClassName = 'ui-table__row';\n\n/**\n * Component represents a single row in a tabular structure\n */\nexport var TableRow = /*#__PURE__*/function () {\n  var TableRow = function TableRow(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(TableRow.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var rowRef = React.useRef();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        items = props.items,\n        header = props.header,\n        compact = props.compact,\n        children = props.children,\n        accessibility = props.accessibility,\n        variables = props.variables,\n        selected = props.selected;\n    var hasChildren = childrenExist(children);\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(TableRow.handledProps, props);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: TableRow.displayName,\n      actionHandlers: {\n        // https://github.com/microsoft/fluent-ui-react/issues/2150\n        unsetRowTabbable: function unsetRowTabbable(e) {\n          rowRef.current.setAttribute('tabindex', '-1');\n        },\n        performClick: function performClick(e) {\n          if (e.currentTarget === e.target) {\n            _invoke(props, 'onClick', e, props);\n\n            e.preventDefault();\n          }\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          selected: selected,\n          header: header\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(TableRow.displayName, {\n      className: tableRowClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          header: header,\n          compact: compact\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var renderCells = function renderCells() {\n      return _map(items, function (item) {\n        return TableCell.create(item, {\n          defaultProps: function defaultProps() {\n            return getA11yProps('cell', {});\n          },\n          overrideProps: function overrideProps(predefinedProps) {\n            return {\n              variables: mergeVariablesOverrides(variables, predefinedProps.variables)\n            };\n          }\n        });\n      });\n    };\n\n    var element = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: rowRef\n    }, getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), hasChildren && children, !hasChildren && renderCells())));\n    setEnd();\n    return element;\n  };\n\n  TableRow.displayName = 'TableRow';\n  TableRow.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    items: customPropTypes.collectionShorthand,\n    header: PropTypes.bool,\n    compact: PropTypes.bool,\n    selected: PropTypes.bool\n  });\n  TableRow.handledProps = Object.keys(TableRow.propTypes);\n  TableRow.defaultProps = {\n    accessibility: tableRowBehavior\n  };\n  TableRow.create = createShorthandFactory({\n    Component: TableRow,\n    mappedArrayProp: 'items'\n  });\n  return TableRow;\n}();\n//# sourceMappingURL=TableRow.js.map\n","export var Telemetry = /*#__PURE__*/function () {\n  function Telemetry() {\n    this.performance = void 0;\n    this.enabled = void 0;\n    this.performance = {};\n    this.enabled = true;\n  }\n\n  var _proto = Telemetry.prototype;\n\n  _proto.reset = function reset() {\n    this.performance = {};\n  };\n\n  return Telemetry;\n}();\n//# sourceMappingURL=types.js.map\n","import arrayReduce from 'fast-loops/lib/arrayReduce';\n\nexport default function processStyleWithPlugins(renderer, style, type) {\n  var props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  if (renderer.plugins.length > 0) {\n    return arrayReduce(renderer.plugins, function (processedStyle, plugin) {\n      return plugin(processedStyle, type, renderer, props);\n    }, style);\n  }\n\n  return style;\n}","export var RULE_TYPE = 'RULE';\nexport var KEYFRAME_TYPE = 'KEYFRAME';\nexport var FONT_TYPE = 'FONT';\nexport var STATIC_TYPE = 'STATIC';\nexport var CLEAR_TYPE = 'CLEAR';","var regex = /^(:|\\[|>|&)/;\n\nexport default function isNestedSelector(property) {\n  return regex.test(property);\n}","export default function normalizeNestedProperty(nestedProperty) {\n  if (nestedProperty.charAt(0) === '&') {\n    return nestedProperty.slice(1);\n  }\n\n  return nestedProperty;\n}","export default function isMediaQuery(property) {\n  return property.substr(0, 6) === '@media';\n}","export default function generateCombinedMediaQuery(currentMediaQuery, nestedMediaQuery) {\n  if (currentMediaQuery.length === 0) {\n    return nestedMediaQuery;\n  }\n\n  return currentMediaQuery + \" and \" + nestedMediaQuery;\n}","export default function isSupport(property) {\n  return property.substr(0, 9) === '@supports';\n}","import camelCaseProperty from 'css-in-js-utils/lib/camelCaseProperty';\n\nexport default function generateDeclarationReference(property, value) {\n  var pseudo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n  var media = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n  var support = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n\n  return support + media + pseudo + camelCaseProperty(property) + value;\n}","export default function isUndefinedValue(value) {\n  return value === undefined || value === null || typeof value === 'string' && value.match(/(undefined|null)/) !== null;\n}","export default function generateCSSSelector(className) {\n  var pseudo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n  return '.' + className + pseudo;\n}","import cssifyObject from 'css-in-js-utils/lib/cssifyObject';\n\nexport default function cssifyFontFace(fontFace) {\n  return '@font-face{' + cssifyObject(fontFace) + '}';\n}","import arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\nimport cssifyObject from 'css-in-js-utils/lib/cssifyObject';\n\nexport default function cssifyKeyframe(frames, animationName) {\n  var prefixes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [''];\n\n  var keyframe = objectReduce(frames, function (css, frame, percentage) {\n    return '' + css + percentage + '{' + cssifyObject(frame) + '}';\n  }, '');\n\n  return arrayReduce(prefixes, function (cssKeyframe, prefix) {\n    return cssKeyframe + '@' + prefix + 'keyframes ' + animationName + '{' + keyframe + '}';\n  }, '');\n}","import cssifyObject from 'css-in-js-utils/lib/cssifyObject';\nimport { processStyleWithPlugins, STATIC_TYPE } from 'fela-utils';\n\nimport minifyCSSString from './minifyCSSString';\n\nexport default function cssifyStaticStyle(staticStyle, renderer) {\n  if (typeof staticStyle === 'string') {\n    return minifyCSSString(staticStyle);\n  }\n\n  var processedStaticStyle = processStyleWithPlugins(renderer, staticStyle, STATIC_TYPE);\n\n  return cssifyObject(processedStaticStyle);\n}","export default function minifyCSSString(style) {\n  return style.replace(/\\s{2,}/g, '');\n}","export default function generateAnimationName(id) {\n  return 'k' + id;\n}","var chars = 'abcdefghijklmnopqrstuvwxyz';\nvar charLength = chars.length;\n\nfunction generateUniqueClassName(id) {\n  var className = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n  if (id <= charLength) {\n    return chars[id - 1] + className;\n  }\n\n  // Bitwise floor as safari performs much faster\n  // https://jsperf.com/math-floor-vs-math-round-vs-parseint/55\n  return generateUniqueClassName(id / charLength | 0, chars[id % charLength] + className);\n}\n\nexport default function generateClassName(getId) {\n  var filterClassName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {\n    return true;\n  };\n\n  var startId = getId();\n  var generatedClassName = generateUniqueClassName(startId);\n\n  if (!filterClassName(generatedClassName)) {\n    return generateClassName(getId, filterClassName);\n  }\n\n  return generatedClassName;\n}","export default function isBase64(property) {\n  return property.substr(0, 5) === 'data:';\n}","import isBase64 from './isBase64';\n\nexport default function getFontUrl(src) {\n  if (isBase64(src)) {\n    return src;\n  }\n\n  return '\\'' + src + '\\'';\n}","import isBase64 from './isBase64';\n\nvar formats = {\n  '.woff': 'woff',\n  '.woff2': 'woff2',\n  '.eot': 'embedded-opentype',\n  '.ttf': 'truetype',\n  '.otf': 'opentype',\n  '.svg': 'svg',\n  '.svgz': 'svg'\n};\n\nvar base64Formats = {\n  'image/svg+xml': 'svg',\n  'application/x-font-woff': 'woff',\n  'application/font-woff': 'woff',\n  'application/x-font-woff2': 'woff2',\n  'application/font-woff2': 'woff2',\n  'font/woff2': 'woff2',\n  'application/octet-stream': 'truetype',\n  'application/x-font-ttf': 'truetype',\n  'application/x-font-truetype': 'truetype',\n  'application/x-font-opentype': 'opentype',\n  'application/vnd.ms-fontobject': 'embedded-opentype',\n  'application/font-sfnt': 'sfnt'\n};\n\nexport default function getFontFormat(src) {\n  if (isBase64(src)) {\n    var mime = '';\n    for (var i = 5;; i++) {\n      // 'data:'.length === 5\n      var c = src.charAt(i);\n\n      if (c === ';' || c === ',') {\n        break;\n      }\n\n      mime += c;\n    }\n\n    var fmt = base64Formats[mime];\n    if (fmt) {\n      return fmt;\n    }\n\n    console.warn('A invalid base64 font was used. Please use one of the following mime type: ' + Object.keys(base64Formats).join(', ') + '.');\n  } else {\n    var extension = '';\n    for (var _i = src.length - 1;; _i--) {\n      var _c = src.charAt(_i);\n\n      if (_c === '.') {\n        extension = _c + extension;\n        break;\n      }\n\n      extension = _c + extension;\n    }\n\n    var _fmt = formats[extension];\n    if (_fmt) {\n      return _fmt;\n    }\n\n    console.warn('A invalid font-format was used in \"' + src + '\". Use one of these: ' + Object.keys(formats).join(', ') + '.');\n  }\n  return '';\n}","import arrayReduce from 'fast-loops/lib/arrayReduce';\n\nimport getFontUrl from './getFontUrl';\nimport getFontFormat from './getFontFormat';\n\nexport default function generateFontSource() {\n  var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n  var fontLocals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n  var localSource = arrayReduce(fontLocals, function (src, local, index) {\n    var prefix = index > 0 ? ',' : '';\n    var localUrl = getFontUrl(local);\n\n    return '' + src + prefix + 'local(' + localUrl + ')';\n  }, '');\n  var urlSource = arrayReduce(files, function (src, fileSource, index) {\n    var prefix = index > 0 ? ',' : '';\n    var fileFormat = getFontFormat(fileSource);\n    var fileUrl = getFontUrl(fileSource);\n\n    return '' + src + prefix + 'url(' + fileUrl + ') format(\\'' + fileFormat + '\\')';\n  }, '');\n  var delimiter = localSource.length > 0 && urlSource.length > 0 ? ',' : '';\n\n  return '' + localSource + delimiter + urlSource;\n}","export default function generateStaticReference(style, selector) {\n  if (typeof style === 'string') {\n    return style;\n  }\n\n  if (selector) {\n    return selector + JSON.stringify(style);\n  }\n\n  return '';\n}","export default function getFontLocals(localAlias) {\n  if (typeof localAlias === 'string') {\n    return [localAlias];\n  }\n\n  if (Array.isArray(localAlias)) {\n    return localAlias.slice();\n  }\n\n  return [];\n}","export default function isSafeClassName(className) {\n  return className.indexOf('ad') === -1;\n}","export default function toCSSString(value) {\n  if (value.charAt(0) === '\"') {\n    return value;\n  }\n\n  return '\"' + value + '\"';\n}","var PREFIX_SYNTAX = /^[a-z_][a-z0-9-_]*$/gi;\n\nexport default function validateSelectorPrefix() {\n  var selectorPrefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n  if (selectorPrefix.length > 0 && selectorPrefix.match(PREFIX_SYNTAX) === null) {\n    console.error('An invalid selectorPrefix (' + selectorPrefix + ') has been used to create a new Fela renderer.\\nIt must only contain a-Z, 0-9, - and _ while it must start with either _ or a-Z.\\nSee http://fela.js.org/docs/advanced/RendererConfiguration.html');\n  }\n\n  return selectorPrefix;\n}","var _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; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport cssifyDeclaration from 'css-in-js-utils/lib/cssifyDeclaration';\nimport arrayEach from 'fast-loops/lib/arrayEach';\nimport isPlainObject from 'isobject';\n\nimport { generateDeclarationReference, generateCombinedMediaQuery, generateCSSSelector, isMediaQuery, isNestedSelector, isUndefinedValue, isSupport, normalizeNestedProperty, processStyleWithPlugins, STATIC_TYPE, RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, CLEAR_TYPE } from 'fela-utils';\n\nimport cssifyFontFace from './cssifyFontFace';\nimport cssifyKeyframe from './cssifyKeyframe';\nimport cssifyStaticStyle from './cssifyStaticStyle';\nimport generateAnimationName from './generateAnimationName';\nimport generateClassName from './generateClassName';\nimport generateFontSource from './generateFontSource';\nimport generateStaticReference from './generateStaticReference';\nimport getFontLocals from './getFontLocals';\nimport isSafeClassName from './isSafeClassName';\nimport toCSSString from './toCSSString';\nimport validateSelectorPrefix from './validateSelectorPrefix';\n\nexport default function createRenderer() {\n  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n  var renderer = {\n    listeners: [],\n    keyframePrefixes: config.keyframePrefixes || ['-webkit-', '-moz-'],\n    plugins: config.plugins || [],\n    mediaQueryOrder: config.mediaQueryOrder || [],\n    supportQueryOrder: config.supportQueryOrder || [],\n    ruleOrder: [/^:link/, /^:visited/, /^:hover/, /^:focus-within/, /^:focus/, /^:active/],\n    selectorPrefix: validateSelectorPrefix(config.selectorPrefix),\n    filterClassName: config.filterClassName || isSafeClassName,\n    devMode: config.devMode || false,\n\n    uniqueRuleIdentifier: 0,\n    uniqueKeyframeIdentifier: 0,\n\n    nodes: {},\n    scoreIndex: {},\n    // use a flat cache object with pure string references\n    // to achieve maximal lookup performance and memoization speed\n    cache: {},\n\n    getNextRuleIdentifier: function getNextRuleIdentifier() {\n      return ++renderer.uniqueRuleIdentifier;\n    },\n    renderRule: function renderRule(rule) {\n      var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      return renderer._renderStyle(rule(props, renderer), props);\n    },\n    renderKeyframe: function renderKeyframe(keyframe) {\n      var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      var resolvedKeyframe = keyframe(props, renderer);\n      var processedKeyframe = processStyleWithPlugins(renderer, resolvedKeyframe, KEYFRAME_TYPE, props);\n\n      var keyframeReference = JSON.stringify(processedKeyframe);\n\n      if (!renderer.cache.hasOwnProperty(keyframeReference)) {\n        // use another unique identifier to ensure minimal css markup\n        var animationName = renderer.selectorPrefix + generateAnimationName(++renderer.uniqueKeyframeIdentifier);\n\n        var cssKeyframe = cssifyKeyframe(processedKeyframe, animationName, renderer.keyframePrefixes);\n\n        var change = {\n          type: KEYFRAME_TYPE,\n          keyframe: cssKeyframe,\n          name: animationName\n        };\n\n        renderer.cache[keyframeReference] = change;\n        renderer._emitChange(change);\n      }\n\n      return renderer.cache[keyframeReference].name;\n    },\n    renderFont: function renderFont(family, files) {\n      var properties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n      var localAlias = properties.localAlias,\n          otherProperties = _objectWithoutProperties(properties, ['localAlias']);\n\n      var fontReference = family + JSON.stringify(properties);\n      var fontLocals = getFontLocals(localAlias);\n\n      if (!renderer.cache.hasOwnProperty(fontReference)) {\n        var fontFamily = toCSSString(family);\n\n        var fontFace = _extends({}, otherProperties, {\n          src: generateFontSource(files, fontLocals),\n          fontFamily: fontFamily\n        });\n\n        var cssFontFace = cssifyFontFace(fontFace);\n\n        var change = {\n          type: FONT_TYPE,\n          fontFace: cssFontFace,\n          fontFamily: fontFamily\n        };\n\n        renderer.cache[fontReference] = change;\n        renderer._emitChange(change);\n      }\n\n      return renderer.cache[fontReference].fontFamily;\n    },\n    renderStatic: function renderStatic(staticStyle, selector) {\n      var staticReference = generateStaticReference(staticStyle, selector);\n\n      if (!renderer.cache.hasOwnProperty(staticReference)) {\n        var cssDeclarations = cssifyStaticStyle(staticStyle, renderer);\n\n        var change = {\n          type: STATIC_TYPE,\n          css: cssDeclarations,\n          selector: selector\n        };\n\n        renderer.cache[staticReference] = change;\n        renderer._emitChange(change);\n      }\n    },\n    subscribe: function subscribe(callback) {\n      renderer.listeners.push(callback);\n\n      return {\n        unsubscribe: function unsubscribe() {\n          return renderer.listeners.splice(renderer.listeners.indexOf(callback), 1);\n        }\n      };\n    },\n    clear: function clear() {\n      renderer.uniqueRuleIdentifier = 0;\n      renderer.uniqueKeyframeIdentifier = 0;\n      renderer.cache = {};\n\n      renderer._emitChange({\n        type: CLEAR_TYPE\n      });\n    },\n    _renderStyle: function _renderStyle() {\n      var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      var processedStyle = processStyleWithPlugins(renderer, style, RULE_TYPE, props);\n\n      return renderer._renderStyleToClassNames(processedStyle).slice(1);\n    },\n    _renderStyleToClassNames: function _renderStyleToClassNames(_ref) {\n      var pseudo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n      var media = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n      var support = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n\n      var _className = _ref._className,\n          style = _objectWithoutProperties(_ref, ['_className']);\n\n      var classNames = _className ? ' ' + _className : '';\n\n      for (var property in style) {\n        var value = style[property];\n\n        if (isPlainObject(value)) {\n          if (isNestedSelector(property)) {\n            classNames += renderer._renderStyleToClassNames(value, pseudo + normalizeNestedProperty(property), media, support);\n          } else if (isMediaQuery(property)) {\n            var combinedMediaQuery = generateCombinedMediaQuery(media, property.slice(6).trim());\n            classNames += renderer._renderStyleToClassNames(value, pseudo, combinedMediaQuery, support);\n          } else if (isSupport(property)) {\n            var combinedSupport = generateCombinedMediaQuery(support, property.slice(9).trim());\n            classNames += renderer._renderStyleToClassNames(value, pseudo, media, combinedSupport);\n          } else {\n            console.warn('The object key \"' + property + '\" is not a valid nested key in Fela.\\nMaybe you forgot to add a plugin to resolve it?\\nCheck http://fela.js.org/docs/basics/Rules.html#styleobject for more information.');\n          }\n        } else {\n          var declarationReference = generateDeclarationReference(property, value, pseudo, media, support);\n\n          if (!renderer.cache.hasOwnProperty(declarationReference)) {\n            // we remove undefined values to enable\n            // usage of optional props without side-effects\n            if (isUndefinedValue(value)) {\n              renderer.cache[declarationReference] = {\n                className: ''\n                /* eslint-disable no-continue */\n              };continue;\n              /* eslint-enable */\n            }\n\n            var className = renderer.selectorPrefix + generateClassName(renderer.getNextRuleIdentifier, renderer.filterClassName);\n\n            var declaration = cssifyDeclaration(property, value);\n            var selector = generateCSSSelector(className, pseudo);\n\n            var change = {\n              type: RULE_TYPE,\n              className: className,\n              selector: selector,\n              declaration: declaration,\n              pseudo: pseudo,\n              media: media,\n              support: support\n            };\n\n            renderer.cache[declarationReference] = change;\n            renderer._emitChange(change);\n          }\n\n          var cachedClassName = renderer.cache[declarationReference].className;\n\n          // only append if we got a class cached\n          if (cachedClassName) {\n            classNames += ' ' + cachedClassName;\n          }\n        }\n      }\n\n      return classNames;\n    },\n    _emitChange: function _emitChange(change) {\n      arrayEach(renderer.listeners, function (listener) {\n        return listener(change);\n      });\n    }\n  };\n\n  // initial setup\n  renderer.keyframePrefixes.push('');\n\n  if (config.enhancers) {\n    arrayEach(config.enhancers, function (enhancer) {\n      renderer = enhancer(renderer);\n    });\n  }\n\n  return renderer;\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport isPlainObject from 'isobject';\n\nfunction renderFontFace(_ref, renderer) {\n  var fontFamily = _ref.fontFamily,\n      src = _ref.src,\n      otherProps = _objectWithoutProperties(_ref, ['fontFamily', 'src']);\n\n  if (typeof fontFamily === 'string' && Array.isArray(src)) {\n    return renderer.renderFont(fontFamily, src, otherProps);\n  }\n\n  // TODO: warning - invalid font data\n  return undefined;\n}\n\nfunction embedded(style, type, renderer, props) {\n  var _loop = function _loop(property) {\n    var value = style[property];\n\n    if (property === 'fontFace' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n      if (Array.isArray(value)) {\n        style.fontFamily = arrayReduce(value, function (fontFamilyList, fontFace) {\n          var fontFamily = renderFontFace(fontFace, renderer);\n\n          if (fontFamily && fontFamilyList.indexOf(fontFamily) === -1) {\n            fontFamilyList.push(fontFamily);\n          }\n\n          return fontFamilyList;\n        }, []).join(',');\n      } else {\n        style.fontFamily = renderFontFace(value, renderer);\n      }\n      delete style.fontFace;\n    } else if (property === 'animationName' && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n      if (Array.isArray(value)) {\n        style[property] = value.map(function (frame) {\n          return renderer.renderKeyframe(function () {\n            return frame;\n          });\n        }, props).join(',');\n      } else {\n        style[property] = renderer.renderKeyframe(function () {\n          return value;\n        }, props);\n      }\n    } else if (isPlainObject(value)) {\n      embedded(value, type, renderer, props);\n    }\n  };\n\n  for (var property in style) {\n    _loop(property);\n  }\n\n  return style;\n}\n\nexport default (function () {\n  return embedded;\n});","import resolveArrayValue from 'css-in-js-utils/lib/resolveArrayValue';\nimport isPlainObject from 'isobject';\n\nfunction resolveFallbackValues(style) {\n  for (var property in style) {\n    var value = style[property];\n\n    if (Array.isArray(value)) {\n      style[property] = resolveArrayValue(property, value);\n    } else if (isPlainObject(value) && property !== 'fontFace') {\n      style[property] = resolveFallbackValues(value);\n    }\n  }\n\n  return style;\n}\n\nexport default (function () {\n  return resolveFallbackValues;\n});","import isPlainObject from 'isobject';\nimport assignStyle from 'css-in-js-utils/lib/assignStyle';\n\nfunction resolveCustomProperty(style, properties) {\n  for (var property in style) {\n    var value = style[property];\n\n    if (properties.hasOwnProperty(property)) {\n      var resolved = properties[property](value);\n      assignStyle(style, resolved);\n\n      if (!resolved.hasOwnProperty(property)) {\n        delete style[property];\n      }\n    }\n\n    if (style.hasOwnProperty(property) && isPlainObject(value)) {\n      style[property] = resolveCustomProperty(value, properties);\n    }\n  }\n\n  return style;\n}\n\nexport default function customProperty(properties) {\n  return function (style) {\n    return resolveCustomProperty(style, properties);\n  };\n}","import customProperty from 'fela-plugin-custom-property';\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\n\nvar placeholderPrefixes = ['::-webkit-input-placeholder', '::-moz-placeholder', ':-ms-input-placeholder', ':-moz-placeholder', '::placeholder'];\n\nexport default function placeholderPrefixer() {\n  return customProperty({\n    '::placeholder': function placeholder(value) {\n      return arrayReduce(placeholderPrefixes, function (style, prefix) {\n        style[prefix] = value;\n        return style;\n      }, {});\n    }\n  });\n}","/**\n * Takes an array of [keyValue1, keyValue2] pairs and creates an object of {keyValue1: keyValue2, keyValue2: keyValue1}\n * @param {Array} array the array of pairs\n * @return {Object} the {key, value} pair object\n */\nfunction arrayToObject(array) {\n  return array.reduce(function (obj, _ref) {\n    var prop1 = _ref[0],\n        prop2 = _ref[1];\n    obj[prop1] = prop2;\n    obj[prop2] = prop1;\n    return obj;\n  }, {});\n}\n\nfunction containsCssVar(val) {\n  return typeof val === 'string' && val.match(/var\\(.*\\)/g);\n}\n\nfunction isBoolean(val) {\n  return typeof val === 'boolean';\n}\n\nfunction isFunction(val) {\n  return typeof val === 'function';\n}\n\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\nfunction isNullOrUndefined(val) {\n  return val === null || typeof val === 'undefined';\n}\n\nfunction isObject(val) {\n  return val && typeof val === 'object';\n}\n\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\nfunction includes(inclusive, inclusee) {\n  return inclusive.indexOf(inclusee) !== -1;\n}\n/**\n * Flip the sign of a CSS value, possibly with a unit.\n *\n * We can't just negate the value with unary minus due to the units.\n *\n * @private\n * @param {String} value - the original value (for example 77%)\n * @return {String} the result (for example -77%)\n */\n\n\nfunction flipSign(value) {\n  if (parseFloat(value) === 0) {\n    // Don't mangle zeroes\n    return value;\n  }\n\n  if (value[0] === '-') {\n    return value.slice(1);\n  }\n\n  return \"-\" + value;\n}\n\nfunction flipTransformSign(match, prefix, offset, suffix) {\n  return prefix + flipSign(offset) + suffix;\n}\n/**\n * Takes a percentage for background position and inverts it.\n * This was copied and modified from CSSJanus:\n * https://github.com/cssjanus/cssjanus/blob/4245f834365f6cfb0239191a151432fb85abab23/src/cssjanus.js#L152-L175\n * @param {String} value - the original value (for example 77%)\n * @return {String} the result (for example 23%)\n */\n\n\nfunction calculateNewBackgroundPosition(value) {\n  var idx = value.indexOf('.');\n\n  if (idx === -1) {\n    value = 100 - parseFloat(value) + \"%\";\n  } else {\n    // Two off, one for the \"%\" at the end, one for the dot itself\n    var len = value.length - idx - 2;\n    value = 100 - parseFloat(value);\n    value = value.toFixed(len) + \"%\";\n  }\n\n  return value;\n}\n/**\n * This takes a list of CSS values and converts it to an array\n * @param {String} value - something like `1px`, `1px 2em`, or `3pt rgb(150, 230, 550) 40px calc(100% - 5px)`\n * @return {Array} the split values (for example: `['3pt', 'rgb(150, 230, 550)', '40px', 'calc(100% - 5px)']`)\n */\n\n\nfunction getValuesAsList(value) {\n  return value.replace(/ +/g, ' ') // remove all extraneous spaces\n  .split(' ').map(function (i) {\n    return i.trim();\n  }) // get rid of extra space before/after each item\n  .filter(Boolean) // get rid of empty strings\n  // join items which are within parenthese\n  // luckily `calc (100% - 5px)` is invalid syntax and it must be `calc(100% - 5px)`, otherwise this would be even more complex\n  .reduce(function (_ref2, item) {\n    var list = _ref2.list,\n        state = _ref2.state;\n    var openParansCount = (item.match(/\\(/g) || []).length;\n    var closedParansCount = (item.match(/\\)/g) || []).length;\n\n    if (state.parensDepth > 0) {\n      list[list.length - 1] = list[list.length - 1] + \" \" + item;\n    } else {\n      list.push(item);\n    }\n\n    state.parensDepth += openParansCount - closedParansCount;\n    return {\n      list: list,\n      state: state\n    };\n  }, {\n    list: [],\n    state: {\n      parensDepth: 0\n    }\n  }).list;\n}\n/**\n * This is intended for properties that are `top right bottom left` and will switch them to `top left bottom right`\n * @param {String} value - `1px 2px 3px 4px` for example, but also handles cases where there are too few/too many and\n * simply returns the value in those cases (which is the correct behavior)\n * @return {String} the result - `1px 4px 3px 2px` for example.\n */\n\n\nfunction handleQuartetValues(value) {\n  var splitValues = getValuesAsList(value);\n\n  if (splitValues.length <= 3 || splitValues.length > 4) {\n    return value;\n  }\n\n  var top = splitValues[0],\n      right = splitValues[1],\n      bottom = splitValues[2],\n      left = splitValues[3];\n  return [top, left, bottom, right].join(' ');\n}\n/**\n *\n * @param {String|Number|Object} value css property value to test\n * @returns If the css property value can(should?) have an RTL equivalent\n */\n\n\nfunction canConvertValue(value) {\n  return !isBoolean(value) && !isNullOrUndefined(value) && !containsCssVar(value);\n}\n/**\n * Splits a shadow style into its separate shadows using the comma delimiter, but creating an exception\n * for comma separated values in parentheses often used for rgba colours.\n * @param {String} value\n * @returns {Array} array of all box shadow values in the string\n */\n\n\nfunction splitShadow(value) {\n  var shadows = [];\n  var start = 0;\n  var end = 0;\n  var rgba = false;\n\n  while (end < value.length) {\n    if (!rgba && value[end] === ',') {\n      shadows.push(value.substring(start, end).trim());\n      end++;\n      start = end;\n    } else if (value[end] === \"(\") {\n      rgba = true;\n      end++;\n    } else if (value[end] === ')') {\n      rgba = false;\n      end++;\n    } else {\n      end++;\n    }\n  } // push the last shadow value if there is one\n  // istanbul ignore next\n\n\n  if (start != end) {\n    shadows.push(value.substring(start, end + 1));\n  }\n\n  return shadows;\n}\n\nvar propertyValueConverters = {\n  padding: function padding(_ref) {\n    var value = _ref.value;\n\n    if (isNumber(value)) {\n      return value;\n    }\n\n    return handleQuartetValues(value);\n  },\n  textShadow: function textShadow(_ref2) {\n    var value = _ref2.value;\n    var flippedShadows = splitShadow(value).map(function (shadow) {\n      // intentionally leaving off the `g` flag here because we only want to change the first number (which is the offset-x)\n      return shadow.replace(/(-*)([.|\\d]+)/, function (match, negative, number) {\n        if (number === '0') {\n          return match;\n        }\n\n        var doubleNegative = negative === '' ? '-' : '';\n        return \"\" + doubleNegative + number;\n      });\n    });\n    return flippedShadows.join(',');\n  },\n  borderColor: function borderColor(_ref3) {\n    var value = _ref3.value;\n    return handleQuartetValues(value);\n  },\n  borderRadius: function borderRadius(_ref4) {\n    var value = _ref4.value;\n\n    if (isNumber(value)) {\n      return value;\n    }\n\n    if (includes(value, '/')) {\n      var _value$split = value.split('/'),\n          radius1 = _value$split[0],\n          radius2 = _value$split[1];\n\n      var convertedRadius1 = propertyValueConverters.borderRadius({\n        value: radius1.trim()\n      });\n      var convertedRadius2 = propertyValueConverters.borderRadius({\n        value: radius2.trim()\n      });\n      return convertedRadius1 + \" / \" + convertedRadius2;\n    }\n\n    var splitValues = getValuesAsList(value);\n\n    switch (splitValues.length) {\n      case 2:\n        {\n          return splitValues.reverse().join(' ');\n        }\n\n      case 4:\n        {\n          var topLeft = splitValues[0],\n              topRight = splitValues[1],\n              bottomRight = splitValues[2],\n              bottomLeft = splitValues[3];\n          return [topRight, topLeft, bottomLeft, bottomRight].join(' ');\n        }\n\n      default:\n        {\n          return value;\n        }\n    }\n  },\n  background: function background(_ref5) {\n    var value = _ref5.value,\n        valuesToConvert = _ref5.valuesToConvert,\n        isRtl = _ref5.isRtl,\n        bgImgDirectionRegex = _ref5.bgImgDirectionRegex,\n        bgPosDirectionRegex = _ref5.bgPosDirectionRegex;\n\n    if (isNumber(value)) {\n      return value;\n    } // Yeah, this is in need of a refactor 🙃...\n    // but this property is a tough cookie 🍪\n    // get the backgroundPosition out of the string by removing everything that couldn't be the backgroundPosition value\n\n\n    var backgroundPositionValue = value.replace(/(url\\(.*?\\))|(rgba?\\(.*?\\))|(hsl\\(.*?\\))|(#[a-fA-F0-9]+)|((^| )(\\D)+( |$))/g, '').trim(); // replace that backgroundPosition value with the converted version\n\n    value = value.replace(backgroundPositionValue, propertyValueConverters.backgroundPosition({\n      value: backgroundPositionValue,\n      valuesToConvert: valuesToConvert,\n      isRtl: isRtl,\n      bgPosDirectionRegex: bgPosDirectionRegex\n    })); // do the backgroundImage value replacing on the whole value (because why not?)\n\n    return propertyValueConverters.backgroundImage({\n      value: value,\n      valuesToConvert: valuesToConvert,\n      bgImgDirectionRegex: bgImgDirectionRegex\n    });\n  },\n  backgroundImage: function backgroundImage(_ref6) {\n    var value = _ref6.value,\n        valuesToConvert = _ref6.valuesToConvert,\n        bgImgDirectionRegex = _ref6.bgImgDirectionRegex;\n\n    if (!includes(value, 'url(') && !includes(value, 'linear-gradient(')) {\n      return value;\n    }\n\n    return value.replace(bgImgDirectionRegex, function (match, g1, group2) {\n      return match.replace(group2, valuesToConvert[group2]);\n    });\n  },\n  backgroundPosition: function backgroundPosition(_ref7) {\n    var value = _ref7.value,\n        valuesToConvert = _ref7.valuesToConvert,\n        isRtl = _ref7.isRtl,\n        bgPosDirectionRegex = _ref7.bgPosDirectionRegex;\n    return value // intentionally only grabbing the first instance of this because that represents `left`\n    .replace(isRtl ? /^((-|\\d|\\.)+%)/ : null, function (match, group) {\n      return calculateNewBackgroundPosition(group);\n    }).replace(bgPosDirectionRegex, function (match) {\n      return valuesToConvert[match];\n    });\n  },\n  backgroundPositionX: function backgroundPositionX(_ref8) {\n    var value = _ref8.value,\n        valuesToConvert = _ref8.valuesToConvert,\n        isRtl = _ref8.isRtl,\n        bgPosDirectionRegex = _ref8.bgPosDirectionRegex;\n\n    if (isNumber(value)) {\n      return value;\n    }\n\n    return propertyValueConverters.backgroundPosition({\n      value: value,\n      valuesToConvert: valuesToConvert,\n      isRtl: isRtl,\n      bgPosDirectionRegex: bgPosDirectionRegex\n    });\n  },\n  transition: function transition(_ref9) {\n    var value = _ref9.value,\n        propertiesToConvert = _ref9.propertiesToConvert;\n    return value.split(/,\\s*/g).map(function (transition) {\n      var values = transition.split(' '); // Property is always defined first\n\n      values[0] = propertiesToConvert[values[0]] || values[0];\n      return values.join(' ');\n    }).join(', ');\n  },\n  transitionProperty: function transitionProperty(_ref10) {\n    var value = _ref10.value,\n        propertiesToConvert = _ref10.propertiesToConvert;\n    return value.split(/,\\s*/g).map(function (prop) {\n      return propertiesToConvert[prop] || prop;\n    }).join(', ');\n  },\n  transform: function transform(_ref11) {\n    var value = _ref11.value;\n    // This was copied and modified from CSSJanus:\n    // https://github.com/cssjanus/cssjanus/blob/4a40f001b1ba35567112d8b8e1d9d95eda4234c3/src/cssjanus.js#L152-L153\n    var nonAsciiPattern = \"[^\\\\u0020-\\\\u007e]\";\n    var escapePattern = \"(?:\" + '(?:(?:\\\\[0-9a-f]{1,6})(?:\\\\r\\\\n|\\\\s)?)' + \"|\\\\\\\\[^\\\\r\\\\n\\\\f0-9a-f])\";\n    var signedQuantPattern = \"((?:-?\" + ('(?:[0-9]*\\\\.[0-9]+|[0-9]+)' + \"(?:\\\\s*\" + '(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)' + \"|\" + (\"-?\" + (\"(?:[_a-z]|\" + nonAsciiPattern + \"|\" + escapePattern + \")\") + (\"(?:[_a-z0-9-]|\" + nonAsciiPattern + \"|\" + escapePattern + \")\") + \"*\") + \")?\") + \")|(?:inherit|auto))\";\n    var translateXRegExp = new RegExp(\"(translateX\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"(\\\\s*\\\\))\", 'gi');\n    var translateRegExp = new RegExp(\"(translate\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"((?:\\\\s*,\\\\s*\" + signedQuantPattern + \"){0,1}\\\\s*\\\\))\", 'gi');\n    var translate3dRegExp = new RegExp(\"(translate3d\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"((?:\\\\s*,\\\\s*\" + signedQuantPattern + \"){0,2}\\\\s*\\\\))\", 'gi');\n    var rotateRegExp = new RegExp(\"(rotate[ZY]?\\\\s*\\\\(\\\\s*)\" + signedQuantPattern + \"(\\\\s*\\\\))\", 'gi');\n    return value.replace(translateXRegExp, flipTransformSign).replace(translateRegExp, flipTransformSign).replace(translate3dRegExp, flipTransformSign).replace(rotateRegExp, flipTransformSign);\n  }\n};\npropertyValueConverters.objectPosition = propertyValueConverters.backgroundPosition;\npropertyValueConverters.margin = propertyValueConverters.padding;\npropertyValueConverters.borderWidth = propertyValueConverters.padding;\npropertyValueConverters.boxShadow = propertyValueConverters.textShadow;\npropertyValueConverters.webkitBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.mozBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.WebkitBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.MozBoxShadow = propertyValueConverters.boxShadow;\npropertyValueConverters.borderStyle = propertyValueConverters.borderColor;\npropertyValueConverters.webkitTransform = propertyValueConverters.transform;\npropertyValueConverters.mozTransform = propertyValueConverters.transform;\npropertyValueConverters.WebkitTransform = propertyValueConverters.transform;\npropertyValueConverters.MozTransform = propertyValueConverters.transform;\npropertyValueConverters.transformOrigin = propertyValueConverters.backgroundPosition;\npropertyValueConverters.webkitTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.mozTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.WebkitTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.MozTransformOrigin = propertyValueConverters.transformOrigin;\npropertyValueConverters.webkitTransition = propertyValueConverters.transition;\npropertyValueConverters.mozTransition = propertyValueConverters.transition;\npropertyValueConverters.WebkitTransition = propertyValueConverters.transition;\npropertyValueConverters.MozTransition = propertyValueConverters.transition;\npropertyValueConverters.webkitTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.mozTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.WebkitTransitionProperty = propertyValueConverters.transitionProperty;\npropertyValueConverters.MozTransitionProperty = propertyValueConverters.transitionProperty; // kebab-case versions\n\npropertyValueConverters['text-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['border-color'] = propertyValueConverters.borderColor;\npropertyValueConverters['border-radius'] = propertyValueConverters.borderRadius;\npropertyValueConverters['background-image'] = propertyValueConverters.backgroundImage;\npropertyValueConverters['background-position'] = propertyValueConverters.backgroundPosition;\npropertyValueConverters['background-position-x'] = propertyValueConverters.backgroundPositionX;\npropertyValueConverters['object-position'] = propertyValueConverters.objectPosition;\npropertyValueConverters['border-width'] = propertyValueConverters.padding;\npropertyValueConverters['box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['-webkit-box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['-moz-box-shadow'] = propertyValueConverters.textShadow;\npropertyValueConverters['border-style'] = propertyValueConverters.borderColor;\npropertyValueConverters['-webkit-transform'] = propertyValueConverters.transform;\npropertyValueConverters['-moz-transform'] = propertyValueConverters.transform;\npropertyValueConverters['transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-webkit-transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-moz-transform-origin'] = propertyValueConverters.transformOrigin;\npropertyValueConverters['-webkit-transition'] = propertyValueConverters.transition;\npropertyValueConverters['-moz-transition'] = propertyValueConverters.transition;\npropertyValueConverters['transition-property'] = propertyValueConverters.transitionProperty;\npropertyValueConverters['-webkit-transition-property'] = propertyValueConverters.transitionProperty;\npropertyValueConverters['-moz-transition-property'] = propertyValueConverters.transitionProperty;\n\nvar propertiesToConvert = arrayToObject([['paddingLeft', 'paddingRight'], ['marginLeft', 'marginRight'], ['left', 'right'], ['borderLeft', 'borderRight'], ['borderLeftColor', 'borderRightColor'], ['borderLeftStyle', 'borderRightStyle'], ['borderLeftWidth', 'borderRightWidth'], ['borderTopLeftRadius', 'borderTopRightRadius'], ['borderBottomLeftRadius', 'borderBottomRightRadius'], // kebab-case versions\n['padding-left', 'padding-right'], ['margin-left', 'margin-right'], ['border-left', 'border-right'], ['border-left-color', 'border-right-color'], ['border-left-style', 'border-right-style'], ['border-left-width', 'border-right-width'], ['border-top-left-radius', 'border-top-right-radius'], ['border-bottom-left-radius', 'border-bottom-right-radius']]);\nvar propsToIgnore = ['content']; // this is the same as the propertiesToConvert except for values\n\nvar valuesToConvert = arrayToObject([['ltr', 'rtl'], ['left', 'right'], ['w-resize', 'e-resize'], ['sw-resize', 'se-resize'], ['nw-resize', 'ne-resize']]); // Sorry for the regex 😞, but basically thisis used to replace _every_ instance of\n// `ltr`, `rtl`, `right`, and `left` in `backgroundimage` with the corresponding opposite.\n// A situation we're accepting here:\n// url('/left/right/rtl/ltr.png') will be changed to url('/right/left/ltr/rtl.png')\n// Definite trade-offs here, but I think it's a good call.\n\nvar bgImgDirectionRegex = new RegExp('(^|\\\\W|_)((ltr)|(rtl)|(left)|(right))(\\\\W|_|$)', 'g');\nvar bgPosDirectionRegex = new RegExp('(left)|(right)');\n/**\n * converts properties and values in the CSS in JS object to their corresponding RTL values\n * @param {Object} object the CSS in JS object\n * @return {Object} the RTL converted object\n */\n\nfunction convert(object) {\n  return Object.keys(object).reduce(function (newObj, originalKey) {\n    var originalValue = object[originalKey];\n\n    if (isString(originalValue)) {\n      // you're welcome to later code 😺\n      originalValue = originalValue.trim();\n    } // Some properties should never be transformed\n\n\n    if (includes(propsToIgnore, originalKey)) {\n      newObj[originalKey] = originalValue;\n      return newObj;\n    }\n\n    var _convertProperty = convertProperty(originalKey, originalValue),\n        key = _convertProperty.key,\n        value = _convertProperty.value;\n\n    newObj[key] = value;\n    return newObj;\n  }, Array.isArray(object) ? [] : {});\n}\n/**\n * Converts a property and its value to the corresponding RTL key and value\n * @param {String} originalKey the original property key\n * @param {Number|String|Object} originalValue the original css property value\n * @return {Object} the new {key, value} pair\n */\n\nfunction convertProperty(originalKey, originalValue) {\n  var isNoFlip = /\\/\\*\\s?@noflip\\s?\\*\\//.test(originalValue);\n  var key = isNoFlip ? originalKey : getPropertyDoppelganger(originalKey);\n  var value = isNoFlip ? originalValue : getValueDoppelganger(key, originalValue);\n  return {\n    key: key,\n    value: value\n  };\n}\n/**\n * This gets the RTL version of the given property if it has a corresponding RTL property\n * @param {String} property the name of the property\n * @return {String} the name of the RTL property\n */\n\nfunction getPropertyDoppelganger(property) {\n  return propertiesToConvert[property] || property;\n}\n/**\n * This converts the given value to the RTL version of that value based on the key\n * @param {String} key this is the key (note: this should be the RTL version of the originalKey)\n * @param {String|Number|Object} originalValue the original css property value. If it's an object, then we'll convert that as well\n * @return {String|Number|Object} the converted value\n */\n\nfunction getValueDoppelganger(key, originalValue) {\n  if (!canConvertValue(originalValue)) {\n    return originalValue;\n  }\n\n  if (isObject(originalValue)) {\n    return convert(originalValue); // recurssion 🌀\n  }\n\n  var isNum = isNumber(originalValue);\n  var isFunc = isFunction(originalValue);\n  var importantlessValue = isNum || isFunc ? originalValue : originalValue.replace(/ !important.*?$/, '');\n  var isImportant = !isNum && importantlessValue.length !== originalValue.length;\n  var valueConverter = propertyValueConverters[key];\n  var newValue;\n\n  if (valueConverter) {\n    newValue = valueConverter({\n      value: importantlessValue,\n      valuesToConvert: valuesToConvert,\n      propertiesToConvert: propertiesToConvert,\n      isRtl: true,\n      bgImgDirectionRegex: bgImgDirectionRegex,\n      bgPosDirectionRegex: bgPosDirectionRegex\n    });\n  } else {\n    newValue = valuesToConvert[importantlessValue] || importantlessValue;\n  }\n\n  if (isImportant) {\n    return newValue + \" !important\";\n  }\n\n  return newValue;\n}\n\nexport { propertiesToConvert as a, propsToIgnore as b, convert as c, convertProperty as d, getValueDoppelganger as e, arrayToObject as f, getPropertyDoppelganger as g, calculateNewBackgroundPosition as h, canConvertValue as i, flipTransformSign as j, flipSign as k, handleQuartetValues as l, includes as m, isBoolean as n, containsCssVar as o, propertyValueConverters as p, isFunction as q, isNumber as r, isNullOrUndefined as s, isObject as t, isString as u, valuesToConvert as v, getValuesAsList as w, splitShadow as x };\n","import { c as convert } from './convert-053e536c.js';\n\n\n\nexport default convert;\n","export default function getRuleScore() {\n  var ruleOrder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n  var pseudo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n  if (ruleOrder.length === 0 || pseudo.length === 0) {\n    return 0;\n  }\n\n  return ruleOrder.indexOf(ruleOrder.find(function (regex) {\n    return pseudo.match(regex) !== null;\n  })) + 1;\n}","export default function extractSupportQuery(ruleSet) {\n  return ruleSet.split('{')[0].slice(9).trim();\n}","import { generateCSSSelector } from 'fela-utils';\n\nexport default function generateCacheEntry(type, className, property, value) {\n  var pseudo = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n  var media = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n  var support = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n\n  return {\n    type: type,\n    className: className,\n    selector: generateCSSSelector(className, pseudo),\n    declaration: property + ':' + value,\n    pseudo: pseudo,\n    media: media,\n    support: support\n  };\n}","var _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nimport { RULE_TYPE, generateDeclarationReference } from 'fela-utils';\n\nimport generateCacheEntry from './generateCacheEntry';\n\nvar DECL_REGEX = /[.]([0-9a-z_-]+)([^{]+)?{([^:]+):([^}]+)}/gi;\n\nexport default function rehydrateRules(css) {\n  var media = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n  var support = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n  var cache = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n  var decl = void 0;\n\n  // This excellent parsing implementation was originally taken from Styletron and modified to fit Fela\n  // https://github.com/rtsao/styletron/blob/master/packages/styletron-client/src/index.js#L47\n  /* eslint-disable no-unused-vars,no-cond-assign */\n  while (decl = DECL_REGEX.exec(css)) {\n    // $FlowFixMe\n    var _decl = decl,\n        _decl2 = _slicedToArray(_decl, 5),\n        ruleSet = _decl2[0],\n        className = _decl2[1],\n        pseudo = _decl2[2],\n        property = _decl2[3],\n        value = _decl2[4];\n    /* eslint-enable */\n\n    var declarationReference = generateDeclarationReference(property, value, pseudo, media, support);\n\n    cache[declarationReference] = generateCacheEntry(RULE_TYPE, className, property, value, pseudo, media, support);\n  }\n\n  return cache;\n}","var _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nimport extractSupportQuery from './extractSupportQuery';\nimport rehydrateRules from './rehydrateRules';\n\nvar SUPPORT_REGEX = /@supports[^{]+\\{([\\s\\S]+?})\\s*}/gi;\n\nexport default function rehydrateSupportRules(css) {\n  var media = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n  var cache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n  var decl = void 0;\n\n  // eslint-disable-next-line no-cond-assign\n  while (decl = SUPPORT_REGEX.exec(css)) {\n    var _decl = decl,\n        _decl2 = _slicedToArray(_decl, 2),\n        ruleSet = _decl2[0],\n        cssRules = _decl2[1];\n\n    var supportQuery = extractSupportQuery(ruleSet);\n    rehydrateRules(cssRules, media, supportQuery, cache);\n  }\n\n  return cache;\n}","import { FONT_TYPE, STATIC_TYPE, KEYFRAME_TYPE, RULE_TYPE } from 'fela-utils';\n\nfunction getRuleScore(baseScore) {\n  var media = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n  var mediaQueryOrder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n  if (media.length === 0) {\n    return baseScore;\n  }\n\n  var mediaIndex = mediaQueryOrder.indexOf(media) + 1;\n  if (mediaIndex) {\n    return baseScore + mediaIndex * 2;\n  }\n\n  return 9999;\n}\n\nexport default function calculateNodeScore(_ref, mediaQueryOrder) {\n  var type = _ref.type,\n      support = _ref.support,\n      media = _ref.media;\n\n  switch (type) {\n    case FONT_TYPE:\n      return 0;\n    case STATIC_TYPE:\n      return 1;\n    case KEYFRAME_TYPE:\n      return 2;\n    case RULE_TYPE:\n      return getRuleScore(support ? 4 : 3, media, mediaQueryOrder);\n    default:\n      // TODO: warning\n      return 9999;\n  }\n}","var _handlers;\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\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\n\nimport applyKeysInOrder from './applyKeysInOrder';\nimport generateCSSRule from './generateCSSRule';\nimport objectSortByScore from './objectSortByScore';\nimport getRuleScore from './getRuleScore';\n\nimport { RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, STATIC_TYPE } from './styleTypes';\n\nvar handlers = (_handlers = {}, _defineProperty(_handlers, RULE_TYPE, function (cluster, _ref) {\n  var selector = _ref.selector,\n      declaration = _ref.declaration,\n      support = _ref.support,\n      media = _ref.media;\n\n  var cssRule = generateCSSRule(selector, declaration);\n\n  if (support) {\n    if (media) {\n      if (!cluster.supportMediaRules[media]) {\n        cluster.supportMediaRules[media] = {};\n      }\n\n      if (!cluster.supportMediaRules[media][support]) {\n        cluster.supportMediaRules[media][support] = '';\n      }\n\n      cluster.supportMediaRules[media][support] += cssRule;\n    } else {\n      if (!cluster.supportRules[support]) {\n        cluster.supportRules[support] = '';\n      }\n\n      cluster.supportRules[support] += cssRule;\n    }\n  } else if (media) {\n    if (!cluster.mediaRules[media]) {\n      cluster.mediaRules[media] = '';\n    }\n\n    cluster.mediaRules[media] += cssRule;\n  } else {\n    cluster.rules += cssRule;\n  }\n}), _defineProperty(_handlers, FONT_TYPE, function (cluster, _ref2) {\n  var fontFace = _ref2.fontFace;\n\n  cluster.fontFaces += fontFace;\n}), _defineProperty(_handlers, KEYFRAME_TYPE, function (cluster, _ref3) {\n  var keyframe = _ref3.keyframe;\n\n  cluster.keyframes += keyframe;\n}), _defineProperty(_handlers, STATIC_TYPE, function (cluster, _ref4) {\n  var css = _ref4.css,\n      selector = _ref4.selector;\n\n  if (selector) {\n    cluster.statics += generateCSSRule(selector, css);\n  } else {\n    cluster.statics += css;\n  }\n}), _handlers);\n\nexport default function clusterCache(cache) {\n  var mediaQueryOrder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n  var supportQueryOrder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n  var ruleOrder = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n\n  var sortedCache = objectSortByScore(cache, function (value) {\n    return getRuleScore(ruleOrder, value.pseudo);\n  });\n\n  var mediaRules = applyKeysInOrder(mediaQueryOrder);\n  var supportRules = applyKeysInOrder(supportQueryOrder);\n\n  var supportMediaRules = arrayReduce(mediaQueryOrder, function (resultSupportRules, media) {\n    resultSupportRules[media] = applyKeysInOrder(supportQueryOrder);\n    return resultSupportRules;\n  }, applyKeysInOrder(mediaQueryOrder, {}));\n\n  return objectReduce(sortedCache, function (cluster, entry) {\n    var handler = handlers[entry.type];\n\n    if (handler) {\n      handler(cluster, entry);\n    }\n\n    return cluster;\n  }, {\n    mediaRules: mediaRules,\n    supportRules: supportRules,\n    supportMediaRules: supportMediaRules,\n    fontFaces: '',\n    statics: '',\n    keyframes: '',\n    rules: ''\n  });\n}","export default function generateCSSRule(selector, cssDeclaration) {\n  return selector + \"{\" + cssDeclaration + \"}\";\n}","\n\nexport default function queryNode(_ref) {\n  var type = _ref.type,\n      media = _ref.media,\n      support = _ref.support;\n  var targetDocument = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n  var mediaQuery = media ? '[media=\"' + media + '\"]' : ':not([media])';\n  var supportQuery = support ? '[data-fela-support=\"true\"]' : ':not([data-fela-support=\"true\"])';\n\n  return targetDocument.querySelector('[data-fela-type=\"' + type + '\"]' + supportQuery + mediaQuery);\n}","import objectReduce from 'fast-loops/lib/objectReduce';\n\nexport default function createNode(nodes, score, _ref) {\n  var type = _ref.type,\n      media = _ref.media,\n      support = _ref.support;\n  var targetDocument = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : document;\n\n  var head = targetDocument.head || {};\n\n  var node = targetDocument.createElement('style');\n  node.setAttribute('data-fela-type', type);\n  node.type = 'text/css';\n\n  if (support) {\n    node.setAttribute('data-fela-support', 'true');\n  }\n\n  if (media) {\n    node.media = media;\n  }\n\n  // we calculate the most next bigger style node\n  // to correctly inject the node just before it\n  var moreSpecificReference = objectReduce(nodes, function (closest, currentNode, reference) {\n    return currentNode.score > score && (!closest || nodes[closest].score > currentNode.score) ? reference : closest;\n  }, undefined);\n\n  if (moreSpecificReference) {\n    head.insertBefore(node, nodes[moreSpecificReference].node);\n  } else {\n    head.appendChild(node);\n  }\n\n  return node;\n}","import calculateNodeScore from './calculateNodeScore';\nimport queryNode from './queryNode';\nimport createNode from './createNode';\n\nfunction getReference(_ref) {\n  var type = _ref.type,\n      _ref$media = _ref.media,\n      media = _ref$media === undefined ? '' : _ref$media,\n      _ref$support = _ref.support,\n      support = _ref$support === undefined ? '' : _ref$support;\n\n  return type + media + support;\n}\n\nexport default function getNodeFromCache(attributes, renderer) {\n  var targetDocument = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document;\n\n  var reference = getReference(attributes);\n\n  if (!renderer.nodes[reference]) {\n    var score = calculateNodeScore(attributes, renderer.mediaQueryOrder);\n    var node = queryNode(attributes, targetDocument) || createNode(renderer.nodes, score, attributes, targetDocument);\n\n    renderer.nodes[reference] = {\n      node: node,\n      score: score\n    };\n  }\n\n  return renderer.nodes[reference].node;\n}","export default function generateCSSSupportRule(support, cssRules) {\n  return \"@supports \" + support + \"{\" + cssRules + \"}\";\n}","import arrayReduce from 'fast-loops/lib/arrayReduce';\n\nexport default function applyKeysInOrder(order) {\n  var initialValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n  return arrayReduce(order, function (mediaMap, query) {\n    mediaMap[query] = initialValue;\n    return mediaMap;\n  }, {});\n}","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nexport default function insertAtIndex(arr, el, index) {\n  return [].concat(_toConsumableArray(arr.slice(0, index)), [el], _toConsumableArray(arr.slice(index, arr.length)));\n}","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\n\nimport insertAtIndex from './insertAtIndex';\n\n// TODO: we can further improve this one\nexport default function objectSortByScore(obj, getScore) {\n  var sortedKeys = objectReduce(obj, function (resultSortedKeys, value, key) {\n    var index = resultSortedKeys.findIndex(function (el) {\n      return getScore(obj[el], el) > getScore(value, key);\n    });\n\n    if (index !== -1) {\n      return insertAtIndex(resultSortedKeys, key, index);\n    }\n\n    return [].concat(_toConsumableArray(resultSortedKeys), [key]);\n  }, []);\n\n  return arrayReduce(sortedKeys, function (sortedObj, key) {\n    sortedObj[key] = obj[key];\n    return sortedObj;\n  }, {});\n}","import { FONT_TYPE, STATIC_TYPE, KEYFRAME_TYPE, RULE_TYPE } from './styleTypes';\n\nexport default {\n  fontFaces: FONT_TYPE,\n  statics: STATIC_TYPE,\n  keyframes: KEYFRAME_TYPE,\n  rules: RULE_TYPE\n};","import objectReduce from 'fast-loops/lib/objectReduce';\n\nimport generateCSSSupportRule from './generateCSSSupportRule';\n\nexport default function cssifySupportRules(supportRules) {\n  return objectReduce(supportRules, function (css, cssRules, support) {\n    if (cssRules.length > 0) {\n      css += generateCSSSupportRule(support, cssRules);\n    }\n\n    return css;\n  }, '');\n}","\n\nvar SELECTOR_PREFIX_REGEXP = /^[a-z0-9_-]*$/gi;\n\n\nexport default function getRehydrationIndex(renderer) {\n  if (renderer.selectorPrefix.length === 0 || renderer.selectorPrefix.match(SELECTOR_PREFIX_REGEXP) !== null) {\n    return renderer.uniqueRuleIdentifier;\n  }\n\n  return -1;\n}","var _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; };\n\nimport arrayReduce from 'fast-loops/lib/arrayReduce';\nimport objectReduce from 'fast-loops/lib/objectReduce';\nimport { clusterCache, cssifySupportRules, sheetMap, RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, STATIC_TYPE } from 'fela-utils';\n\nimport getRehydrationIndex from './getRehydrationIndex';\n\nexport default function renderToSheetList(renderer) {\n  var cacheCluster = clusterCache(renderer.cache, renderer.mediaQueryOrder, renderer.supportQueryOrder, renderer.ruleOrder);\n\n  var rehydrationIndex = getRehydrationIndex(renderer);\n\n  var sheetList = objectReduce(sheetMap, function (list, type, key) {\n    if (cacheCluster[key].length > 0) {\n      list.push({\n        css: cacheCluster[key],\n        rehydration: rehydrationIndex,\n        type: type\n      });\n    }\n\n    return list;\n  }, []);\n\n  var support = cssifySupportRules(cacheCluster.supportRules);\n\n  if (support) {\n    sheetList.push({\n      css: support,\n      type: RULE_TYPE,\n      rehydration: rehydrationIndex,\n      support: true\n    });\n  }\n\n  var mediaKeys = Object.keys(_extends({}, cacheCluster.supportMediaRules, cacheCluster.mediaRules));\n\n  return arrayReduce(mediaKeys, function (list, media) {\n    // basic media query rules\n    if (cacheCluster.mediaRules[media] && cacheCluster.mediaRules[media].length > 0) {\n      list.push({\n        css: cacheCluster.mediaRules[media],\n        type: RULE_TYPE,\n        rehydration: rehydrationIndex,\n        media: media\n      });\n    }\n\n    // support media rules\n    if (cacheCluster.supportMediaRules[media]) {\n      var mediaSupport = cssifySupportRules(cacheCluster.supportMediaRules[media]);\n\n      if (mediaSupport.length > 0) {\n        list.push({\n          css: mediaSupport,\n          type: RULE_TYPE,\n          rehydration: rehydrationIndex,\n          support: true,\n          media: media\n        });\n      }\n    }\n\n    return list;\n  }, sheetList);\n}","import { generateCSSRule, generateCSSSupportRule, getRuleScore } from 'fela-utils';\n\nimport insertRuleInDevMode from './insertRuleInDevMode';\n\nexport default function insertRule(_ref, renderer, node) {\n  var selector = _ref.selector,\n      declaration = _ref.declaration,\n      support = _ref.support,\n      media = _ref.media,\n      pseudo = _ref.pseudo;\n\n  var nodeReference = media + support;\n  // only use insertRule in production as browser devtools might have\n  // weird behavior if used together with insertRule at runtime\n  if (renderer.devMode) {\n    insertRuleInDevMode(renderer, node);\n    return;\n  }\n\n  try {\n    var score = getRuleScore(renderer.ruleOrder, pseudo);\n    var cssRules = node.sheet.cssRules;\n\n\n    var index = cssRules.length;\n\n    // This heavily optimises the amount of rule iterations we need\n    // due to most rules having a score=0 anyways\n    if (score === 0) {\n      if (renderer.scoreIndex[nodeReference] === undefined) {\n        index = 0;\n      } else {\n        index = renderer.scoreIndex[nodeReference] + 1;\n      }\n    } else {\n      // we start iterating from the last score=0 entry\n      // to correctly inject pseudo classes etc.\n      var startIndex = renderer.scoreIndex[nodeReference] || 0;\n\n      for (var i = startIndex, len = cssRules.length; i < len; ++i) {\n        if (cssRules[i].score > score) {\n          index = i;\n          break;\n        }\n      }\n    }\n\n    var cssRule = generateCSSRule(selector, declaration);\n\n    if (support.length > 0) {\n      var cssSupportRule = generateCSSSupportRule(support, cssRule);\n      node.sheet.insertRule(cssSupportRule, index);\n    } else {\n      node.sheet.insertRule(cssRule, index);\n    }\n\n    if (score === 0) {\n      renderer.scoreIndex[nodeReference] = index;\n    }\n\n    cssRules[index].score = score;\n  } catch (e) {\n    // We're disabled these warnings due to false-positive errors with browser prefixes\n    // See https://github.com/rofrischmann/fela/issues/634\n    // console.warn(\n    //   `An error occurred while inserting the rules into DOM.\\n`,\n    //   declaration.replace(/;/g, ';\\n'),\n    //   e\n    // )\n  }\n}","import { RULE_TYPE } from 'fela-utils';\n\nimport renderToSheetList from '../../server/renderToSheetList';\n\n// This method is quite hacky and in-performant, but yet\n// the most simple way to respect rule sorting even in devMode\nexport default function updateNodeInDevMode(renderer, node) {\n  var sheetList = renderToSheetList(renderer);\n\n  var media = node.getAttribute('media') || undefined;\n  var support = node.getAttribute('data-fela-support') || undefined;\n\n  var currentSheet = sheetList.find(function (sheet) {\n    return sheet.type === RULE_TYPE && sheet.media === media && sheet.support === support;\n  });\n\n  if (currentSheet) {\n    node.textContent = currentSheet.css;\n  }\n}","import objectEach from 'fast-loops/lib/objectEach';\n\nimport createSubscription from './connection/createSubscription';\n\nexport default function render(renderer, targetDocument) {\n  if (!renderer.updateSubscription) {\n    renderer.scoreIndex = {};\n    renderer.nodes = {};\n\n    renderer.updateSubscription = createSubscription(renderer, targetDocument);\n    renderer.subscribe(renderer.updateSubscription);\n\n    // simulate rendering to ensure all styles rendered prior to\n    // calling FelaDOM.render are correctly injected as well\n    objectEach(renderer.cache, renderer._emitChange);\n  }\n}","\n/* eslint-disable consistent-return */\nimport objectEach from 'fast-loops/lib/objectEach';\nimport { RULE_TYPE, KEYFRAME_TYPE, FONT_TYPE, STATIC_TYPE, CLEAR_TYPE, generateCSSRule } from 'fela-utils';\n\nimport getNodeFromCache from './getNodeFromCache';\nimport insertRule from './insertRule';\n\nexport default function createSubscription(renderer) {\n  var targetDocument = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n  return function (change) {\n    if (change.type === CLEAR_TYPE) {\n      objectEach(renderer.nodes, function (_ref) {\n        var node = _ref.node;\n        return node.parentNode.removeChild(node);\n      });\n\n      renderer.nodes = {};\n      renderer.scoreIndex = {};\n      return;\n    }\n\n    var node = getNodeFromCache(change, renderer, targetDocument);\n\n    switch (change.type) {\n      case KEYFRAME_TYPE:\n        node.textContent += change.keyframe;\n        break;\n      case FONT_TYPE:\n        node.textContent += change.fontFace;\n        break;\n      case STATIC_TYPE:\n        node.textContent += change.selector ? generateCSSRule(change.selector, change.css) : change.css;\n        break;\n      case RULE_TYPE:\n        insertRule(change, renderer, node);\n        break;\n      default:\n        // TODO: warning\n        break;\n    }\n  };\n}","import arrayEach from 'fast-loops/lib/arrayEach';\nimport { RULE_TYPE, getRuleScore } from 'fela-utils';\n\nimport rehydrateSupportRules from './rehydration/rehydrateSupportRules';\nimport rehydrateRules from './rehydration/rehydrateRules';\nimport calculateNodeScore from './connection/calculateNodeScore';\n\nimport render from './render';\n\nvar CLASSNAME_REGEX = /[.][a-z0-9_-]*/gi;\n\n// rehydration (WIP)\n// TODO: static, keyframe, font\nexport default function rehydrate(renderer) {\n  var targetDocument = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;\n\n  render(renderer, targetDocument);\n\n  arrayEach(targetDocument.querySelectorAll('[data-fela-type]'), function (node) {\n    var rehydrationAttribute = node.getAttribute('data-fela-rehydration') || -1;\n    var rehydrationIndex = renderer.uniqueRuleIdentifier || parseInt(rehydrationAttribute, 10);\n\n    // skip rehydration if no rehydration index is set\n    // this index is set to -1 if something blocks rehydration\n    if (rehydrationIndex !== -1) {\n      var type = node.getAttribute('data-fela-type') || '';\n      var media = node.getAttribute('media') || '';\n      var support = node.getAttribute('data-fela-support') || '';\n      var css = node.textContent;\n\n      renderer.uniqueRuleIdentifier = rehydrationIndex;\n\n      var reference = type + media + support;\n      renderer.nodes[reference] = {\n        score: calculateNodeScore({ type: type, media: media, support: support }, renderer.mediaQueryOrder),\n        node: node\n      };\n\n      if (type === RULE_TYPE) {\n        if (support) {\n          rehydrateSupportRules(css, media, renderer.cache);\n        } else {\n          rehydrateRules(css, media, '', renderer.cache);\n        }\n\n        // On Safari, style sheets with IE-specific media queries\n        // can yield null for node.sheet\n        // https://github.com/rofrischmann/fela/issues/431#issuecomment-423239591\n        if (node.sheet && node.sheet.cssRules) {\n          var nodeReference = media + support;\n\n          arrayEach(node.sheet.cssRules, function (rule, index) {\n            var selectorText = rule.conditionText ? rule.cssRules[0].selectorText : rule.selectorText;\n\n            var score = getRuleScore(renderer.ruleOrder, selectorText.split(CLASSNAME_REGEX)[1]);\n\n            if (score === 0) {\n              renderer.scoreIndex[nodeReference] = index;\n            }\n\n            rule.score = score;\n          });\n        }\n      }\n    }\n  });\n}","var _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { render, rehydrate } from 'fela-dom';\nimport objectEach from 'fast-loops/lib/objectEach';\n\nfunction hasDOM(renderer, targetDocument) {\n  // ensure we're on a browser by using document since window is defined in e.g. React Native\n  // see https://github.com/robinweser/fela/issues/736\n  if (typeof document === 'undefined') {\n    return false;\n  }\n\n  var doc = targetDocument || document;\n\n  return renderer && !renderer.isNativeRenderer && doc && doc.createElement;\n}\n\nfunction hasServerRenderedStyle() {\n  var targetDocument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n  return targetDocument.querySelectorAll('[data-fela-type]').length > 0;\n}\n\nexport default function RendererProviderFactory(BaseComponent, RendererContext, createElement, renderChildren, statics) {\n  var RendererProvider = function (_BaseComponent) {\n    _inherits(RendererProvider, _BaseComponent);\n\n    function RendererProvider(props, context) {\n      _classCallCheck(this, RendererProvider);\n\n      var _this = _possibleConstructorReturn(this, (RendererProvider.__proto__ || Object.getPrototypeOf(RendererProvider)).call(this, props, context));\n\n      _this._renderStyle();\n      return _this;\n    }\n\n    _createClass(RendererProvider, [{\n      key: 'componentDidUpdate',\n      value: function componentDidUpdate(prevProps) {\n        // TODO: we might add a shallow compare to avoid unnecessary rerenders\n        this._renderStyle();\n      }\n    }, {\n      key: '_renderStyle',\n      value: function _renderStyle() {\n        var _props = this.props,\n            renderer = _props.renderer,\n            shouldRehydrate = _props.rehydrate,\n            targetDocument = _props.targetDocument;\n\n\n        if (hasDOM(renderer, targetDocument)) {\n          if (shouldRehydrate && hasServerRenderedStyle(targetDocument)) {\n            rehydrate(renderer, targetDocument);\n          } else {\n            render(renderer, targetDocument);\n          }\n        }\n      }\n    }, {\n      key: 'render',\n      value: function render() {\n        return createElement(RendererContext.Provider, {\n          value: this.props.renderer\n        }, renderChildren(this.props.children));\n      }\n    }]);\n\n    return RendererProvider;\n  }(BaseComponent);\n\n  if (statics) {\n    objectEach(statics, function (value, key) {\n      RendererProvider[key] = value;\n    });\n  }\n\n  return RendererProvider;\n}","import { createContext } from 'react';\n\n// $FlowFixMe\nexport var RendererContext = createContext();\n\n// $FlowFixMe\nexport var ThemeContext = createContext();","import { Component, Children, createElement } from 'react';\nimport { RendererProviderFactory } from 'fela-bindings';\nimport PropTypes from 'prop-types';\n\nimport { RendererContext } from './context';\n\nexport default RendererProviderFactory(Component, RendererContext, createElement, function (children) {\n  return Children.only(children);\n}, {\n  propTypes: {\n    renderer: PropTypes.object.isRequired,\n    rehydrate: PropTypes.bool.isRequired\n  },\n  defaultProps: {\n    rehydrate: true\n  }\n});","var animationProps = ['animation', 'animationName', 'animationDuration', 'animationTimingFunction', 'animationDelay', 'animationIterationCount', 'animationDirection', 'animationFillMode', 'animationPlayState'];\n\nfunction isPlainObject(val) {\n  return val != null && typeof val === 'object' && Array.isArray(val) === false;\n}\n/**\n * Fela plugin for disabling animations. The animations are disabled or not based on the\n * props' disableAnimations param. If the value of the prop is true, all animation related\n * styles are removed.\n *\n * Caution! Infinite recursion is possible in case if style object has links to self in the props\n * tree.\n */\n\n\nexport var felaDisableAnimationsPlugin = function felaDisableAnimationsPlugin(styles, type, renderer, props) {\n  if (props && props.disableAnimations && type === 'RULE') {\n    return Object.keys(styles).reduce(function (acc, cssPropertyName) {\n      var _Object$assign2;\n\n      var cssPropertyValue = styles[cssPropertyName];\n\n      if (animationProps.indexOf(cssPropertyName) !== -1) {\n        return acc;\n      }\n\n      if (isPlainObject(cssPropertyValue)) {\n        var _Object$assign;\n\n        return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[cssPropertyName] = felaDisableAnimationsPlugin(cssPropertyValue, type, renderer, props), _Object$assign));\n      }\n\n      return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[cssPropertyName] = styles[cssPropertyName], _Object$assign2));\n    }, {});\n  }\n\n  return styles;\n};\n//# sourceMappingURL=felaDisableAnimationsPlugin.js.map\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) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { 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\nvar LENGTH_UNIT = /(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|q|in|pt|pc|px|dpi|dpcm|dppx|%|auto)$/i;\nvar CALC = /^(calc\\()/i;\nvar VAR = /^(var\\()/i;\nvar BORDER_STYLE = /^(dashed|dotted|double|groove|hidden|inset|none|outset|ridge|solid)$/i;\nvar BORDER_WIDTH = /^(thick|medium|think)$/i;\n\nfunction splitShorthand(value) {\n  var values = [''];\n  var openParensCount = 0;\n  var trimmedValue = value.trim();\n\n  for (var index = 0; index < trimmedValue.length; index += 1) {\n    if (trimmedValue.charAt(index) === ' ' && openParensCount === 0) {\n      // Add new value\n      values.push('');\n    } else {\n      // Add the current character to the current value\n      values[values.length - 1] = values[values.length - 1] + trimmedValue.charAt(index);\n    } // Keep track of the number of parentheses that are yet to be closed.\n    // This is done to avoid splitting at whitespaces within CSS functions.\n    // E.g.: `calc(1px + 1em)`\n\n\n    if (trimmedValue.charAt(index) === '(') {\n      openParensCount++;\n    } else if (trimmedValue.charAt(index) === ')') {\n      openParensCount--;\n    }\n  }\n\n  return values;\n}\n\nfunction parseBorder(value, resolve) {\n  var values = splitShorthand(value);\n  var longhands = {};\n  values.forEach(function (val) {\n    if (val.match(BORDER_STYLE) !== null) {\n      longhands[resolve('Style')] = val;\n    } else if (val.match(BORDER_WIDTH) !== null || val.match(LENGTH_UNIT) !== null || val.match(CALC) !== null || val === '0') {\n      longhands[resolve('Width')] = val;\n    } else {\n      longhands[resolve('Color')] = val;\n    }\n  });\n  return longhands;\n}\n\nfunction parseCircular(value, resolve) {\n  var _ref;\n\n  var _splitShorthand = splitShorthand(value),\n      _splitShorthand2 = _slicedToArray(_splitShorthand, 4),\n      Top = _splitShorthand2[0],\n      _splitShorthand2$ = _splitShorthand2[1],\n      Right = _splitShorthand2$ === void 0 ? Top : _splitShorthand2$,\n      _splitShorthand2$2 = _splitShorthand2[2],\n      Bottom = _splitShorthand2$2 === void 0 ? Top : _splitShorthand2$2,\n      _splitShorthand2$3 = _splitShorthand2[3],\n      Left = _splitShorthand2$3 === void 0 ? Right : _splitShorthand2$3;\n\n  return _ref = {}, _defineProperty(_ref, resolve('Top'), Top), _defineProperty(_ref, resolve('Right'), Right), _defineProperty(_ref, resolve('Bottom'), Bottom), _defineProperty(_ref, resolve('Left'), Left), _ref;\n}\n\nfunction groupBy(values, divider) {\n  var groups = [[]];\n  values.forEach(function (val) {\n    if (val === divider) {\n      groups.push([]);\n    } else {\n      groups[groups.length - 1].push(val);\n    }\n  });\n  return groups;\n}\n\nfunction parseBorderRadius(value) {\n  var _groupBy = groupBy(splitShorthand(value), '/'),\n      _groupBy2 = _slicedToArray(_groupBy, 2),\n      _groupBy2$ = _groupBy2[0],\n      first = _groupBy2$ === void 0 ? [] : _groupBy2$,\n      _groupBy2$2 = _groupBy2[1],\n      second = _groupBy2$2 === void 0 ? [] : _groupBy2$2;\n\n  var _first = _slicedToArray(first, 4),\n      Top = _first[0],\n      _first$ = _first[1],\n      Right = _first$ === void 0 ? Top : _first$,\n      _first$2 = _first[2],\n      Bottom = _first$2 === void 0 ? Top : _first$2,\n      _first$3 = _first[3],\n      Left = _first$3 === void 0 ? Right : _first$3;\n\n  var _second = _slicedToArray(second, 4),\n      Top2 = _second[0],\n      _second$ = _second[1],\n      Right2 = _second$ === void 0 ? Top2 : _second$,\n      _second$2 = _second[2],\n      Bottom2 = _second$2 === void 0 ? Top2 : _second$2,\n      _second$3 = _second[3],\n      Left2 = _second$3 === void 0 ? Right2 : _second$3;\n\n  return {\n    borderTopLeftRadius: [Top, Top2].filter(Boolean).join(' '),\n    borderTopRightRadius: [Right, Right2].filter(Boolean).join(' '),\n    borderBottomRightRadius: [Bottom, Bottom2].filter(Boolean).join(' '),\n    borderBottomLeftRadius: [Left, Left2].filter(Boolean).join(' ')\n  };\n}\n\nvar circularExpand = {\n  borderWidth: function borderWidth(key) {\n    return 'border' + key + 'Width';\n  },\n  borderColor: function borderColor(key) {\n    return 'border' + key + 'Color';\n  },\n  borderStyle: function borderStyle(key) {\n    return 'border' + key + 'Style';\n  },\n  padding: function padding(key) {\n    return 'padding' + key;\n  },\n  margin: function margin(key) {\n    return 'margin' + key;\n  }\n};\nvar borderExpand = {\n  borderLeft: function borderLeft(key) {\n    return 'borderLeft' + key;\n  },\n  borderTop: function borderTop(key) {\n    return 'borderTop' + key;\n  },\n  borderRight: function borderRight(key) {\n    return 'borderRight' + key;\n  },\n  borderBottom: function borderBottom(key) {\n    return 'borderBottom' + key;\n  },\n  outline: function outline(key) {\n    return 'outline' + key;\n  }\n};\n\nfunction parseFlex(value) {\n  var values = splitShorthand(value);\n  var longhands = {};\n  values.forEach(function (val) {\n    if (val.match(LENGTH_UNIT) !== null || val.match(CALC) !== null || val.match(VAR) !== null) {\n      longhands.flexBasis = val;\n    } else {\n      if (longhands.flexGrow) {\n        longhands.flexShrink = val;\n      } else {\n        longhands.flexGrow = val;\n      }\n    }\n  });\n  return longhands;\n}\n\nfunction expandProperty(property, value) {\n  // special expansion for the border property as its 2 levels deep\n  if (property === 'border') {\n    var longhands = parseBorder(value.toString(), function (key) {\n      return 'border' + key;\n    });\n    var result = {};\n\n    for (var _property in longhands) {\n      Object.assign(result, expandProperty(_property, longhands[_property]));\n    }\n\n    return result;\n  }\n\n  if (property === 'flex') {\n    return parseFlex(value.toString());\n  }\n\n  if (property === 'borderRadius') {\n    return parseBorderRadius(value.toString());\n  }\n\n  if (circularExpand[property]) {\n    return parseCircular(value.toString(), circularExpand[property]);\n  }\n\n  if (borderExpand[property]) {\n    return parseBorder(value.toString(), borderExpand[property]);\n  }\n}\n\nexport default function preExpand(property, value) {\n  if (Array.isArray(value)) {\n    var result = {};\n    value.forEach(function (item) {\n      var itemResult = expandProperty(property, item);\n\n      if (itemResult) {\n        Object.keys(itemResult).forEach(function (itemProperty) {\n          result[itemProperty] = result[itemProperty] || [];\n          result[itemProperty].push(itemResult[itemProperty]);\n        });\n      }\n    });\n\n    if (Object.keys(result).length) {\n      return result;\n    }\n\n    return null;\n  }\n\n  return expandProperty(property, value);\n}","// @ts-ignore\nimport { expandProperty } from 'inline-style-expand-shorthand'; // https://jsperf.com/array-indexof-vs-object-key-lookup2/12\n\nvar handledCssProps = {\n  // 'font', Oops, is not supported by inline-style-expand-shorthand\n  padding: true,\n  margin: true,\n  border: true,\n  borderWidth: true,\n  borderStyle: true,\n  borderColor: true,\n  borderTop: true,\n  borderRight: true,\n  borderBottom: true,\n  borderLeft: true,\n  borderRadius: true,\n  background: true,\n  outline: true\n};\nexport var felaExpandCssShorthandsPlugin = function felaExpandCssShorthandsPlugin(styles) {\n  return Object.keys(styles).reduce(function (acc, cssPropertyName) {\n    var _Object$assign4;\n\n    var cssPropertyValue = styles[cssPropertyName];\n\n    if (cssPropertyValue === null || typeof cssPropertyValue === 'undefined') {\n      var _Object$assign;\n\n      return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[cssPropertyName] = cssPropertyValue, _Object$assign));\n    }\n\n    if (handledCssProps[cssPropertyName]) {\n      var expandedProps = expandProperty(cssPropertyName, cssPropertyValue);\n\n      if (expandedProps) {\n        return Object.assign({}, acc, expandedProps);\n      }\n    }\n\n    if (Array.isArray(cssPropertyValue)) {\n      var _Object$assign2;\n\n      return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[cssPropertyName] = cssPropertyValue, _Object$assign2));\n    }\n\n    if (typeof cssPropertyValue === 'object') {\n      var _Object$assign3;\n\n      return Object.assign({}, acc, (_Object$assign3 = {}, _Object$assign3[cssPropertyName] = felaExpandCssShorthandsPlugin(cssPropertyValue), _Object$assign3));\n    }\n\n    return Object.assign({}, acc, (_Object$assign4 = {}, _Object$assign4[cssPropertyName] = cssPropertyValue, _Object$assign4));\n  }, {});\n};\n//# sourceMappingURL=felaExpandCssShorthandsPlugin.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n//\n// This file is one-to-one copy-paste from Fela source code. It includes `_renderStyleToClassNames()` and all\n// non-exported utils.\n// A single change is only one line inside `generateDeclarationReference()`.\n//\n// @ts-ignore\nimport cssifyDeclaration from 'css-in-js-utils/lib/cssifyDeclaration';\nimport { // @ts-ignore\ngenerateCombinedMediaQuery // @ts-ignore\n, generateCSSSelector // @ts-ignore\n, isMediaQuery // @ts-ignore\n, isNestedSelector // @ts-ignore\n, isSupport // @ts-ignore\n, isUndefinedValue // @ts-ignore\n, normalizeNestedProperty, RULE_TYPE } from 'fela-utils';\n\nfunction isPlainObject(val) {\n  return val != null && typeof val === 'object' && Array.isArray(val) === false;\n}\n\nvar chars = 'abcdefghijklmnopqrstuvwxyz';\nvar charLength = chars.length;\n\nfunction generateUniqueClassName(id, className) {\n  if (className === void 0) {\n    className = '';\n  }\n\n  if (id <= charLength) {\n    return chars[id - 1] + className;\n  } // Bitwise floor as safari performs much faster\n  // https://jsperf.com/math-floor-vs-math-round-vs-parseint/55\n\n\n  return generateUniqueClassName(id / charLength | 0, chars[id % charLength] + className);\n}\n\nfunction generateClassName(getId, filterClassName) {\n  if (filterClassName === void 0) {\n    filterClassName = function filterClassName() {\n      return true;\n    };\n  }\n\n  var startId = getId();\n  var generatedClassName = generateUniqueClassName(startId);\n\n  if (!filterClassName(generatedClassName)) {\n    return generateClassName(getId, filterClassName);\n  }\n\n  return generatedClassName;\n}\n\nfunction generateDeclarationReference(property, value, pseudo, media, support) {\n  if (pseudo === void 0) {\n    pseudo = '';\n  }\n\n  if (media === void 0) {\n    media = '';\n  }\n\n  if (support === void 0) {\n    support = '';\n  }\n\n  //\n  // This a single perf change here, it removes `camelCaseProperty()` call\n  //\n  // CHANGE:START\n  return support + media + pseudo + property + value; // CHANGE:END\n} //\n\n\nexport function felaPerformanceEnhancer(renderer) {\n  renderer._renderStyleToClassNames = function _renderStyleToClassNames(_ref, pseudo, media, support) {\n    if (pseudo === void 0) {\n      pseudo = '';\n    }\n\n    if (media === void 0) {\n      media = '';\n    }\n\n    if (support === void 0) {\n      support = '';\n    }\n\n    var _className = _ref._className,\n        style = _objectWithoutPropertiesLoose(_ref, [\"_className\"]);\n\n    var classNames = _className ? \" \" + _className : '';\n\n    for (var property in style) {\n      var value = style[property];\n\n      if (isPlainObject(value)) {\n        if (isNestedSelector(property)) {\n          classNames += renderer._renderStyleToClassNames(value, pseudo + normalizeNestedProperty(property), media, support);\n        } else if (isMediaQuery(property)) {\n          var combinedMediaQuery = generateCombinedMediaQuery(media, property.slice(6).trim());\n          classNames += renderer._renderStyleToClassNames(value, pseudo, combinedMediaQuery, support);\n        } else if (isSupport(property)) {\n          var combinedSupport = generateCombinedMediaQuery(support, property.slice(9).trim());\n          classNames += renderer._renderStyleToClassNames(value, pseudo, media, combinedSupport);\n        } else {\n          // eslint-disable-next-line no-console\n          console.warn(\"The object key \\\"\" + property + \"\\\" is not a valid nested key in Fela.\\nMaybe you forgot to add a plugin to resolve it?\\nCheck http://fela.js.org/docs/basics/Rules.html#styleobject for more information.\");\n        }\n      } else {\n        var declarationReference = generateDeclarationReference(property, value, pseudo, media, support);\n\n        if (!renderer.cache.hasOwnProperty(declarationReference)) {\n          // we remove undefined values to enable\n          // usage of optional props without side-effects\n          if (isUndefinedValue(value)) {\n            renderer.cache[declarationReference] = {\n              className: ''\n            };\n            /* eslint-disable no-continue */\n\n            continue;\n            /* eslint-enable */\n          }\n\n          var className = renderer.selectorPrefix + generateClassName(renderer.getNextRuleIdentifier, renderer.filterClassName);\n          var declaration = cssifyDeclaration(property, value);\n          var selector = generateCSSSelector(className, pseudo);\n          var change = {\n            type: RULE_TYPE,\n            className: className,\n            selector: selector,\n            declaration: declaration,\n            pseudo: pseudo,\n            media: media,\n            support: support\n          };\n          renderer.cache[declarationReference] = change;\n\n          renderer._emitChange(change);\n        }\n\n        var cachedClassName = renderer.cache[declarationReference].className; // only append if we got a class cached\n\n        if (cachedClassName) {\n          classNames += \" \" + cachedClassName;\n        }\n      }\n    }\n\n    return classNames;\n  };\n\n  return renderer;\n}\n//# sourceMappingURL=felaPerformanceEnhancer.js.map\n","/**\n * Checks whether provided CSS property value is safe for being rendered by Fela engine.\n */\nvar isValidCssValue = function isValidCssValue(value) {\n  if (typeof value !== 'string') {\n    return true;\n  }\n\n  var openingBrackets = '({[';\n  var closingBrackets = ')}]';\n  var openingBracketsStack = [];\n  /**\n   * This loop logic checks whether braces sequence of input argument is valid.\n   * Essentially, it ensures that each of the '(', '{', '[' braces\n   * - is properly matched by its complementary closing character\n   * - closing brace properly corresponds to the last opened one\n   */\n\n  for (var i = 0; i < value.length; ++i) {\n    var currentCharacter = value[i];\n\n    if (openingBrackets.includes(currentCharacter)) {\n      openingBracketsStack.push(currentCharacter);\n    } else if (closingBrackets.includes(currentCharacter)) {\n      var lastOpeningBracket = openingBracketsStack.pop();\n\n      if (lastOpeningBracket && openingBrackets.indexOf(lastOpeningBracket) !== closingBrackets.indexOf(currentCharacter)) {\n        return false;\n      }\n    }\n  }\n\n  return openingBracketsStack.length === 0;\n};\n\nvar cssPropertiesToSkip = ['content', 'keyframe'];\nexport var felaSanitizeCssPlugin = function felaSanitizeCssPlugin(styles, type, renderer, props) {\n  if (!props.sanitizeCss) {\n    return styles;\n  }\n\n  var processedStyles = Array.isArray(styles) ? [] : {};\n  Object.keys(styles).forEach(function (cssPropertyNameOrIndex) {\n    var cssPropertyValue = styles[cssPropertyNameOrIndex];\n\n    if (typeof cssPropertyValue === 'object') {\n      processedStyles[cssPropertyNameOrIndex] = felaSanitizeCssPlugin(cssPropertyValue, type, renderer, props);\n      return;\n    }\n\n    var isPropertyToSkip = cssPropertiesToSkip.some(function (propToExclude) {\n      return propToExclude === cssPropertyNameOrIndex;\n    });\n\n    if (isPropertyToSkip) {\n      processedStyles[cssPropertyNameOrIndex] = cssPropertyValue;\n      return;\n    }\n\n    if (isValidCssValue(cssPropertyValue)) {\n      processedStyles[cssPropertyNameOrIndex] = cssPropertyValue;\n    } else if (process.env.NODE_ENV !== 'production') {\n      // eslint-disable-next-line no-console\n      console.warn(\"fela-sanitize-css: An invalid value \\\"\" + cssPropertyValue + \"\\\" was passed to property \\\"\" + cssPropertyNameOrIndex + \"\\\"\");\n    }\n  });\n  return processedStyles;\n};\n//# sourceMappingURL=felaSanitizeCssPlugin.js.map\n","import { RULE_TYPE } from 'fela-utils'; // @ts-ignore\n\nimport _Stylis from 'stylis';\n// `stylis@3` is a CJS library, there are known issues with them:\n// https://github.com/rollup/rollup/issues/1267#issuecomment-446681320\nvar Stylis = _Stylis.default || _Stylis; // We use Stylis only for vendor prefixing, all other capabilities are disabled\n\nvar stylis = new Stylis({\n  cascade: false,\n  compress: false,\n  global: false,\n  keyframe: false,\n  preserve: false,\n  semicolon: false\n});\nexport var felaStylisEnhancer = function felaStylisEnhancer(renderer) {\n  var existingEmitChange = renderer._emitChange.bind(renderer);\n\n  renderer._emitChange = function (change) {\n    if (change.type === RULE_TYPE) {\n      var prefixed = stylis('', change.declaration); // Fela uses objects by references, it's safe to override properties\n\n      change.declaration = prefixed.slice(1, -1);\n    }\n\n    existingEmitChange(change);\n  };\n\n  return renderer;\n};\n//# sourceMappingURL=felaStylisEnhancer.js.map\n","import { createRenderer } from 'fela';\nimport felaPluginEmbedded from 'fela-plugin-embedded';\nimport felaPluginFallbackValue from 'fela-plugin-fallback-value';\nimport felaPluginPlaceholderPrefixer from 'fela-plugin-placeholder-prefixer';\nimport felaPluginRtl from 'fela-plugin-rtl';\nimport * as React from 'react';\nimport { RendererProvider } from 'react-fela';\nimport { felaDisableAnimationsPlugin } from './felaDisableAnimationsPlugin';\nimport { felaExpandCssShorthandsPlugin } from './felaExpandCssShorthandsPlugin';\nimport { felaFocusVisibleEnhancer } from './felaFocusVisibleEnhancer';\nimport { felaInvokeKeyframesPlugin } from './felaInvokeKeyframesPlugin';\nimport { felaPerformanceEnhancer } from './felaPerformanceEnhancer';\nimport { felaSanitizeCssPlugin } from './felaSanitizeCssPlugin';\nimport { felaStylisEnhancer } from './felaStylisEnhancer';\nvar felaDevMode = false;\n\ntry {\n  // eslint-disable-next-line no-undef\n  felaDevMode = !!window.localStorage.felaDevMode;\n} catch (_unused) {}\n\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n  if (felaDevMode) {\n    /* eslint-disable-next-line no-console */\n    console.warn(['@fluentui/react-northstar:', 'You are running Fela in development mode and this can cause performance degrades.', 'To disable it please paste `delete window.localStorage.felaDevMode` to your browsers console and reload current page.'].join(' '));\n  } else {\n    /* eslint-disable-next-line no-console */\n    console.warn(['@fluentui/react-northstar:', 'You are running Fela in production mode.', 'This limits your ability to edit styles in browsers development tools.', 'To enable development mode please paste `window.localStorage.felaDevMode = true` to your browsers console and reload the page.'].join(' '));\n  }\n}\n\nvar blacklistedClassNames = [// Blacklist contains a list of classNames that are used by FontAwesome\n// https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use\n'fa', 'fas', 'far', 'fal', 'fab', // .cke is used by CKEditor\n'ck', 'cke'];\n\nvar filterClassName = function filterClassName(className) {\n  return className.indexOf('ad') === -1 && blacklistedClassNames.indexOf(className) === -1;\n};\n\nvar rendererConfig = {\n  devMode: felaDevMode,\n  filterClassName: filterClassName,\n  enhancers: [felaPerformanceEnhancer, felaFocusVisibleEnhancer, felaStylisEnhancer],\n  plugins: [felaDisableAnimationsPlugin, // is necessary to prevent accidental style typos\n  // from breaking ALL the styles on the page\n  felaSanitizeCssPlugin, felaPluginPlaceholderPrefixer(), felaInvokeKeyframesPlugin, felaPluginEmbedded(), felaExpandCssShorthandsPlugin, // Heads up!\n  // This is required after fela-plugin-prefixer to resolve the array of fallback values prefixer produces.\n  felaPluginFallbackValue(), felaPluginRtl()]\n};\nexport var createFelaRenderer = function createFelaRenderer(target) {\n  var felaRenderer = createRenderer(rendererConfig);\n  var usedRenderers = 0; // rehydration disabled to avoid leaking styles between renderers\n  // https://github.com/rofrischmann/fela/blob/master/docs/api/fela-dom/rehydrate.md\n\n  var Provider = function Provider(props) {\n    return /*#__PURE__*/React.createElement(RendererProvider, {\n      renderer: felaRenderer,\n      rehydrate: false,\n      targetDocument: target\n    }, props.children);\n  };\n\n  return {\n    registerUsage: function registerUsage() {\n      usedRenderers += 1;\n    },\n    unregisterUsage: function unregisterUsage() {\n      usedRenderers -= 1;\n\n      if (usedRenderers === 0) {\n        felaRenderer.listeners = [];\n        felaRenderer.nodes = {};\n        felaRenderer.updateSubscription = undefined;\n      }\n    },\n    renderFont: function renderFont(font) {\n      felaRenderer.renderFont(font.name, font.paths, font.props);\n    },\n    renderGlobal: felaRenderer.renderStatic,\n    renderRule: function renderRule(styles, param) {\n      var felaParam = Object.assign({}, param, {\n        theme: {\n          direction: param.direction\n        }\n      });\n      return felaRenderer.renderRule(function () {\n        return styles;\n      }, felaParam);\n    },\n    // getOriginalRenderer() is implemented only for tests to be compatible with jest-react-fela expectations.\n    getOriginalRenderer: function getOriginalRenderer() {\n      if (process.env.NODE_ENV !== 'test') {\n        throw new Error('This method implements private API and can be used only in tests');\n      }\n\n      return felaRenderer;\n    },\n    Provider: Provider\n  };\n};\n//# sourceMappingURL=createFelaRenderer.js.map\n","import { RULE_TYPE } from 'fela-utils';\n\n/**\n * A Fela enhancer that allows to use `:focus-visible`. Uses `what-input` library and its global\n * selector. Modifies generated selectors:\n * `.a:focus-visible {}` => `html[data-whatinput=\"keyboard\"] a:focus`.\n */\nexport var felaFocusVisibleEnhancer = function felaFocusVisibleEnhancer(renderer) {\n  var existingEmitChange = renderer._emitChange.bind(renderer);\n\n  renderer._emitChange = function (change) {\n    if (change.type === RULE_TYPE && change.selector.indexOf(':focus-visible') !== -1) {\n      // Fela uses objects by references, it's safe to override properties\n      change.pseudo = change.pseudo ? change.pseudo.replace(':focus-visible', ':focus') : '';\n      change.selector = \"html[data-whatinput=\\\"keyboard\\\"] \" + change.selector.replace(':focus-visible', ':focus');\n    }\n\n    existingEmitChange(change);\n  };\n\n  return renderer;\n};\n//# sourceMappingURL=felaFocusVisibleEnhancer.js.map\n","import _isPlainObject from \"lodash/isPlainObject\";\nimport { callable } from '@fluentui/styles';\n\n/**\n * Fela plugin for invoking keyframes with params. The keyframes, defined in the animationName prop,\n * are called with the params object, if defined in the animationName prop.\n *\n * Caution! Infinite recursion is possible in case if style object has links to self in the props\n * tree.\n */\nexport var felaInvokeKeyframesPlugin = function felaInvokeKeyframesPlugin(styles) {\n  return Object.keys(styles).reduce(function (acc, cssPropertyName) {\n    var _Object$assign3;\n\n    var cssPropertyValue = styles[cssPropertyName];\n\n    if (_isPlainObject(cssPropertyValue)) {\n      var _Object$assign2;\n\n      if (cssPropertyName === 'animationName') {\n        var _Object$assign;\n\n        if (cssPropertyValue.keyframe) {\n          styles[cssPropertyName] = callable(cssPropertyValue.keyframe)(cssPropertyValue.params || {});\n        }\n\n        return Object.assign({}, acc, (_Object$assign = {}, _Object$assign[cssPropertyName] = styles[cssPropertyName], _Object$assign));\n      }\n\n      return Object.assign({}, acc, (_Object$assign2 = {}, _Object$assign2[cssPropertyName] = felaInvokeKeyframesPlugin(cssPropertyValue), _Object$assign2));\n    }\n\n    return Object.assign({}, acc, (_Object$assign3 = {}, _Object$assign3[cssPropertyName] = styles[cssPropertyName], _Object$assign3));\n  }, {});\n};\n//# sourceMappingURL=felaInvokeKeyframesPlugin.js.map\n","import transformStyle from 'rtl-css-js';\n\nexport default function rtl() {\n  var defaultDirection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'rtl';\n\n  return function (style, type, renderer, props) {\n    var direction = props && props.theme && props.theme.direction || defaultDirection;\n\n    if (direction === 'rtl') {\n      return transformStyle(style);\n    }\n\n    return style;\n  };\n}","import { createFelaRenderer } from '@fluentui/react-northstar-fela-renderer';\nimport * as React from 'react';\nexport var RendererContext = /*#__PURE__*/React.createContext(createFelaRenderer);\n//# sourceMappingURL=RendererContext.js.map\n","import { mergeThemes } from '@fluentui/styles';\nimport { isBrowser } from './isBrowser';\nvar defaultDocument = {\n  document: 'document'\n};\nvar registeredRenderers = new WeakMap();\nexport var getRenderer = function getRenderer(createRenderer, target) {\n  var actualTarget = target || defaultDocument; // A valid comparisons, default renderer will be used\n\n  if (!isBrowser() || typeof target === 'undefined') {\n    actualTarget = defaultDocument;\n  } // SSR logic will be handled by condition above\n  // eslint-disable-next-line no-undef\n\n\n  if (isBrowser() && target === document) {\n    actualTarget = defaultDocument;\n  }\n\n  if (registeredRenderers.has(actualTarget)) {\n    return registeredRenderers.get(actualTarget);\n  } // To avoid errors related to SSR as `document` may not exist we are using a fake object `defaultDocument`.\n  // When a value matches `defaultDocument` we will pass `undefined` to `createRenderer()` and it should handle it\n  // properly.\n\n\n  var createdRenderer = createRenderer(actualTarget === defaultDocument ? undefined : actualTarget);\n  registeredRenderers.set(actualTarget, createdRenderer);\n  return createdRenderer;\n};\nexport var mergePerformanceOptions = function mergePerformanceOptions(target) {\n  for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    sources[_key - 1] = arguments[_key];\n  }\n\n  return Object.assign.apply(Object, [target].concat(sources));\n};\nexport var mergeBooleanValues = function mergeBooleanValues(target) {\n  for (var _len2 = arguments.length, sources = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n    sources[_key2 - 1] = arguments[_key2];\n  }\n\n  return sources.reduce(function (acc, next) {\n    return typeof next === 'boolean' ? next : acc;\n  }, target);\n};\nexport var mergeProviderContexts = function mergeProviderContexts(createRenderer) {\n  var emptyContext = {\n    theme: {\n      siteVariables: {\n        fontSizes: {}\n      },\n      componentVariables: {},\n      componentStyles: {},\n      fontFaces: [],\n      staticStyles: [],\n      animations: {}\n    },\n    rtl: false,\n    disableAnimations: false,\n    target: isBrowser() ? document : undefined,\n    // eslint-disable-line no-undef\n    performance: {\n      enableSanitizeCssPlugin: process.env.NODE_ENV !== 'production',\n      enableStylesCaching: true,\n      enableVariablesCaching: true,\n      enableBooleanVariablesCaching: false\n    },\n    telemetry: undefined,\n    renderer: undefined\n  };\n\n  for (var _len3 = arguments.length, contexts = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n    contexts[_key3 - 1] = arguments[_key3];\n  }\n\n  return contexts.reduce(function (acc, next) {\n    if (!next) return acc;\n    acc.theme = mergeThemes(acc.theme, next.theme); // Latest RTL value wins\n\n    var mergedRTL = mergeBooleanValues(acc.rtl, next.rtl);\n\n    if (typeof mergedRTL === 'boolean') {\n      acc.rtl = mergedRTL;\n    } // Use provided renderer if it is defined\n\n\n    acc.target = next.target || acc.target;\n    acc.renderer = getRenderer(createRenderer, acc.target); // Latest disableAnimations value wins\n\n    var mergedDisableAnimations = mergeBooleanValues(acc.disableAnimations, next.disableAnimations);\n\n    if (typeof mergedDisableAnimations === 'boolean') {\n      acc.disableAnimations = mergedDisableAnimations;\n    }\n\n    acc.performance = mergePerformanceOptions(acc.performance, next.performance || {});\n    acc.telemetry = next.telemetry || acc.telemetry;\n    return acc;\n  }, emptyContext);\n};\n//# sourceMappingURL=mergeProviderContexts.js.map\n","import _noop from \"lodash/noop\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isFunction from \"lodash/isFunction\";\nimport _forEach from \"lodash/forEach\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport { defaultContextValue, getElementType, useUnhandledProps, RendererContext, Telemetry, useFluentContext, unstable_getStyles, useIsomorphicLayoutEffect, Unstable_FluentContextProvider } from '@fluentui/react-bindings';\nimport { mergeSiteVariables } from '@fluentui/styles';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { setUpWhatInput, tryCleanupWhatInput } from '../../utils';\nimport { mergeProviderContexts } from '../../utils/mergeProviderContexts';\nimport { ProviderConsumer } from './ProviderConsumer';\nimport { usePortalBox, PortalBoxContext } from './usePortalBox';\n\nvar renderFontFaces = function renderFontFaces(renderer, theme) {\n  if (!theme.fontFaces) {\n    return;\n  }\n\n  var renderFontObject = function renderFontObject(font) {\n    if (!_isPlainObject(font)) {\n      throw new Error(\"fontFaces must be objects, got: \" + typeof font);\n    }\n\n    renderer.renderFont(font);\n  };\n\n  theme.fontFaces.forEach(function (font) {\n    renderFontObject(font);\n  });\n};\n\nvar renderStaticStyles = function renderStaticStyles(renderer, theme, siteVariables) {\n  if (!theme.staticStyles) {\n    return;\n  }\n\n  var renderObject = function renderObject(object) {\n    _forEach(object, function (style, selector) {\n      renderer.renderGlobal(style, selector);\n    });\n  };\n\n  theme.staticStyles.forEach(function (staticStyle) {\n    if (typeof staticStyle === 'string') {\n      renderer.renderGlobal(staticStyle);\n    } else if (_isPlainObject(staticStyle)) {\n      renderObject(staticStyle);\n    } else if (_isFunction(staticStyle)) {\n      var preparedSiteVariables = mergeSiteVariables(siteVariables);\n      renderObject(staticStyle(preparedSiteVariables));\n    } else {\n      throw new Error(\"staticStyles array must contain CSS strings, style objects, or style functions, got: \" + typeof staticStyle);\n    }\n  });\n};\n\nexport var providerClassName = 'ui-provider';\n/**\n * The Provider passes the CSS-in-JS renderer, theme styles and other settings to Fluent UI components.\n */\n\nexport var Provider = /*#__PURE__*/function () {\n  var Provider = function Provider(props) {\n    var children = props.children,\n        className = props.className,\n        design = props.design,\n        overwrite = props.overwrite,\n        styles = props.styles,\n        variables = props.variables,\n        telemetryRef = props.telemetryRef;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Provider.handledProps, props);\n    var telemetry = React.useMemo(function () {\n      if (!telemetryRef) {\n        return undefined;\n      }\n\n      if (!telemetryRef.current) {\n        telemetryRef.current = new Telemetry();\n      }\n\n      return telemetryRef.current;\n    }, [telemetryRef]);\n    var consumedContext = useFluentContext();\n    var incomingContext = overwrite ? defaultContextValue : consumedContext;\n    var createRenderer = React.useContext(RendererContext); // Memoization of `inputContext` & `outgoingContext` is required to avoid useless notifications of components that\n    // consume `useFluentContext()` on each render\n    // @see https://reactjs.org/docs/context.html#caveats\n\n    var inputContext = React.useMemo(function () {\n      return {\n        disableAnimations: props.disableAnimations,\n        performance: props.performance,\n        rtl: props.rtl,\n        target: props.target,\n        telemetry: telemetry,\n        theme: props.theme\n      };\n    }, [props.disableAnimations, props.performance, props.rtl, props.target, telemetry, props.theme]);\n    var outgoingContext = React.useMemo(function () {\n      return mergeProviderContexts(createRenderer, incomingContext, inputContext);\n    }, [createRenderer, incomingContext, inputContext]);\n    var rtlProps = {}; // only add dir attribute for top level provider or when direction changes from parent to child\n\n    if (consumedContext.rtl !== outgoingContext.rtl && _isBoolean(outgoingContext.rtl)) {\n      rtlProps.dir = outgoingContext.rtl ? 'rtl' : 'ltr';\n    }\n\n    var _unstable_getStyles = unstable_getStyles({\n      allDisplayNames: [Provider.displayName],\n      className: providerClassName,\n      primaryDisplayName: Provider.displayName,\n      componentProps: {},\n      inlineStylesProps: {\n        className: className,\n        design: design,\n        styles: styles,\n        variables: variables\n      },\n      disableAnimations: outgoingContext.disableAnimations,\n      performance: outgoingContext.performance,\n      renderer: outgoingContext.renderer,\n      rtl: outgoingContext.rtl,\n      theme: outgoingContext.theme,\n      saveDebug: _noop,\n      telemetry: undefined\n    }),\n        classes = _unstable_getStyles.classes;\n\n    var element = usePortalBox({\n      className: classes.root,\n      target: outgoingContext.target,\n      rtl: outgoingContext.rtl\n    });\n    useIsomorphicLayoutEffect(function () {\n      renderFontFaces(outgoingContext.renderer, props.theme);\n      renderStaticStyles(outgoingContext.renderer, props.theme, outgoingContext.theme.siteVariables);\n\n      if (props.target) {\n        setUpWhatInput(props.target);\n      }\n\n      outgoingContext.renderer.registerUsage();\n      return function () {\n        if (props.target) {\n          tryCleanupWhatInput(props.target);\n        }\n\n        outgoingContext.renderer.unregisterUsage();\n      };\n    }, []); // do not spread anything - React.Fragment can only have `key` and `children` props\n\n    var elementProps = ElementType === React.Fragment ? {} : Object.assign({\n      className: classes.root\n    }, rtlProps, unhandledProps);\n    var RenderProvider = outgoingContext.renderer.Provider;\n    return /*#__PURE__*/React.createElement(RenderProvider, null, /*#__PURE__*/React.createElement(Unstable_FluentContextProvider, {\n      value: outgoingContext\n    }, /*#__PURE__*/React.createElement(PortalBoxContext.Provider, {\n      value: element\n    }, /*#__PURE__*/React.createElement(ElementType, elementProps, children))));\n  };\n\n  Provider.displayName = 'Provider';\n  Provider.defaultProps = {\n    theme: {}\n  };\n  Provider.propTypes = {\n    as: PropTypes.elementType,\n    design: PropTypes.object,\n    variables: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    styles: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    theme: PropTypes.shape({\n      siteVariables: PropTypes.object,\n      componentVariables: PropTypes.object,\n      componentStyles: PropTypes.object,\n      fontFaces: PropTypes.arrayOf(PropTypes.shape({\n        name: PropTypes.string,\n        paths: PropTypes.arrayOf(PropTypes.string),\n        style: PropTypes.shape({\n          fontStretch: PropTypes.string,\n          fontStyle: PropTypes.string,\n          fontVariant: PropTypes.string,\n          fontWeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n          localAlias: PropTypes.string,\n          unicodeRange: PropTypes.string\n        })\n      })),\n      staticStyles: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.func])),\n      animations: PropTypes.object\n    }),\n    rtl: PropTypes.bool,\n    disableAnimations: PropTypes.bool,\n    // Heads Up!\n    // Keep in sync with packages/react-bindings/src/styles/types.ts\n    performance: PropTypes.shape({\n      enableSanitizeCssPlugin: PropTypes.bool,\n      enableStylesCaching: PropTypes.bool,\n      enableVariablesCaching: PropTypes.bool\n    }),\n    children: PropTypes.node.isRequired,\n    overwrite: PropTypes.bool,\n    target: PropTypes.object,\n    telemetryRef: PropTypes.object\n  };\n  Provider.handledProps = Object.keys(Provider.propTypes);\n  Provider.Consumer = ProviderConsumer;\n  return Provider;\n}();\n//# sourceMappingURL=Provider.js.map\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n    mapCacheDelete = require('./_mapCacheDelete'),\n    mapCacheGet = require('./_mapCacheGet'),\n    mapCacheHas = require('./_mapCacheHas'),\n    mapCacheSet = require('./_mapCacheSet');\n\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 */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\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 */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseAssignValue = require('./_baseAssignValue'),\n    eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\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 */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignValue;\n","var baseSetToString = require('./_baseSetToString'),\n    shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n    reIsPlainProp = /^\\w*$/;\n\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 */\nfunction isKey(value, object) {\n  if (isArray(value)) {\n    return false;\n  }\n  var type = typeof value;\n  if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n      value == null || isSymbol(value)) {\n    return true;\n  }\n  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n    (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var isPrototype = require('./_isPrototype'),\n    nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n  if (!isPrototype(object)) {\n    return nativeKeys(object);\n  }\n  var result = [];\n  for (var key in Object(object)) {\n    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeys;\n","var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n  return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n    isObjectLike = require('./isObjectLike');\n\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 */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n  if (value === other) {\n    return true;\n  }\n  if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n    return value !== value && other !== other;\n  }\n  return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var MapCache = require('./_MapCache'),\n    setCacheAdd = require('./_setCacheAdd'),\n    setCacheHas = require('./_setCacheHas');\n\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 */\nfunction SetCache(values) {\n  var index = -1,\n      length = values == null ? 0 : values.length;\n\n  this.__data__ = new MapCache;\n  while (++index < length) {\n    this.add(values[index]);\n  }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\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","/**\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\n  set.forEach(function(value) {\n    result[++index] = value;\n  });\n  return result;\n}\n\nmodule.exports = setToArray;\n","/**\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  return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayFilter = require('./_arrayFilter'),\n    stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n  if (object == null) {\n    return [];\n  }\n  object = Object(object);\n  return arrayFilter(nativeGetSymbols(object), function(symbol) {\n    return propertyIsEnumerable.call(object, symbol);\n  });\n};\n\nmodule.exports = getSymbols;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n  var length = array == null ? 0 : array.length;\n  return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","export var categoryColors = {\n  redDark: {\n    100: '#FAF6F6',\n    150: '#F2E4E5',\n    200: '#E7CED1',\n    250: '#CF9BA1',\n    300: '#C07B82',\n    350: '#C98289',\n    400: '#A23D48',\n    450: '#A03843',\n    500: '#96232F',\n    550: '#88232E',\n    600: '#861F2A',\n    650: '#721A23',\n    700: '#69232A',\n    750: '#521319',\n    800: '#4D2327',\n    850: '#3D2326',\n    900: '#292424'\n  },\n  red: {\n    100: '#FCF7F8',\n    150: '#F8E8EA',\n    200: '#F3D7D9',\n    250: '#E7ADB2',\n    300: '#DF9299',\n    350: '#DC8990',\n    400: '#D06069',\n    450: '#CF5B65',\n    500: '#CA4A55',\n    550: '#B6454F',\n    600: '#B6424C',\n    650: '#993840',\n    700: '#883B42',\n    750: '#6E282E',\n    800: '#603135',\n    850: '#492C2E',\n    900: '#2A2425'\n  },\n  orangeDark: {\n    100: '#FCF7F6',\n    150: '#F8E8E4',\n    200: '#F2D5CD',\n    250: '#E5AA99',\n    300: '#DD8E77',\n    350: '#DA846B',\n    400: '#CD5937',\n    450: '#CC5634',\n    500: '#C7431D',\n    550: '#B33F1E',\n    600: '#B23C1A',\n    650: '#973216',\n    700: '#85361F',\n    750: '#6D240F',\n    800: '#5E2F21',\n    850: '#482A22',\n    900: '#2B2423'\n  },\n  orange: {\n    100: '#FEF9F7',\n    150: '#FCECE9',\n    200: '#FBDED7',\n    250: '#F7BBAD',\n    300: '#F4A593',\n    350: '#F39D89',\n    400: '#F07A60',\n    450: '#EF785D',\n    500: '#EE694B',\n    550: '#D66046',\n    600: '#D65E43',\n    650: '#B24932',\n    700: '#9C4D3B',\n    750: '#823929',\n    800: '#6D3C32',\n    850: '#51332C',\n    900: '#2D2725'\n  },\n  orangeLight: {\n    100: '#FEFBF7',\n    150: '#FEF3E8',\n    200: '#FDEAD4',\n    250: '#FCD4A8',\n    300: '#FCC68B',\n    350: '#FBC181',\n    400: '#FAAB54',\n    450: '#FAA950',\n    500: '#FAA03E',\n    550: '#E0903A',\n    600: '#E08F37',\n    650: '#A45D11',\n    700: '#A56F34',\n    750: '#895722',\n    800: '#72502D',\n    850: '#533F29',\n    900: '#2D2925'\n  },\n  yellowDark: {\n    100: '#FDFBF6',\n    150: '#FBF3E4',\n    200: '#F8EACD',\n    250: '#F1D499',\n    300: '#EDC678',\n    350: '#ECC26E',\n    400: '#E5AC39',\n    450: '#E4AA35',\n    500: '#E2A11F',\n    550: '#CA911F',\n    600: '#CA901B',\n    650: '#92660D',\n    700: '#966E20',\n    750: '#7C5811',\n    800: '#685022',\n    850: '#4E3F22',\n    900: '#2C2924'\n  },\n  yellow: {\n    100: '#FEFCF5',\n    150: '#FEF6E2',\n    200: '#FEEFCB',\n    250: '#FEDF95',\n    300: '#FDD472',\n    350: '#FDD066',\n    400: '#FDC030',\n    450: '#FDBF2B',\n    500: '#FDB814',\n    550: '#E3A615',\n    600: '#E4A512',\n    650: '#8F680D',\n    700: '#A67D1B',\n    750: '#805E0B',\n    800: '#72581E',\n    850: '#544420',\n    900: '#2D2922'\n  },\n  brown: {\n    100: '#FBF9F8',\n    150: '#F3EDEA',\n    200: '#E9DDD8',\n    250: '#D3BBAF',\n    300: '#C4A494',\n    350: '#BF9D8C',\n    400: '#A87A63',\n    450: '#A67760',\n    500: '#9D684E',\n    550: '#8E6049',\n    600: '#8C5D46',\n    650: '#764E3B',\n    700: '#6D4C3C',\n    750: '#56392B',\n    800: '#503C33',\n    850: '#3F322D',\n    900: '#292625'\n  },\n  oliveDark: {\n    100: '#F8F9F7',\n    150: '#EBEEE7',\n    200: '#DBE1D5',\n    250: '#B7C2AA',\n    300: '#9EAD8D',\n    350: '#96A683',\n    400: '#708757',\n    450: '#6D8453',\n    500: '#5E7741',\n    550: '#566C3D',\n    600: '#546B3A',\n    650: '#475A31',\n    700: '#465535',\n    750: '#334123',\n    800: '#38412E',\n    850: '#31362A',\n    900: '#272724'\n  },\n  olive: {\n    100: '#FAFBF8',\n    150: '#F1F5EC',\n    200: '#E6EDDC',\n    250: '#CCDBB8',\n    300: '#BBD0A1',\n    350: '#B5CC99',\n    400: '#9BBA75',\n    450: '#99B872',\n    500: '#8EB163',\n    550: '#809F5A',\n    600: '#7F9E58',\n    650: '#56742F',\n    700: '#637849',\n    750: '#4E6136',\n    800: '#4B563A',\n    850: '#3C4231',\n    900: '#292926'\n  },\n  greenDark: {\n    100: '#F5F9F7',\n    150: '#E5EFE9',\n    200: '#CFE1D7',\n    250: '#9EC3AE',\n    300: '#7DAE93',\n    350: '#72A78A',\n    400: '#408861',\n    450: '#3C865D',\n    500: '#27794C',\n    550: '#266E46',\n    600: '#236D44',\n    650: '#1D5C39',\n    700: '#26563B',\n    750: '#154229',\n    800: '#254232',\n    850: '#25362C',\n    900: '#252725'\n  },\n  green: {\n    100: '#F6FBF9',\n    150: '#E5F5ED',\n    200: '#D1ECDF',\n    250: '#A1DABD',\n    300: '#82CDA8',\n    350: '#78C9A0',\n    400: '#48B67F',\n    450: '#45B57C',\n    500: '#30AD6E',\n    550: '#2F9B64',\n    600: '#2B9B62',\n    650: '#248353',\n    700: '#2B7550',\n    750: '#1A5E3C',\n    800: '#29553E',\n    850: '#274134',\n    900: '#242826'\n  },\n  tealDark: {\n    100: '#F6F8F9',\n    150: '#E5EBED',\n    200: '#CEDADD',\n    250: '#9BB4BA',\n    300: '#7B9CA3',\n    350: '#7FA3AB',\n    400: '#3D6E79',\n    450: '#386A75',\n    500: '#235A67',\n    550: '#23535E',\n    600: '#1F515C',\n    650: '#1A444E',\n    700: '#24454C',\n    750: '#133138',\n    800: '#23373C',\n    850: '#243033',\n    900: '#252627'\n  },\n  teal: {\n    100: '#F6F9FA',\n    150: '#E9F0F2',\n    200: '#D6E3E7',\n    250: '#ABC6CE',\n    300: '#8FB3BE',\n    350: '#85ACB8',\n    400: '#5A8F9F',\n    450: '#578D9E',\n    500: '#458193',\n    550: '#417686',\n    600: '#3E7484',\n    650: '#34626F',\n    700: '#375B66',\n    750: '#254650',\n    800: '#2F454C',\n    850: '#2C383C',\n    900: '#262828'\n  },\n  tealLight: {\n    100: '#F8FCFC',\n    150: '#EBF7F7',\n    200: '#DBF1F1',\n    250: '#B5E3E3',\n    300: '#9DD9DB',\n    350: '#96D6D8',\n    400: '#70C8CA',\n    450: '#6DC7C9',\n    500: '#5DC1C3',\n    550: '#55ADAF',\n    600: '#53AEAF',\n    650: '#37797B',\n    700: '#468183',\n    750: '#33696B',\n    800: '#395B5C',\n    850: '#314646',\n    900: '#272A2A'\n  },\n  blueDark: {\n    100: '#F5F7FA',\n    150: '#E0E7F2',\n    200: '#C7D4E8',\n    250: '#8CA7D0',\n    300: '#668AC0',\n    350: '#6991CC',\n    400: '#1E53A3',\n    450: '#1A50A1',\n    500: '#003D97',\n    550: '#053988',\n    600: '#003788',\n    650: '#002E72',\n    700: '#0F3268',\n    750: '#002152',\n    800: '#182D4D',\n    850: '#1D293D',\n    900: '#242528'\n  },\n  blue: {\n    100: '#F6F8FB',\n    150: '#E3EAF3',\n    200: '#CDDAEA',\n    250: '#99B3D4',\n    300: '#779AC6',\n    350: '#7FA3D0',\n    400: '#376BAB',\n    450: '#3469A9',\n    500: '#1D58A0',\n    550: '#1D5190',\n    600: '#1A4F90',\n    650: '#164279',\n    700: '#20426E',\n    750: '#0F3057',\n    800: '#213650',\n    850: '#232F3F',\n    900: '#252629'\n  },\n  purpleDark: {\n    100: '#F7F6FA',\n    150: '#E8E7F2',\n    200: '#D6D4E8',\n    250: '#ADA8D1',\n    300: '#918AC2',\n    350: '#928BC5',\n    400: '#5D53A5',\n    450: '#5A50A4',\n    500: '#483D9A',\n    550: '#443A8C',\n    600: '#40368A',\n    650: '#362E75',\n    700: '#3A336B',\n    750: '#272154',\n    800: '#312D4E',\n    850: '#2C293D',\n    900: '#262529'\n  },\n  purple: {\n    100: '#F9F9FB',\n    150: '#EFEDF5',\n    200: '#E2DEED',\n    250: '#C3BDDC',\n    300: '#AFA6D0',\n    350: '#A99FCC',\n    400: '#8B7DBA',\n    450: '#877AB8',\n    500: '#7B6CB1',\n    550: '#70629F',\n    600: '#6E609E',\n    650: '#5D5286',\n    700: '#584E78',\n    750: '#443B61',\n    800: '#443D56',\n    850: '#383342',\n    900: '#282729'\n  },\n  maroon: {\n    100: '#FBF7F9',\n    150: '#F4E6EE',\n    200: '#EBD3E1',\n    250: '#D6A5C3',\n    300: '#C988AF',\n    350: '#CC87B1',\n    400: '#AF5089',\n    450: '#AD4C87',\n    500: '#A5397A',\n    550: '#953770',\n    600: '#94336D',\n    650: '#7D2B5C',\n    700: '#723057',\n    750: '#5A1F42',\n    800: '#522B42',\n    850: '#412836',\n    900: '#2A2527'\n  },\n  pink: {\n    100: '#FDF7F9',\n    150: '#FAE7EE',\n    200: '#F5D3DF',\n    250: '#ECA4BE',\n    300: '#E687A8',\n    350: '#E47CA1',\n    400: '#DA4E7F',\n    450: '#DA4A7D',\n    500: '#D6376F',\n    550: '#C03465',\n    600: '#C13164',\n    650: '#A22954',\n    700: '#8F2F50',\n    750: '#751E3C',\n    800: '#642A3E',\n    850: '#4B2834',\n    900: '#2B2426'\n  },\n  smokeDark: {\n    100: '#F6F6F6',\n    150: '#E8E8E8',\n    200: '#D5D5D5',\n    250: '#AAAAAA',\n    300: '#8E8E8E',\n    350: '#939393',\n    400: '#5A5A5A',\n    450: '#565656',\n    500: '#444444',\n    550: '#404040',\n    600: '#3D3D3D',\n    650: '#333333',\n    700: '#373737',\n    750: '#252525',\n    800: '#2B2A2A',\n    850: '#282828',\n    900: '#262525'\n  },\n  smokeLight: {\n    100: '#F9F9F9',\n    150: '#EDEDED',\n    200: '#DFDFDF',\n    250: '#BEBEBE',\n    300: '#A9A9A9',\n    350: '#A1A1A1',\n    400: '#818181',\n    450: '#7E7E7E',\n    500: '#707070',\n    550: '#676767',\n    600: '#646464',\n    650: '#555555',\n    700: '#525151',\n    750: '#3D3D3D',\n    800: '#353434',\n    850: '#2E2D2D',\n    900: '#272626'\n  },\n  steelDark: {\n    100: '#F8F9F9',\n    150: '#ECEEEF',\n    200: '#DDE1E2',\n    250: '#BBC2C4',\n    300: '#A5AEB1',\n    350: '#9DA7AB',\n    400: '#7B898D',\n    450: '#78868B',\n    500: '#69797E',\n    550: '#606E73',\n    600: '#5E6D71',\n    650: '#4F5B5F',\n    700: '#4E5659',\n    750: '#394245',\n    800: '#3D4244',\n    850: '#343637',\n    900: '#272727'\n  },\n  steelLight: {\n    100: '#FBFBFB',\n    150: '#F3F3F5',\n    200: '#EAEDEE',\n    250: '#D4DADC',\n    300: '#C7C6D0',\n    350: '#C1CACC',\n    400: '#ACABBB',\n    450: '#A9B5B9',\n    500: '#A0AEB2',\n    550: '#919DA1',\n    600: '#8F9C9F',\n    650: '#637074',\n    700: '#6F7678',\n    750: '#585761',\n    800: '#515556',\n    850: '#404243',\n    900: '#292828'\n  },\n  neon: {\n    100: '#FAFEDF',\n    150: '#F4FBC4',\n    200: '#E9F1AC',\n    250: '#E5F18F',\n    300: '#D9E388',\n    350: '#C8D464',\n    400: '#BDCB4C',\n    450: '#B7C640',\n    500: '#A8B63A',\n    550: '#99A43B',\n    600: '#909A45',\n    650: '#899338',\n    700: '#7A8337',\n    750: '#656C2B',\n    800: '#50571E',\n    850: '#3C4212',\n    900: '#272B0E'\n  }\n};\n\nvar createCategoryColorScheme = function createCategoryColorScheme(color, customValues) {\n  if (customValues === void 0) {\n    customValues = {};\n  }\n\n  return Object.assign({\n    foreground: categoryColors[color][750],\n    foreground1: categoryColors[color][400],\n    background: categoryColors[color][200],\n    borderActive: categoryColors[color][650]\n  }, customValues);\n};\n\nexport var categoryColorScheme = {\n  redDark: createCategoryColorScheme('redDark'),\n  red: createCategoryColorScheme('red'),\n  orangeDark: createCategoryColorScheme('orangeDark'),\n  orange: createCategoryColorScheme('orange'),\n  orangeLight: createCategoryColorScheme('orangeLight'),\n  yellowDark: createCategoryColorScheme('yellowDark'),\n  yellow: createCategoryColorScheme('yellow'),\n  brown: createCategoryColorScheme('brown'),\n  oliveDark: createCategoryColorScheme('oliveDark'),\n  olive: createCategoryColorScheme('olive'),\n  greenDark: createCategoryColorScheme('greenDark'),\n  green: createCategoryColorScheme('green'),\n  tealDark: createCategoryColorScheme('tealDark'),\n  teal: createCategoryColorScheme('teal'),\n  tealLight: createCategoryColorScheme('tealLight'),\n  blueDark: createCategoryColorScheme('blueDark'),\n  blue: createCategoryColorScheme('blue'),\n  purpleDark: createCategoryColorScheme('purpleDark'),\n  purple: createCategoryColorScheme('purple'),\n  maroon: createCategoryColorScheme('maroon'),\n  pink: createCategoryColorScheme('pink'),\n  smokeDark: createCategoryColorScheme('smokeDark'),\n  smokeLight: createCategoryColorScheme('smokeLight'),\n  steelDark: createCategoryColorScheme('steelDark'),\n  steelLight: createCategoryColorScheme('steelLight'),\n  neon: createCategoryColorScheme('neon'),\n  formatting: {\n    foreground1: categoryColors.red[600],\n    background1: categoryColors.red[300],\n    foreground2: categoryColors.orangeDark[400],\n    background2: categoryColors.orange[300],\n    foreground3: categoryColors.yellow[400],\n    background3: categoryColors.yellow[300],\n    foreground4: categoryColors.neon[450],\n    background4: categoryColors.neon[200],\n    foreground5: categoryColors.green[600],\n    background5: categoryColors.green[300],\n    foreground6: categoryColors.tealLight[650],\n    background6: categoryColors.tealLight[300],\n    foreground7: categoryColors.blueDark[400],\n    background7: categoryColors.blueDark[200],\n    foreground8: categoryColors.maroon[500],\n    background8: categoryColors.maroon[200]\n  }\n};\n//# sourceMappingURL=categoryColors.js.map\n","/**\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;\n","var SetCache = require('./_SetCache'),\n    arrayIncludes = require('./_arrayIncludes'),\n    arrayIncludesWith = require('./_arrayIncludesWith'),\n    arrayMap = require('./_arrayMap'),\n    baseUnary = require('./_baseUnary'),\n    cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n  var index = -1,\n      includes = arrayIncludes,\n      isCommon = true,\n      length = array.length,\n      result = [],\n      valuesLength = values.length;\n\n  if (!length) {\n    return result;\n  }\n  if (iteratee) {\n    values = arrayMap(values, baseUnary(iteratee));\n  }\n  if (comparator) {\n    includes = arrayIncludesWith;\n    isCommon = false;\n  }\n  else if (values.length >= LARGE_ARRAY_SIZE) {\n    includes = cacheHas;\n    isCommon = false;\n    values = new SetCache(values);\n  }\n  outer:\n  while (++index < length) {\n    var value = array[index],\n        computed = iteratee == null ? value : iteratee(value);\n\n    value = (comparator || value !== 0) ? value : 0;\n    if (isCommon && computed === computed) {\n      var valuesIndex = valuesLength;\n      while (valuesIndex--) {\n        if (values[valuesIndex] === computed) {\n          continue outer;\n        }\n      }\n      result.push(value);\n    }\n    else if (!includes(values, computed, comparator)) {\n      result.push(value);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseDifference;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n    MAX_INTEGER = 1.7976931348623157e+308;\n\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 */\nfunction toFinite(value) {\n  if (!value) {\n    return value === 0 ? value : 0;\n  }\n  value = toNumber(value);\n  if (value === INFINITY || value === -INFINITY) {\n    var sign = (value < 0 ? -1 : 1);\n    return sign * MAX_INTEGER;\n  }\n  return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\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 */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\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    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result) || cache;\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseValues = require('./_baseValues'),\n    keys = require('./keys');\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\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 values.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n  return object == null ? [] : baseValues(object, keys(object));\n}\n\nmodule.exports = values;\n","/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\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    if (value) {\n      result[resIndex++] = value;\n    }\n  }\n  return result;\n}\n\nmodule.exports = compact;\n","var baseExtremum = require('./_baseExtremum'),\n    baseLt = require('./_baseLt'),\n    identity = require('./identity');\n\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 */\nfunction min(array) {\n  return (array && array.length)\n    ? baseExtremum(array, identity, baseLt)\n    : undefined;\n}\n\nmodule.exports = min;\n","var baseSum = require('./_baseSum'),\n    identity = require('./identity');\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n  return (array && array.length)\n    ? baseSum(array, identity)\n    : 0;\n}\n\nmodule.exports = sum;\n","import { compose } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var buttonContentClassName = 'ui-button__content';\n/**\n * A ButtonContent allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ButtonContent = /*#__PURE__*/function () {\n  var ButtonContent = compose(Box, {\n    className: buttonContentClassName,\n    displayName: 'ButtonContent',\n    mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n      return {\n        size: props.size\n      };\n    },\n    handledProps: ['size'],\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ButtonContent.defaultProps = {\n    as: 'span'\n  };\n  ButtonContent.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    size: customPropTypes.size\n  });\n  return ButtonContent;\n}();\n//# sourceMappingURL=ButtonContent.js.map\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n  module.exports = require('./cjs/scheduler.development.js');\n}\n","var baseInRange = require('./_baseInRange'),\n    toFinite = require('./toFinite'),\n    toNumber = require('./toNumber');\n\n/**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\nfunction inRange(number, start, end) {\n  start = toFinite(start);\n  if (end === undefined) {\n    end = start;\n    start = 0;\n  } else {\n    end = toFinite(end);\n  }\n  number = toNumber(number);\n  return baseInRange(number, start, end);\n}\n\nmodule.exports = inRange;\n","import { EnterKey, SpacebarKey, keyboardKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @description\n *  Adds attribute 'aria-checked=true' based on the properties 'selectable' & 'selected' if the component has 'hasSubtree' property false or undefined. Does not set anything if true.\n *  Triggers 'performClick' action with 'Spacebar' on 'root', when tree title is selectable.\n *  @specification\n * Adds attribute 'tabIndex=-1' to 'root' slot if 'hasSubtree' property is false or undefined. Does not set the attribute if true.\n * Adds attribute 'role=treeitem' to 'root' slot if 'hasSubtree' property is false or undefined. Does not set the attribute if true.\n * Adds attribute 'aria-setsize=3' based on the property 'treeSize' if the component has 'hasSubtree' property false or undefined. Does not set anything if true..\n * Adds attribute 'aria-posinset=2' based on the property 'index' if the component has 'hasSubtree' property false or undefined. Does not set anything if true..\n * Adds attribute 'aria-level=1' based on the property 'level' if the component has 'hasSubtree' property false or undefined. Does not set anything if true..\n * Triggers 'performClick' action with 'Spacebar' on 'root'.\n */\nexport var treeTitleBehavior = function treeTitleBehavior(props) {\n  var _Object$assign;\n\n  var definition = {\n    attributes: {\n      root: Object.assign({}, !props.hasSubtree && Object.assign((_Object$assign = {\n        tabIndex: -1\n      }, _Object$assign[IS_FOCUSABLE_ATTRIBUTE] = true, _Object$assign.role = 'treeitem', _Object$assign['aria-setsize'] = props.treeSize, _Object$assign['aria-posinset'] = props.index, _Object$assign['aria-level'] = props.level, _Object$assign), props.selectable && {\n        'aria-checked': props.selected\n      }))\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: props.selectable ? [{\n            keyCode: SpacebarKey\n          }] : [{\n            keyCode: SpacebarKey\n          }, {\n            keyCode: EnterKey\n          }]\n        },\n        focusParent: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowLeft\n          }]\n        }\n      }\n    }\n  };\n\n  if (process.env.NODE_ENV !== 'production' && props.hasSubtree) {\n    // Override the default trigger's accessibility schema class.\n    definition.attributes.root['data-aa-class'] = 'ExpandableTreeTitle';\n  }\n\n  return definition;\n};\n//# sourceMappingURL=treeTitleBehavior.js.map\n","/*\n *          __        ___\n *    _____/ /___  __/ (_)____\n *   / ___/ __/ / / / / / ___/\n *  (__  ) /_/ /_/ / / (__  )\n * /____/\\__/\\__, /_/_/____/\n *          /____/\n *\n * light - weight css preprocessor @licence MIT\n */\n(function (factory) {/* eslint-disable */\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? (module['exports'] = factory(null)) :\n\t\ttypeof define === 'function' && define['amd'] ? define(factory(null)) :\n\t\t\t(window['stylis'] = factory(null))\n}(/** @param {*=} options */function factory (options) {/* eslint-disable */\n\n\t'use strict'\n\n\t/**\n\t * Notes\n\t *\n\t * The ['<method name>'] pattern is used to support closure compiler\n\t * the jsdoc signatures are also used to the same effect\n\t *\n\t * ----\n\t *\n\t * int + int + int === n4 [faster]\n\t *\n\t * vs\n\t *\n\t * int === n1 && int === n2 && int === n3\n\t *\n\t * ----\n\t *\n\t * switch (int) { case ints...} [faster]\n\t *\n\t * vs\n\t *\n\t * if (int == 1 && int === 2 ...)\n\t *\n\t * ----\n\t *\n\t * The (first*n1 + second*n2 + third*n3) format used in the property parser\n\t * is a simple way to hash the sequence of characters\n\t * taking into account the index they occur in\n\t * since any number of 3 character sequences could produce duplicates.\n\t *\n\t * On the other hand sequences that are directly tied to the index of the character\n\t * resolve a far more accurate measure, it's also faster\n\t * to evaluate one condition in a switch statement\n\t * than three in an if statement regardless of the added math.\n\t *\n\t * This allows the vendor prefixer to be both small and fast.\n\t */\n\n\tvar nullptn = /^\\0+/g /* matches leading null characters */\n\tvar formatptn = /[\\0\\r\\f]/g /* matches new line, null and formfeed characters */\n\tvar colonptn = /: */g /* splits animation rules */\n\tvar cursorptn = /zoo|gra/ /* assert cursor varient */\n\tvar transformptn = /([,: ])(transform)/g /* vendor prefix transform, older webkit */\n\tvar animationptn = /,+\\s*(?![^(]*[)])/g /* splits multiple shorthand notation animations */\n\tvar propertiesptn = / +\\s*(?![^(]*[)])/g /* animation properties */\n\tvar elementptn = / *[\\0] */g /* selector elements */\n\tvar selectorptn = /,\\r+?/g /* splits selectors */\n\tvar andptn = /([\\t\\r\\n ])*\\f?&/g /* match & */\n\tvar escapeptn = /:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g /* matches :global(.*) */\n\tvar invalidptn = /\\W+/g /* removes invalid characters from keyframes */\n\tvar keyframeptn = /@(k\\w+)\\s*(\\S*)\\s*/ /* matches @keyframes $1 */\n\tvar plcholdrptn = /::(place)/g /* match ::placeholder varient */\n\tvar readonlyptn = /:(read-only)/g /* match :read-only varient */\n\tvar beforeptn = /\\s+(?=[{\\];=:>])/g /* matches \\s before ] ; = : */\n\tvar afterptn = /([[}=:>])\\s+/g /* matches \\s after characters [ } = : */\n\tvar tailptn = /(\\{[^{]+?);(?=\\})/g /* matches tail semi-colons ;} */\n\tvar whiteptn = /\\s{2,}/g /* matches repeating whitespace */\n\tvar pseudoptn = /([^\\(])(:+) */g /* pseudo element */\n\tvar writingptn = /[svh]\\w+-[tblr]{2}/ /* match writing mode property values */\n\tvar gradientptn = /([\\w-]+t\\()/g /* match *gradient property */\n\tvar supportsptn = /\\(\\s*(.*)\\s*\\)/g /* match supports (groups) */\n\tvar propertyptn = /([\\s\\S]*?);/g /* match properties leading semicolon */\n\tvar selfptn = /-self|flex-/g /* match flex- and -self in align-self: flex-*; */\n\tvar pseudofmt = /[^]*?(:[rp][el]a[\\w-]+)[^]*/ /* extrats :readonly or :placholder from selector */\n\tvar trimptn = /[ \\t]+$/ /* match tail whitspace */\n\tvar dimensionptn = /stretch|:\\s*\\w+\\-(?:conte|avail)/ /* match max/min/fit-content, fill-available */\n\tvar imgsrcptn = /([^-])(image-set\\()/\n\n\t/* vendors */\n\tvar webkit = '-webkit-'\n\tvar moz = '-moz-'\n\tvar ms = '-ms-'\n\n\t/* character codes */\n\tvar SEMICOLON = 59 /* ; */\n\tvar CLOSEBRACES = 125 /* } */\n\tvar OPENBRACES = 123 /* { */\n\tvar OPENPARENTHESES = 40 /* ( */\n\tvar CLOSEPARENTHESES = 41 /* ) */\n\tvar OPENBRACKET = 91 /* [ */\n\tvar CLOSEBRACKET = 93 /* ] */\n\tvar NEWLINE = 10 /* \\n */\n\tvar CARRIAGE = 13 /* \\r */\n\tvar TAB = 9 /* \\t */\n\tvar AT = 64 /* @ */\n\tvar SPACE = 32 /*   */\n\tvar AND = 38 /* & */\n\tvar DASH = 45 /* - */\n\tvar UNDERSCORE = 95 /* _ */\n\tvar STAR = 42 /* * */\n\tvar COMMA = 44 /* , */\n\tvar COLON = 58 /* : */\n\tvar SINGLEQUOTE = 39 /* ' */\n\tvar DOUBLEQUOTE = 34 /* \" */\n\tvar FOWARDSLASH = 47 /* / */\n\tvar GREATERTHAN = 62 /* > */\n\tvar PLUS = 43 /* + */\n\tvar TILDE = 126 /* ~ */\n\tvar NULL = 0 /* \\0 */\n\tvar FORMFEED = 12 /* \\f */\n\tvar VERTICALTAB = 11 /* \\v */\n\n\t/* special identifiers */\n\tvar KEYFRAME = 107 /* k */\n\tvar MEDIA = 109 /* m */\n\tvar SUPPORTS = 115 /* s */\n\tvar PLACEHOLDER = 112 /* p */\n\tvar READONLY = 111 /* o */\n\tvar IMPORT = 105 /* <at>i */\n\tvar CHARSET = 99 /* <at>c */\n\tvar DOCUMENT = 100 /* <at>d */\n\tvar PAGE = 112 /* <at>p */\n\n\tvar column = 1 /* current column */\n\tvar line = 1 /* current line numebr */\n\tvar pattern = 0 /* :pattern */\n\n\tvar cascade = 1 /* #id h1 h2 vs h1#id h2#id  */\n\tvar prefix = 1 /* vendor prefix */\n\tvar escape = 1 /* escape :global() pattern */\n\tvar compress = 0 /* compress output */\n\tvar semicolon = 0 /* no/semicolon option */\n\tvar preserve = 0 /* preserve empty selectors */\n\n\t/* empty reference */\n\tvar array = []\n\n\t/* plugins */\n\tvar plugins = []\n\tvar plugged = 0\n\tvar should = null\n\n\t/* plugin context */\n\tvar POSTS = -2\n\tvar PREPS = -1\n\tvar UNKWN = 0\n\tvar PROPS = 1\n\tvar BLCKS = 2\n\tvar ATRUL = 3\n\n\t/* plugin newline context */\n\tvar unkwn = 0\n\n\t/* keyframe animation */\n\tvar keyed = 1\n\tvar key = ''\n\n\t/* selector namespace */\n\tvar nscopealt = ''\n\tvar nscope = ''\n\n\t/**\n\t * Compile\n\t *\n\t * @param {Array<string>} parent\n\t * @param {Array<string>} current\n\t * @param {string} body\n\t * @param {number} id\n\t * @param {number} depth\n\t * @return {string}\n\t */\n\tfunction compile (parent, current, body, id, depth) {\n\t\tvar bracket = 0 /* brackets [] */\n\t\tvar comment = 0 /* comments /* // or /* */\n\t\tvar parentheses = 0 /* functions () */\n\t\tvar quote = 0 /* quotes '', \"\" */\n\n\t\tvar first = 0 /* first character code */\n\t\tvar second = 0 /* second character code */\n\t\tvar code = 0 /* current character code */\n\t\tvar tail = 0 /* previous character code */\n\t\tvar trail = 0 /* character before previous code */\n\t\tvar peak = 0 /* previous non-whitespace code */\n\n\t\tvar counter = 0 /* count sequence termination */\n\t\tvar context = 0 /* track current context */\n\t\tvar atrule = 0 /* track @at-rule context */\n\t\tvar pseudo = 0 /* track pseudo token index */\n\t\tvar caret = 0 /* current character index */\n\t\tvar format = 0 /* control character formating context */\n\t\tvar insert = 0 /* auto semicolon insertion */\n\t\tvar invert = 0 /* inverted selector pattern */\n\t\tvar length = 0 /* generic length address */\n\t\tvar eof = body.length /* end of file(length) */\n\t\tvar eol = eof - 1 /* end of file(characters) */\n\n\t\tvar char = '' /* current character */\n\t\tvar chars = '' /* current buffer of characters */\n\t\tvar child = '' /* next buffer of characters */\n\t\tvar out = '' /* compiled body */\n\t\tvar children = '' /* compiled children */\n\t\tvar flat = '' /* compiled leafs */\n\t\tvar selector /* generic selector address */\n\t\tvar result /* generic address */\n\n\t\t// ...build body\n\t\twhile (caret < eof) {\n\t\t\tcode = body.charCodeAt(caret)\n\n\t\t\t// eof varient\n\t\t\tif (caret === eol) {\n\t\t\t\t// last character + noop context, add synthetic padding for noop context to terminate\n\t\t\t\tif (comment + quote + parentheses + bracket !== 0) {\n\t\t\t\t\tif (comment !== 0) {\n\t\t\t\t\t\tcode = comment === FOWARDSLASH ? NEWLINE : FOWARDSLASH\n\t\t\t\t\t}\n\n\t\t\t\t\tquote = parentheses = bracket = 0\n\t\t\t\t\teof++\n\t\t\t\t\teol++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t// eof varient\n\t\t\t\tif (caret === eol) {\n\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t}\n\n\t\t\t\t\tif (chars.trim().length > 0) {\n\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tchars += body.charAt(caret)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcode = SEMICOLON\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// auto semicolon insertion\n\t\t\t\tif (insert === 1) {\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t// false flags\n\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\tcase OPENPARENTHESES:\n\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// ignore\n\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// valid\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\tfirst = code\n\t\t\t\t\t\t\tcaret--\n\t\t\t\t\t\t\tcode = SEMICOLON\n\n\t\t\t\t\t\t\twhile (length < eof) {\n\t\t\t\t\t\t\t\tswitch (body.charCodeAt(length++)) {\n\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\tcase CARRIAGE:\n\t\t\t\t\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\t\t\t++caret\n\t\t\t\t\t\t\t\t\t\t\tcode = first\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\t\tlength = eof\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// token varient\n\t\t\t\tswitch (code) {\n\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\tchars = chars.trim()\n\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\tcounter = 1\n\t\t\t\t\t\tlength = ++caret\n\n\t\t\t\t\t\twhile (caret < eof) {\n\t\t\t\t\t\t\tswitch (code = body.charCodeAt(caret)) {\n\t\t\t\t\t\t\t\tcase OPENBRACES: {\n\t\t\t\t\t\t\t\t\tcounter++\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\t\tcounter--\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\tswitch (second = body.charCodeAt(caret + 1)) {\n\t\t\t\t\t\t\t\t\t\t// /*, //\n\t\t\t\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\t\t\t\t\tcaret = delimited(second, caret, eol, body)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// given \"[\" === 91 & \"]\" === 93 hence forth 91 + 1 + 1 === 93\n\t\t\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// given \"(\" === 40 & \")\" === 41 hence forth 40 + 1 === 41\n\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\tcode++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// quote tail delimiter is identical to the head delimiter hence noop,\n\t\t\t\t\t\t\t\t// fallthrough clauses have been shifted to the correct tail delimiter\n\t\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\t\t\twhile (caret++ < eol) {\n\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(caret) === code) {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (counter === 0) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tcaret++\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchild = body.substring(length, caret)\n\n\t\t\t\t\t\tif (first === NULL) {\n\t\t\t\t\t\t\tfirst = (chars = chars.replace(nullptn, '').trim()).charCodeAt(0)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t// @at-rule\n\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\tif (format > 0) {\n\t\t\t\t\t\t\t\t\tchars = chars.replace(formatptn, '')\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\n\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\tcase SUPPORTS:\n\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\tselector = current\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\tselector = array\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tchild = compile(current, selector, child, second, depth+1)\n\t\t\t\t\t\t\t\tlength = child.length\n\n\t\t\t\t\t\t\t\t// preserve empty @at-rule\n\t\t\t\t\t\t\t\tif (preserve > 0 && length === 0) {\n\t\t\t\t\t\t\t\t\tlength = chars.length\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// execute plugins, @at-rule context\n\t\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\t\tselector = select(array, chars, invert)\n\t\t\t\t\t\t\t\t\tresult = proxy(ATRUL, child, selector, current, line, column, length, second, depth, id)\n\t\t\t\t\t\t\t\t\tchars = selector.join('')\n\n\t\t\t\t\t\t\t\t\tif (result !== void 0) {\n\t\t\t\t\t\t\t\t\t\tif ((length = (child = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\t\tsecond = 0\n\t\t\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (length > 0) {\n\t\t\t\t\t\t\t\t\tswitch (second) {\n\t\t\t\t\t\t\t\t\t\tcase SUPPORTS: {\n\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(supportsptn, supports)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase DOCUMENT:\n\t\t\t\t\t\t\t\t\t\tcase MEDIA:\n\t\t\t\t\t\t\t\t\t\tcase DASH: {\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcase KEYFRAME: {\n\t\t\t\t\t\t\t\t\t\t\tchars = chars.replace(keyframeptn, '$1 $2' + (keyed > 0 ? key : ''))\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + '{' + child + '}'\n\n\t\t\t\t\t\t\t\t\t\t\tif (prefix === 1 || (prefix === 2 && vendor('@'+child, 3))) {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + webkit + child + '@' + child\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = '@' + child\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tchild = chars + child\n\n\t\t\t\t\t\t\t\t\t\t\tif (id === PAGE) {\n\t\t\t\t\t\t\t\t\t\t\t\tchild = (out += child, '')\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// selector\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tchild = compile(current, select(current, chars, invert), child, id, depth+1)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchildren += child\n\n\t\t\t\t\t\t// reset\n\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\tatrule = 0\n\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\tchild = ''\n\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\tcase SEMICOLON: {\n\t\t\t\t\t\tchars = (format > 0 ? chars.replace(formatptn, '') : chars).trim()\n\n\t\t\t\t\t\tif ((length = chars.length) > 1) {\n\t\t\t\t\t\t\t// monkey-patch missing colon\n\t\t\t\t\t\t\tif (pseudo === 0) {\n\t\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\n\t\t\t\t\t\t\t\t// first character is a letter or dash, buffer has a space character\n\t\t\t\t\t\t\t\tif ((first === DASH || first > 96 && first < 123)) {\n\t\t\t\t\t\t\t\t\tlength = (chars = chars.replace(' ', ':')).length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// execute plugins, property context\n\t\t\t\t\t\t\tif (plugged > 0) {\n\t\t\t\t\t\t\t\tif ((result = proxy(PROPS, chars, current, parent, line, column, out.length, id, depth, id)) !== void 0) {\n\t\t\t\t\t\t\t\t\tif ((length = (chars = result.trim()).length) === 0) {\n\t\t\t\t\t\t\t\t\t\tchars = '\\0\\0'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfirst = chars.charCodeAt(0)\n\t\t\t\t\t\t\tsecond = chars.charCodeAt(1)\n\n\t\t\t\t\t\t\tswitch (first) {\n\t\t\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\t\t\tif (second === IMPORT || second === CHARSET) {\n\t\t\t\t\t\t\t\t\t\tflat += chars + body.charAt(caret)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\tif (chars.charCodeAt(length-1) === COLON) {\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tout += property(chars, first, second, chars.charCodeAt(2))\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// reset\n\t\t\t\t\t\tcontext = 0\n\t\t\t\t\t\tinsert = 0\n\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\tformat = 0\n\t\t\t\t\t\tinvert = 0\n\t\t\t\t\t\tchars = ''\n\t\t\t\t\t\tcode = body.charCodeAt(++caret)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// parse characters\n\t\t\tswitch (code) {\n\t\t\t\tcase CARRIAGE:\n\t\t\t\tcase NEWLINE: {\n\t\t\t\t\t// auto insert semicolon\n\t\t\t\t\tif (comment + quote + parentheses + bracket + semicolon === 0) {\n\t\t\t\t\t\t// valid non-whitespace characters that\n\t\t\t\t\t\t// may precede a newline\n\t\t\t\t\t\tswitch (peak) {\n\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\tcase SINGLEQUOTE:\n\t\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\t\tcase AT:\n\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\tcase FOWARDSLASH:\n\t\t\t\t\t\t\tcase DASH:\n\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t// current buffer has a colon\n\t\t\t\t\t\t\t\tif (pseudo > 0) {\n\t\t\t\t\t\t\t\t\tinsert = 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// terminate line comment\n\t\t\t\t\tif (comment === FOWARDSLASH) {\n\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t} else if (cascade + context === 0 && id !== KEYFRAME && chars.length > 0) {\n\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\tchars += '\\0'\n\t\t\t\t\t}\n\n\t\t\t\t\t// execute plugins, newline context\n\t\t\t\t\tif (plugged * unkwn > 0) {\n\t\t\t\t\t\tproxy(UNKWN, chars, current, parent, line, column, out.length, id, depth, id)\n\t\t\t\t\t}\n\n\t\t\t\t\t// next line, reset column position\n\t\t\t\t\tcolumn = 1\n\t\t\t\t\tline++\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase SEMICOLON:\n\t\t\t\tcase CLOSEBRACES: {\n\t\t\t\t\tif (comment + quote + parentheses + bracket === 0) {\n\t\t\t\t\t\tcolumn++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\t// increment column position\n\t\t\t\t\tcolumn++\n\n\t\t\t\t\t// current character\n\t\t\t\t\tchar = body.charAt(caret)\n\n\t\t\t\t\t// remove comments, escape functions, strings, attributes and prepare selectors\n\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\tif (quote + bracket + comment === 0) {\n\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\tcase COLON:\n\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\tif (code !== SPACE) {\n\t\t\t\t\t\t\t\t\t\t\tchar = ' '\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// escape breaking control characters\n\t\t\t\t\t\tcase NULL: {\n\t\t\t\t\t\t\tchar = '\\\\0'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase FORMFEED: {\n\t\t\t\t\t\t\tchar = '\\\\f'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase VERTICALTAB: {\n\t\t\t\t\t\t\tchar = '\\\\v'\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// &\n\t\t\t\t\t\tcase AND: {\n\t\t\t\t\t\t\t// inverted selector pattern i.e html &\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0 && cascade > 0) {\n\t\t\t\t\t\t\t\tinvert = 1\n\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\tchar = '\\f' + char\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// ::p<l>aceholder, l\n\t\t\t\t\t\t// :read-on<l>y, l\n\t\t\t\t\t\tcase 108: {\n\t\t\t\t\t\t\tif (quote + comment + bracket + pattern === 0 && pseudo > 0) {\n\t\t\t\t\t\t\t\tswitch (caret - pseudo) {\n\t\t\t\t\t\t\t\t\t// ::placeholder\n\t\t\t\t\t\t\t\t\tcase 2: {\n\t\t\t\t\t\t\t\t\t\tif (tail === PLACEHOLDER && body.charCodeAt(caret-3) === COLON) {\n\t\t\t\t\t\t\t\t\t\t\tpattern = tail\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// :read-only\n\t\t\t\t\t\t\t\t\tcase 8: {\n\t\t\t\t\t\t\t\t\t\tif (trail === READONLY) {\n\t\t\t\t\t\t\t\t\t\t\tpattern = trail\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// :<pattern>\n\t\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tpseudo = caret\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// selectors\n\t\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket === 0) {\n\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\tchar += '\\r'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// quotes\n\t\t\t\t\t\tcase DOUBLEQUOTE:\n\t\t\t\t\t\tcase SINGLEQUOTE: {\n\t\t\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t\t\tquote = quote === code ? 0 : (quote === 0 ? code : quote)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// attributes\n\t\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\tbracket++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase CLOSEBRACKET: {\n\t\t\t\t\t\t\tif (quote + comment + parentheses === 0) {\n\t\t\t\t\t\t\t\tbracket--\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// functions\n\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tparentheses--\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\tif (quote + comment + bracket === 0) {\n\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\tswitch (tail*2 + trail*3) {\n\t\t\t\t\t\t\t\t\t\t// :matches\n\t\t\t\t\t\t\t\t\t\tcase 533: {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// :global, :not, :nth-child etc...\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tcounter = 0\n\t\t\t\t\t\t\t\t\t\t\tcontext = 1\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tparentheses++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcase AT: {\n\t\t\t\t\t\t\tif (comment + parentheses + quote + bracket + pseudo + atrule === 0) {\n\t\t\t\t\t\t\t\tatrule = 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// block/line comments\n\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\t\t\tif (quote + bracket + parentheses > 0) {\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tswitch (comment) {\n\t\t\t\t\t\t\t\t// initialize line/block comment context\n\t\t\t\t\t\t\t\tcase 0: {\n\t\t\t\t\t\t\t\t\tswitch (code*2 + body.charCodeAt(caret+1)*3) {\n\t\t\t\t\t\t\t\t\t\t// //\n\t\t\t\t\t\t\t\t\t\tcase 235: {\n\t\t\t\t\t\t\t\t\t\t\tcomment = FOWARDSLASH\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// /*\n\t\t\t\t\t\t\t\t\t\tcase 220: {\n\t\t\t\t\t\t\t\t\t\t\tlength = caret\n\t\t\t\t\t\t\t\t\t\t\tcomment = STAR\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// end block comment context\n\t\t\t\t\t\t\t\tcase STAR: {\n\t\t\t\t\t\t\t\t\tif (code === FOWARDSLASH && tail === STAR && length + 2 !== caret) {\n\t\t\t\t\t\t\t\t\t\t// /*<!> ... */, !\n\t\t\t\t\t\t\t\t\t\tif (body.charCodeAt(length+2) === 33) {\n\t\t\t\t\t\t\t\t\t\t\tout += body.substring(length, caret+1)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tchar = ''\n\t\t\t\t\t\t\t\t\t\tcomment = 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ignore comment blocks\n\t\t\t\t\tif (comment === 0) {\n\t\t\t\t\t\t// aggressive isolation mode, divide each individual selector\n\t\t\t\t\t\t// including selectors in :not function but excluding selectors in :global function\n\t\t\t\t\t\tif (cascade + quote + bracket + atrule === 0 && id !== KEYFRAME && code !== SEMICOLON) {\n\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t// outside of an isolated context i.e nth-child(<...>)\n\t\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\t\tchar = char + '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t\tchar = '\\0' + char + (code === COMMA ? '' : '\\0')\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// within an isolated context, sleep untill it's terminated\n\t\t\t\t\t\t\t\t\t\tswitch (code) {\n\t\t\t\t\t\t\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\t// :globa<l>(\n\t\t\t\t\t\t\t\t\t\t\t\tif (pseudo + 7 === caret && tail === 108) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tpseudo = 0\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tcontext = ++counter\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcase CLOSEPARENTHESES: {\n\t\t\t\t\t\t\t\t\t\t\t\tif ((context = --counter) === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\tcase SPACE: {\n\t\t\t\t\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\t\t\t\t\tcase NULL:\n\t\t\t\t\t\t\t\t\t\tcase OPENBRACES:\n\t\t\t\t\t\t\t\t\t\tcase CLOSEBRACES:\n\t\t\t\t\t\t\t\t\t\tcase SEMICOLON:\n\t\t\t\t\t\t\t\t\t\tcase COMMA:\n\t\t\t\t\t\t\t\t\t\tcase FORMFEED:\n\t\t\t\t\t\t\t\t\t\tcase TAB:\n\t\t\t\t\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\t\t\t\t\tcase NEWLINE:\n\t\t\t\t\t\t\t\t\t\tcase CARRIAGE: {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\t// ignore in isolated contexts\n\t\t\t\t\t\t\t\t\t\t\tif (context === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tformat = 1\n\t\t\t\t\t\t\t\t\t\t\t\tchar += '\\0'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// concat buffer of characters\n\t\t\t\t\t\tchars += char\n\n\t\t\t\t\t\t// previous non-whitespace character code\n\t\t\t\t\t\tif (code !== SPACE && code !== TAB) {\n\t\t\t\t\t\t\tpeak = code\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// tail character codes\n\t\t\ttrail = tail\n\t\t\ttail = code\n\n\t\t\t// visit every character\n\t\t\tcaret++\n\t\t}\n\n\t\tlength = out.length\n\n\t\t// preserve empty selector\n \t\tif (preserve > 0) {\n \t\t\tif (length === 0 && children.length === 0 && (current[0].length === 0) === false) {\n \t\t\t\tif (id !== MEDIA || (current.length === 1 && (cascade > 0 ? nscopealt : nscope) === current[0])) {\n\t\t\t\t\tlength = current.join(',').length + 2\n \t\t\t\t}\n \t\t\t}\n\t\t}\n\n\t\tif (length > 0) {\n\t\t\t// cascade isolation mode?\n\t\t\tselector = cascade === 0 && id !== KEYFRAME ? isolate(current) : current\n\n\t\t\t// execute plugins, block context\n\t\t\tif (plugged > 0) {\n\t\t\t\tresult = proxy(BLCKS, out, selector, parent, line, column, length, id, depth, id)\n\n\t\t\t\tif (result !== void 0 && (out = result).length === 0) {\n\t\t\t\t\treturn flat + out + children\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tout = selector.join(',') + '{' + out + '}'\n\n\t\t\tif (prefix*pattern !== 0) {\n\t\t\t\tif (prefix === 2 && !vendor(out, 2))\n\t\t\t\t\tpattern = 0\n\n\t\t\t\tswitch (pattern) {\n\t\t\t\t\t// ::read-only\n\t\t\t\t\tcase READONLY: {\n\t\t\t\t\t\tout = out.replace(readonlyptn, ':'+moz+'$1')+out\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// ::placeholder\n\t\t\t\t\tcase PLACEHOLDER: {\n\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + webkit + 'input-$1') +\n\t\t\t\t\t\t\tout.replace(plcholdrptn, '::' + moz + '$1') +\n\t\t\t\t\t\t\tout.replace(plcholdrptn, ':' + ms + 'input-$1') + out\n\t\t\t\t\t\t)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tpattern = 0\n\t\t\t}\n\t\t}\n\n\t\treturn flat + out + children\n\t}\n\n\t/**\n\t * Select\n\t *\n\t * @param {Array<string>} parent\n\t * @param {string} current\n\t * @param {number} invert\n\t * @return {Array<string>}\n\t */\n\tfunction select (parent, current, invert) {\n\t\tvar selectors = current.trim().split(selectorptn)\n\t\tvar out = selectors\n\n\t\tvar length = selectors.length\n\t\tvar l = parent.length\n\n\t\tswitch (l) {\n\t\t\t// 0-1 parent selectors\n\t\t\tcase 0:\n\t\t\tcase 1: {\n\t\t\t\tfor (var i = 0, selector = l === 0 ? '' : parent[0] + ' '; i < length; ++i) {\n\t\t\t\t\tout[i] = scope(selector, out[i], invert, l).trim()\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// >2 parent selectors, nested\n\t\t\tdefault: {\n\t\t\t\tfor (var i = 0, j = 0, out = []; i < length; ++i) {\n\t\t\t\t\tfor (var k = 0; k < l; ++k) {\n\t\t\t\t\t\tout[j++] = scope(parent[k] + ' ', selectors[i], invert, l).trim()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Scope\n\t *\n\t * @param {string} parent\n\t * @param {string} current\n\t * @param {number} invert\n\t * @param {number} level\n\t * @return {string}\n\t */\n\tfunction scope (parent, current, invert, level) {\n\t\tvar selector = current\n\t\tvar code = selector.charCodeAt(0)\n\n\t\t// trim leading whitespace\n\t\tif (code < 33) {\n\t\t\tcode = (selector = selector.trim()).charCodeAt(0)\n\t\t}\n\n\t\tswitch (code) {\n\t\t\t// &\n\t\t\tcase AND: {\n\t\t\t\tswitch (cascade + level) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\tcase 1: {\n\t\t\t\t\t\tif (parent.trim().length === 0) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\treturn selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// :\n\t\t\tcase COLON: {\n\t\t\t\tswitch (selector.charCodeAt(1)) {\n\t\t\t\t\t// g in :global\n\t\t\t\t\tcase 103: {\n\t\t\t\t\t\tif (escape > 0 && cascade > 0) {\n\t\t\t\t\t\t\treturn selector.replace(escapeptn, '$1').replace(andptn, '$1'+nscope)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\t// :hover\n\t\t\t\t\t\treturn parent.trim() + selector.replace(andptn, '$1'+parent.trim())\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\t// html &\n\t\t\t\tif (invert*cascade > 0 && selector.indexOf('\\f') > 0) {\n\t\t\t\t\treturn selector.replace(andptn, (parent.charCodeAt(0) === COLON ? '' : '$1')+parent.trim())\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn parent + selector\n\t}\n\n\t/**\n\t * Property\n\t *\n\t * @param {string} input\n\t * @param {number} first\n\t * @param {number} second\n\t * @param {number} third\n\t * @return {string}\n\t */\n\tfunction property (input, first, second, third) {\n\t\tvar index = 0\n\t\tvar out = input + ';'\n\t\tvar hash = (first*2) + (second*3) + (third*4)\n\t\tvar cache\n\n\t\t// animation: a, n, i characters\n\t\tif (hash === 944) {\n\t\t\treturn animation(out)\n\t\t} else if (prefix === 0 || (prefix === 2 && !vendor(out, 1))) {\n\t\t\treturn out\n\t\t}\n\n\t\t// vendor prefix\n\t\tswitch (hash) {\n\t\t\t// text-decoration/text-size-adjust/text-shadow/text-align/text-transform: t, e, x\n\t\t\tcase 1015: {\n\t\t\t\t// text-shadow/text-align/text-transform, a\n\t\t\t\treturn out.charCodeAt(10) === 97 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// filter/fill f, i, l\n\t\t\tcase 951: {\n\t\t\t\t// filter, t\n\t\t\t\treturn out.charCodeAt(3) === 116 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// color/column, c, o, l\n\t\t\tcase 963: {\n\t\t\t\t// column, n\n\t\t\t\treturn out.charCodeAt(5) === 110 ? webkit + out + out : out\n\t\t\t}\n\t\t\t// box-decoration-break, b, o, x\n\t\t\tcase 1009: {\n\t\t\t\tif (out.charCodeAt(4) !== 100) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// mask, m, a, s\n\t\t\t// clip-path, c, l, i\n\t\t\tcase 969:\n\t\t\tcase 942: {\n\t\t\t\treturn webkit + out + out\n\t\t\t}\n\t\t\t// appearance: a, p, p\n\t\t\tcase 978: {\n\t\t\t\treturn webkit + out + moz + out + out\n\t\t\t}\n\t\t\t// hyphens: h, y, p\n\t\t\t// user-select: u, s, e\n\t\t\tcase 1019:\n\t\t\tcase 983: {\n\t\t\t\treturn webkit + out + moz + out + ms + out + out\n\t\t\t}\n\t\t\t// background/backface-visibility, b, a, c\n\t\t\tcase 883: {\n\t\t\t\t// backface-visibility, -\n\t\t\t\tif (out.charCodeAt(8) === DASH) {\n\t\t\t\t\treturn webkit + out + out\n\t\t\t\t}\n\n\t\t\t\t// image-set(...)\n\t\t\t\tif (out.indexOf('image-set(', 11) > 0) {\n\t\t\t\t\treturn out.replace(imgsrcptn, '$1'+webkit+'$2') + out\n\t\t\t\t}\n\n\t\t\t\treturn out\n\t\t\t}\n\t\t\t// flex: f, l, e\n\t\t\tcase 932: {\n\t\t\t\tif (out.charCodeAt(4) === DASH) {\n\t\t\t\t\tswitch (out.charCodeAt(5)) {\n\t\t\t\t\t\t// flex-grow, g\n\t\t\t\t\t\tcase 103: {\n\t\t\t\t\t\t\treturn webkit + 'box-' + out.replace('-grow', '') + webkit + out + ms + out.replace('grow', 'positive') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// flex-shrink, s\n\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('shrink', 'negative') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// flex-basis, b\n\t\t\t\t\t\tcase 98: {\n\t\t\t\t\t\t\treturn webkit + out + ms + out.replace('basis', 'preferred-size') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn webkit + out + ms + out + out\n\t\t\t}\n\t\t\t// order: o, r, d\n\t\t\tcase 964: {\n\t\t\t\treturn webkit + out + ms + 'flex' + '-' + out + out\n\t\t\t}\n\t\t\t// justify-items/justify-content, j, u, s\n\t\t\tcase 1023: {\n\t\t\t\t// justify-content, c\n\t\t\t\tif (out.charCodeAt(8) !== 99) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\tcache = out.substring(out.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify')\n\t\t\t\treturn webkit + 'box-pack' + cache + webkit + out + ms + 'flex-pack' + cache + out\n\t\t\t}\n\t\t\t// cursor, c, u, r\n\t\t\tcase 1005: {\n\t\t\t\treturn cursorptn.test(out) ? out.replace(colonptn, ':' + webkit) + out.replace(colonptn, ':' + moz) + out : out\n\t\t\t}\n\t\t\t// writing-mode, w, r, i\n\t\t\tcase 1000: {\n\t\t\t\tcache = out.substring(13).trim()\n\t\t\t\tindex = cache.indexOf('-') + 1\n\n\t\t\t\tswitch (cache.charCodeAt(0)+cache.charCodeAt(index)) {\n\t\t\t\t\t// vertical-lr\n\t\t\t\t\tcase 226: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'tb')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// vertical-rl\n\t\t\t\t\tcase 232: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'tb-rl')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// horizontal-tb\n\t\t\t\t\tcase 220: {\n\t\t\t\t\t\tcache = out.replace(writingptn, 'lr')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\treturn out\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn webkit + out + ms + cache + out\n\t\t\t}\n\t\t\t// position: sticky\n\t\t\tcase 1017: {\n\t\t\t\tif (out.indexOf('sticky', 9) === -1) {\n\t\t\t\t\treturn out\n\t\t\t\t}\n\t\t\t}\n\t\t\t// display(flex/inline-flex/inline-box): d, i, s\n\t\t\tcase 975: {\n\t\t\t\tindex = (out = input).length - 10\n\t\t\t\tcache = (out.charCodeAt(index) === 33 ? out.substring(0, index) : out).substring(input.indexOf(':', 7) + 1).trim()\n\n\t\t\t\tswitch (hash = cache.charCodeAt(0) + (cache.charCodeAt(7)|0)) {\n\t\t\t\t\t// inline-\n\t\t\t\t\tcase 203: {\n\t\t\t\t\t\t// inline-box\n\t\t\t\t\t\tif (cache.charCodeAt(8) < 111) {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// inline-box/sticky\n\t\t\t\t\tcase 115: {\n\t\t\t\t\t\tout = out.replace(cache, webkit+cache)+';'+out\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t// inline-flex\n\t\t\t\t\t// flex\n\t\t\t\t\tcase 207:\n\t\t\t\t\tcase 102: {\n\t\t\t\t\t\tout = (\n\t\t\t\t\t\t\tout.replace(cache, webkit+(hash > 102 ? 'inline-' : '')+'box')+';'+\n\t\t\t\t\t\t\tout.replace(cache, webkit+cache)+';'+\n\t\t\t\t\t\t\tout.replace(cache, ms+cache+'box')+';'+\n\t\t\t\t\t\t\tout\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn out + ';'\n\t\t\t}\n\t\t\t// align-items, align-center, align-self: a, l, i, -\n\t\t\tcase 938: {\n\t\t\t\tif (out.charCodeAt(5) === DASH) {\n\t\t\t\t\tswitch (out.charCodeAt(6)) {\n\t\t\t\t\t\t// align-items, i\n\t\t\t\t\t\tcase 105: {\n\t\t\t\t\t\t\tcache = out.replace('-items', '')\n\t\t\t\t\t\t\treturn webkit + out + webkit + 'box-' + cache + ms + 'flex-' + cache + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// align-self, s\n\t\t\t\t\t\tcase 115: {\n\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-item-' + out.replace(selfptn, '') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// align-content\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\treturn webkit + out + ms + 'flex-line-pack' + out.replace('align-content', '').replace(selfptn, '') + out\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// min/max\n\t\t\tcase 973:\n\t\t\tcase 989: {\n\t\t\t\t// min-/max- height/width/block-size/inline-size\n\t\t\t\tif (out.charCodeAt(3) !== DASH || out.charCodeAt(4) === 122) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// height/width: min-content / width: max-content\n\t\t\tcase 931:\n\t\t\tcase 953: {\n\t\t\t\tif (dimensionptn.test(input) === true) {\n\t\t\t\t\t// stretch\n\t\t\t\t\tif ((cache = input.substring(input.indexOf(':') + 1)).charCodeAt(0) === 115)\n\t\t\t\t\t\treturn property(input.replace('stretch', 'fill-available'), first, second, third).replace(':fill-available', ':stretch')\n\t\t\t\t\telse\n\t\t\t\t\t\treturn out.replace(cache, webkit + cache) + out.replace(cache, moz + cache.replace('fill-', '')) + out\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// transform, transition: t, r, a\n\t\t\tcase 962: {\n\t\t\t\tout = webkit + out + (out.charCodeAt(5) === 102 ? ms + out : '') + out\n\n\t\t\t\t// transitions\n\t\t\t\tif (second + third === 211 && out.charCodeAt(13) === 105 && out.indexOf('transform', 10) > 0) {\n\t\t\t\t\treturn out.substring(0, out.indexOf(';', 27) + 1).replace(transformptn, '$1' + webkit + '$2') + out\n\t\t\t\t}\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Vendor\n\t *\n\t * @param {string} content\n\t * @param {number} context\n\t * @return {boolean}\n\t */\n\tfunction vendor (content, context) {\n\t\tvar index = content.indexOf(context === 1 ? ':' : '{')\n\t\tvar key = content.substring(0, context !== 3 ? index : 10)\n\t\tvar value = content.substring(index + 1, content.length - 1)\n\n\t\treturn should(context !== 2 ? key : key.replace(pseudofmt, '$1'), value, context)\n\t}\n\n\t/**\n\t * Supports\n\t *\n\t * @param {string} match\n\t * @param {string} group\n\t * @return {string}\n\t */\n\tfunction supports (match, group) {\n\t\tvar out = property(group, group.charCodeAt(0), group.charCodeAt(1), group.charCodeAt(2))\n\n\t\treturn out !== group+';' ? out.replace(propertyptn, ' or ($1)').substring(4) : '('+group+')'\n\t}\n\n\t/**\n\t * Animation\n\t *\n\t * @param {string} input\n\t * @return {string}\n\t */\n\tfunction animation (input) {\n\t\tvar length = input.length\n\t\tvar index = input.indexOf(':', 9) + 1\n\t\tvar declare = input.substring(0, index).trim()\n\t\tvar out = input.substring(index, length-1).trim()\n\n\t\tswitch (input.charCodeAt(9)*keyed) {\n\t\t\tcase 0: {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t// animation-*, -\n\t\t\tcase DASH: {\n\t\t\t\t// animation-name, n\n\t\t\t\tif (input.charCodeAt(10) !== 110) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\t// animation/animation-name\n\t\t\tdefault: {\n\t\t\t\t// split in case of multiple animations\n\t\t\t\tvar list = out.split((out = '', animationptn))\n\n\t\t\t\tfor (var i = 0, index = 0, length = list.length; i < length; index = 0, ++i) {\n\t\t\t\t\tvar value = list[i]\n\t\t\t\t\tvar items = value.split(propertiesptn)\n\n\t\t\t\t\twhile (value = items[index]) {\n\t\t\t\t\t\tvar peak = value.charCodeAt(0)\n\n\t\t\t\t\t\tif (keyed === 1 && (\n\t\t\t\t\t\t\t// letters\n\t\t\t\t\t\t\t(peak > AT && peak < 90) || (peak > 96 && peak < 123) || peak === UNDERSCORE ||\n\t\t\t\t\t\t\t// dash but not in sequence i.e --\n\t\t\t\t\t\t\t(peak === DASH && value.charCodeAt(1) !== DASH)\n\t\t\t\t\t\t)) {\n\t\t\t\t\t\t\t// not a number/function\n\t\t\t\t\t\t\tswitch (isNaN(parseFloat(value)) + (value.indexOf('(') !== -1)) {\n\t\t\t\t\t\t\t\tcase 1: {\n\t\t\t\t\t\t\t\t\tswitch (value) {\n\t\t\t\t\t\t\t\t\t\t// not a valid reserved keyword\n\t\t\t\t\t\t\t\t\t\tcase 'infinite': case 'alternate': case 'backwards': case 'running':\n\t\t\t\t\t\t\t\t\t\tcase 'normal': case 'forwards': case 'both': case 'none': case 'linear':\n\t\t\t\t\t\t\t\t\t\tcase 'ease': case 'ease-in': case 'ease-out': case 'ease-in-out':\n\t\t\t\t\t\t\t\t\t\tcase 'paused': case 'reverse': case 'alternate-reverse': case 'inherit':\n\t\t\t\t\t\t\t\t\t\tcase 'initial': case 'unset': case 'step-start': case 'step-end': {\n\t\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\t\t\t\tvalue += key\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titems[index++] = value\n\t\t\t\t\t}\n\n\t\t\t\t\tout += (i === 0 ? '' : ',') + items.join(' ')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tout = declare + out + ';'\n\n\t\tif (prefix === 1 || (prefix === 2 && vendor(out, 1)))\n\t\t\treturn webkit + out + out\n\n\t\treturn out\n\t}\n\n\t/**\n\t * Isolate\n\t *\n\t * @param {Array<string>} current\n\t */\n\tfunction isolate (current) {\n\t\tfor (var i = 0, length = current.length, selector = Array(length), padding, element; i < length; ++i) {\n\t\t\t// split individual elements in a selector i.e h1 h2 === [h1, h2]\n\t\t\tvar elements = current[i].split(elementptn)\n\t\t\tvar out = ''\n\n\t\t\tfor (var j = 0, size = 0, tail = 0, code = 0, l = elements.length; j < l; ++j) {\n\t\t\t\t// empty element\n\t\t\t\tif ((size = (element = elements[j]).length) === 0 && l > 1) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\ttail = out.charCodeAt(out.length-1)\n\t\t\t\tcode = element.charCodeAt(0)\n\t\t\t\tpadding = ''\n\n\t\t\t\tif (j !== 0) {\n\t\t\t\t\t// determine if we need padding\n\t\t\t\t\tswitch (tail) {\n\t\t\t\t\t\tcase STAR:\n\t\t\t\t\t\tcase TILDE:\n\t\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\t\tcase PLUS:\n\t\t\t\t\t\tcase SPACE:\n\t\t\t\t\t\tcase OPENPARENTHESES:  {\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\tpadding = ' '\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tswitch (code) {\n\t\t\t\t\tcase AND: {\n\t\t\t\t\t\telement = padding + nscopealt\n\t\t\t\t\t}\n\t\t\t\t\tcase TILDE:\n\t\t\t\t\tcase GREATERTHAN:\n\t\t\t\t\tcase PLUS:\n\t\t\t\t\tcase SPACE:\n\t\t\t\t\tcase CLOSEPARENTHESES:\n\t\t\t\t\tcase OPENPARENTHESES: {\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase OPENBRACKET: {\n\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase COLON: {\n\t\t\t\t\t\tswitch (element.charCodeAt(1)*2 + element.charCodeAt(2)*3) {\n\t\t\t\t\t\t\t// :global\n\t\t\t\t\t\t\tcase 530: {\n\t\t\t\t\t\t\t\tif (escape > 0) {\n\t\t\t\t\t\t\t\t\telement = padding + element.substring(8, size - 1)\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// :hover, :nth-child(), ...\n\t\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\t\tif (j < 1 || elements[j-1].length < 1) {\n\t\t\t\t\t\t\t\t\telement = padding + nscopealt + element\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase COMMA: {\n\t\t\t\t\t\tpadding = ''\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tif (size > 1 && element.indexOf(':') > 0) {\n\t\t\t\t\t\t\telement = padding + element.replace(pseudoptn, '$1' + nscopealt + '$2')\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telement = padding + element + nscopealt\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tout += element\n\t\t\t}\n\n\t\t\tselector[i] = out.replace(formatptn, '').trim()\n\t\t}\n\n\t\treturn selector\n\t}\n\n\t/**\n\t * Proxy\n\t *\n\t * @param {number} context\n\t * @param {string} content\n\t * @param {Array<string>} selectors\n\t * @param {Array<string>} parents\n\t * @param {number} line\n\t * @param {number} column\n\t * @param {number} length\n\t * @param {number} id\n\t * @param {number} depth\n\t * @param {number} at\n\t * @return {(string|void|*)}\n\t */\n\tfunction proxy (context, content, selectors, parents, line, column, length, id, depth, at) {\n\t\tfor (var i = 0, out = content, next; i < plugged; ++i) {\n\t\t\tswitch (next = plugins[i].call(stylis, context, out, selectors, parents, line, column, length, id, depth, at)) {\n\t\t\t\tcase void 0:\n\t\t\t\tcase false:\n\t\t\t\tcase true:\n\t\t\t\tcase null: {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tout = next\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (out !== content) {\n\t\t  return out\n\t\t}\n\t}\n\n\t/**\n\t * @param {number} code\n\t * @param {number} index\n\t * @param {number} length\n\t * @param {string} body\n\t * @return {number}\n\t */\n\tfunction delimited (code, index, length, body) {\n\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\t// /*\n\t\t\t\tcase FOWARDSLASH: {\n\t\t\t\t\tif (code === STAR) {\n\t\t\t\t\t\tif (body.charCodeAt(i - 1) === STAR &&  index + 2 !== i) {\n\t\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\t// //\n\t\t\t\tcase NEWLINE: {\n\t\t\t\t\tif (code === FOWARDSLASH) {\n\t\t\t\t\t\treturn i + 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn i\n\t}\n\n\t/**\n\t * @param {number} type\n\t * @param {number} index\n\t * @param {number} length\n\t * @param {number} find\n\t * @param {string} body\n\t * @return {number}\n\t */\n\tfunction match (type, index, length, body) {\n\t\tfor (var i = index + 1; i < length; ++i) {\n\t\t\tswitch (body.charCodeAt(i)) {\n\t\t\t\tcase type: {\n\t\t\t\t\treturn i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn i\n\t}\n\n\t/**\n\t * Minify\n\t *\n\t * @param {(string|*)} output\n\t * @return {string}\n\t */\n\tfunction minify (output) {\n\t\treturn output\n\t\t\t.replace(formatptn, '')\n\t\t\t.replace(beforeptn, '')\n\t\t\t.replace(afterptn, '$1')\n\t\t\t.replace(tailptn, '$1')\n\t\t\t.replace(whiteptn, ' ')\n\t}\n\n\t/**\n\t * Use\n\t *\n\t * @param {(Array<function(...?)>|function(...?)|number|void)?} plugin\n\t */\n\tfunction use (plugin) {\n\t\tswitch (plugin) {\n\t\t\tcase void 0:\n\t\t\tcase null: {\n\t\t\t\tplugged = plugins.length = 0\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tif (typeof plugin === 'function') {\n\t\t\t\t\tplugins[plugged++] = plugin\n\t\t\t\t}\telse if (typeof plugin === 'object') {\n\t\t\t\t\tfor (var i = 0, length = plugin.length; i < length; ++i) {\n\t\t\t\t\t\tuse(plugin[i])\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tunkwn = !!plugin|0\n\t\t\t\t}\n\t\t\t}\n \t\t}\n\n \t\treturn use\n\t}\n\n\t/**\n\t * Set\n\t *\n\t * @param {*} options\n\t */\n\tfunction set (options) {\n\t\tfor (var name in options) {\n\t\t\tvar value = options[name]\n\t\t\tswitch (name) {\n\t\t\t\tcase 'keyframe': keyed = value|0; break\n\t\t\t\tcase 'global': escape = value|0; break\n\t\t\t\tcase 'cascade': cascade = value|0; break\n\t\t\t\tcase 'compress': compress = value|0; break\n\t\t\t\tcase 'semicolon': semicolon = value|0; break\n\t\t\t\tcase 'preserve': preserve = value|0; break\n\t\t\t\tcase 'prefix':\n\t\t\t\t\tshould = null\n\n\t\t\t\t\tif (!value) {\n\t\t\t\t\t\tprefix = 0\n\t\t\t\t\t} else if (typeof value !== 'function') {\n\t\t\t\t\t\tprefix = 1\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprefix = 2\n\t\t\t\t\t\tshould = value\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn set\n\t}\n\n\t/**\n\t * Stylis\n\t *\n\t * @param {string} selector\n\t * @param {string} input\n\t * @return {*}\n\t */\n\tfunction stylis (selector, input) {\n\t\tif (this !== void 0 && this.constructor === stylis) {\n\t\t\treturn factory(selector)\n\t\t}\n\n\t\t// setup\n\t\tvar ns = selector\n\t\tvar code = ns.charCodeAt(0)\n\n\t\t// trim leading whitespace\n\t\tif (code < 33) {\n\t\t\tcode = (ns = ns.trim()).charCodeAt(0)\n\t\t}\n\n\t\t// keyframe/animation namespace\n\t\tif (keyed > 0) {\n\t\t\tkey = ns.replace(invalidptn, code === OPENBRACKET ? '' : '-')\n\t\t}\n\n\t\t// reset, used to assert if a plugin is moneky-patching the return value\n\t\tcode = 1\n\n\t\t// cascade/isolate\n\t\tif (cascade === 1) {\n\t\t\tnscope = ns\n\t\t} else {\n\t\t\tnscopealt = ns\n\t\t}\n\n\t\tvar selectors = [nscope]\n\t\tvar result\n\n\t\t// execute plugins, pre-process context\n\t\tif (plugged > 0) {\n\t\t\tresult = proxy(PREPS, input, selectors, selectors, line, column, 0, 0, 0, 0)\n\n\t\t\tif (result !== void 0 && typeof result === 'string') {\n\t\t\t\tinput = result\n\t\t\t}\n\t\t}\n\n\t\t// build\n\t\tvar output = compile(array, selectors, input, 0, 0)\n\n\t\t// execute plugins, post-process context\n\t\tif (plugged > 0) {\n\t\t\tresult = proxy(POSTS, output, selectors, selectors, line, column, output.length, 0, 0, 0)\n\n\t\t\t// bypass minification\n\t\t\tif (result !== void 0 && typeof(output = result) !== 'string') {\n\t\t\t\tcode = 0\n\t\t\t}\n\t\t}\n\n\t\t// reset\n\t\tkey = ''\n\t\tnscope = ''\n\t\tnscopealt = ''\n\t\tpattern = 0\n\t\tline = 1\n\t\tcolumn = 1\n\n\t\treturn compress*code === 0 ? output : minify(output)\n\t}\n\n\tstylis['use'] = use\n\tstylis['set'] = set\n\n\tif (options !== void 0) {\n\t\tset(options)\n\t}\n\n\treturn stylis\n}));\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n  root = self;\n} else if (typeof window !== 'undefined') {\n  root = window;\n} else if (typeof global !== 'undefined') {\n  root = global;\n} else if (typeof module !== 'undefined') {\n  root = module;\n} else {\n  root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","/**\n * @description\n * Behavior for a table cell - a cell in a tabular container. See https://www.w3.org/TR/wai-aria-1.1/#cell\n * @specification\n * Adds role='cell'.\n */\nexport var tableCellBehavior = function tableCellBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'cell'\n      }\n    }\n  };\n};\n//# sourceMappingURL=tableCellBehavior.js.map\n","import { selectableListItemBehavior } from './selectableListItemBehavior';\nimport { basicListItemBehavior } from './basicListItemBehavior';\nimport { navigableListItemBehavior } from './navigableListItemBehavior';\n/**\n * @description\n * Defines a behavior \"BasicListItemBehavior\" or \"SelectableListItemBehavior\" based on \"selectable\" property.\n */\n\nexport var listItemBehavior = function listItemBehavior(props) {\n  return props.selectable ? selectableListItemBehavior(props) : props.navigable ? navigableListItemBehavior(props) : basicListItemBehavior(props);\n};\n//# sourceMappingURL=listItemBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @specification\n * Adds role='option'. This role is used for a selectable item in a list.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n * Adds attribute 'aria-selected=true' based on the property 'selected'. Based on this screen readers will recognize the selected state of the item.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n */\nexport var selectableListItemBehavior = function selectableListItemBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {\n        role: 'option',\n        'aria-selected': !!props.selected\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root)\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=selectableListItemBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @specification\n * Adds role='menuitem'.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n */\nexport var navigableListItemBehavior = function navigableListItemBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {\n        role: 'menuitem'\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root)\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=navigableListItemBehavior.js.map\n","/**\n * @description\n * The 'listitem' role is used to identify an element that is a single item in a list.\n *\n * @specification\n * Adds role='listitem'.\n */\nexport var basicListItemBehavior = function basicListItemBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'listitem'\n      }\n    }\n  };\n};\n//# sourceMappingURL=basicListItemBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport { listItemBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry, useContextSelectors } from '@fluentui/react-bindings';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, createShorthand } from '../../utils';\nimport { ListContext } from './listContext';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemContentMedia } from './ListItemContentMedia';\nimport { ListItemEndMedia } from './ListItemEndMedia';\nimport { ListItemHeader } from './ListItemHeader';\nimport { ListItemHeaderMedia } from './ListItemHeaderMedia';\nimport { ListItemMedia } from './ListItemMedia';\nexport var listItemClassName = 'ui-list__item';\nexport var listItemSlotClassNames = {\n  headerWrapper: listItemClassName + \"__headerWrapper\",\n  main: listItemClassName + \"__main\",\n  contentWrapper: listItemClassName + \"__contentWrapper\"\n};\n/**\n * A ListItem contains a single piece of content within a List.\n */\n\nexport var ListItem = /*#__PURE__*/function () {\n  var ListItem = function ListItem(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(ListItem.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        className = props.className,\n        content = props.content,\n        contentMedia = props.contentMedia,\n        design = props.design,\n        endMedia = props.endMedia,\n        header = props.header,\n        important = props.important,\n        headerMedia = props.headerMedia,\n        media = props.media,\n        styles = props.styles;\n    var parentProps = useContextSelectors(ListContext, {\n      debug: function debug(v) {\n        return v.debug;\n      },\n      navigable: function navigable(v) {\n        return v.navigable;\n      },\n      selectable: function selectable(v) {\n        return v.selectable;\n      },\n      truncateContent: function truncateContent(v) {\n        return v.truncateContent;\n      },\n      truncateHeader: function truncateHeader(v) {\n        return v.truncateHeader;\n      },\n      variables: function variables(v) {\n        return v.variables;\n      },\n      onItemClick: function onItemClick(v) {\n        return v.onItemClick;\n      },\n      selected: function selected(v) {\n        return v.selectedIndex === props.index;\n      }\n    });\n    var _props$debug = props.debug,\n        debug = _props$debug === void 0 ? parentProps.debug : _props$debug,\n        _props$navigable = props.navigable,\n        navigable = _props$navigable === void 0 ? parentProps.navigable : _props$navigable,\n        _props$selectable = props.selectable,\n        selectable = _props$selectable === void 0 ? parentProps.selectable : _props$selectable,\n        _props$selected = props.selected,\n        selected = _props$selected === void 0 ? parentProps.selected : _props$selected,\n        _props$truncateConten = props.truncateContent,\n        truncateContent = _props$truncateConten === void 0 ? parentProps.truncateContent : _props$truncateConten,\n        _props$truncateHeader = props.truncateHeader,\n        truncateHeader = _props$truncateHeader === void 0 ? parentProps.truncateHeader : _props$truncateHeader,\n        _props$variables = props.variables,\n        variables = _props$variables === void 0 ? parentProps.variables : _props$variables;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: ListItem.displayName,\n      actionHandlers: {\n        performClick: function performClick(e) {\n          e.preventDefault();\n          handleClick(e);\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          navigable: navigable,\n          selectable: selectable,\n          selected: selected\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(ListItem.displayName, {\n      className: listItemClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          debug: debug,\n          navigable: navigable,\n          important: important,\n          selectable: selectable,\n          selected: selected\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(ListItem.handledProps, props);\n\n    var handleClick = function handleClick(e) {\n      _invoke(props, 'onClick', e, props);\n\n      parentProps.onItemClick(e, props.index);\n    };\n\n    var contentElement = createShorthand(ListItemContent, content, {\n      defaultProps: function defaultProps() {\n        return {\n          hasContentMedia: !!contentMedia,\n          hasHeader: !!header,\n          truncate: truncateContent\n        };\n      }\n    });\n    var contentMediaElement = createShorthand(ListItemContentMedia, contentMedia);\n    var headerElement = createShorthand(ListItemHeader, header, {\n      defaultProps: function defaultProps() {\n        return {\n          hasContent: !!content,\n          hasHeaderMedia: !!headerMedia,\n          truncate: truncateHeader\n        };\n      }\n    });\n    var headerMediaElement = createShorthand(ListItemHeaderMedia, headerMedia);\n    var endMediaElement = createShorthand(ListItemEndMedia, endMedia, {\n      defaultProps: function defaultProps() {\n        return {\n          navigable: navigable,\n          selectable: selectable\n        };\n      }\n    });\n    var mediaElement = createShorthand(ListItemMedia, media, {\n      defaultProps: function defaultProps() {\n        return {\n          hasContent: !!content,\n          hasHeader: !!header,\n          important: important\n        };\n      }\n    });\n    var element = getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick\n    }, unhandledProps)), mediaElement, /*#__PURE__*/React.createElement(\"div\", {\n      className: cx(listItemSlotClassNames.main, classes.main)\n    }, (headerElement || headerMediaElement) && /*#__PURE__*/React.createElement(\"div\", {\n      className: cx(listItemSlotClassNames.headerWrapper, classes.headerWrapper)\n    }, headerElement, headerMediaElement), (contentElement || contentMediaElement) && /*#__PURE__*/React.createElement(\"div\", {\n      className: cx(listItemSlotClassNames.contentWrapper, classes.contentWrapper)\n    }, contentElement, contentMediaElement)), endMediaElement));\n    setEnd();\n    return element;\n  };\n\n  ListItem.displayName = 'ListItem';\n  ListItem.defaultProps = {\n    as: 'li',\n    accessibility: listItemBehavior\n  };\n  ListItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    contentMedia: PropTypes.any,\n    content: PropTypes.any,\n    debug: PropTypes.bool,\n    header: PropTypes.any,\n    endMedia: PropTypes.any,\n    headerMedia: PropTypes.any,\n    important: PropTypes.bool,\n    media: PropTypes.any,\n    selectable: PropTypes.bool,\n    navigable: PropTypes.bool,\n    index: PropTypes.number,\n    selected: PropTypes.bool,\n    truncateContent: PropTypes.bool,\n    truncateHeader: PropTypes.bool,\n    onClick: PropTypes.func\n  });\n  ListItem.handledProps = Object.keys(ListItem.propTypes);\n  ListItem.create = createShorthandFactory({\n    Component: ListItem,\n    mappedProp: 'content'\n  });\n  return ListItem;\n}();\n//# sourceMappingURL=ListItem.js.map\n","/**\n * @description\n * Behavior for a table header cell - a cell containing header information for a column.\n * See https://www.w3.org/TR/wai-aria-1.1/#columnheader\n * @specification\n * Adds role='columnheader'.\n */\nexport var tableHeaderCellBehavior = function tableHeaderCellBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'columnheader'\n      }\n    }\n  };\n};\n//# sourceMappingURL=tableHeaderCellBehavior.js.map\n","import { tableCellBehavior } from './tableCellBehavior';\nimport { tableHeaderCellBehavior } from './tableHeaderCellBehavior';\n\n/**\n * @description\n * Behavior for a table row - a cell in a tabular container. See https://www.w3.org/TR/wai-aria-1.1/#row\n * @specification\n * Adds role='row'.\n */\nexport var tableRowBehavior = function tableRowBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'row'\n      }\n    },\n    childBehaviors: {\n      cell: props.header ? tableHeaderCellBehavior : tableCellBehavior\n    }\n  };\n};\n//# sourceMappingURL=tableRowBehavior.js.map\n","export var stringLiteralsArray = function stringLiteralsArray() {\n  var tuple = function tuple() {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return args;\n  };\n\n  return tuple.apply(void 0, arguments);\n};\n//# sourceMappingURL=stringLiteralsArray.js.map\n","import * as React from 'react';\nimport { runWithNormalPriority, useIsomorphicLayoutEffect } from './utils';\n\nvar createProvider = function createProvider(Original) {\n  var Provider = function Provider(props) {\n    // Holds an actual \"props.value\"\n    var valueRef = React.useRef(props.value); // Used to sync context updates and avoid stale values, can be considered as render/effect counter of Provider.\n\n    var versionRef = React.useRef(0); // A stable object, is used to avoid context updates via mutation of its values.\n\n    var contextValue = React.useRef();\n\n    if (!contextValue.current) {\n      contextValue.current = {\n        value: valueRef,\n        version: versionRef,\n        listeners: []\n      };\n    }\n\n    useIsomorphicLayoutEffect(function () {\n      valueRef.current = props.value;\n      versionRef.current += 1;\n      runWithNormalPriority(function () {\n        contextValue.current.listeners.forEach(function (listener) {\n          listener([versionRef.current, props.value]);\n        });\n      });\n    }, [props.value]);\n    return /*#__PURE__*/React.createElement(Original, {\n      value: contextValue.current\n    }, props.children);\n  };\n  /* istanbul ignore else */\n\n\n  if (process.env.NODE_ENV !== 'production') {\n    Provider.displayName = 'ContextSelector.Provider';\n  }\n\n  return Provider;\n};\n\nexport var createContext = function createContext(defaultValue) {\n  var context = /*#__PURE__*/React.createContext({\n    value: {\n      current: defaultValue\n    },\n    version: {\n      current: -1\n    },\n    listeners: []\n  });\n  context.Provider = createProvider(context.Provider); // We don't support Consumer API\n\n  delete context.Consumer;\n  return context;\n};\n//# sourceMappingURL=createContext.js.map\n","import * as React from 'react';\n\nvar getWindowEvent = function getWindowEvent(target) {\n  if (target) {\n    var _ownerDocument$defaul, _ownerDocument, _ownerDocument$defaul2;\n\n    if (typeof target.window === 'object' && target.window === target) {\n      return target.event;\n    }\n\n    return (_ownerDocument$defaul = (_ownerDocument = target.ownerDocument) == null ? void 0 : (_ownerDocument$defaul2 = _ownerDocument.defaultView) == null ? void 0 : _ownerDocument$defaul2.event) != null ? _ownerDocument$defaul : undefined;\n  }\n\n  return undefined;\n};\n\nvar isActionSupported = function isActionSupported(element, method) {\n  return element ? !!element[method] : false;\n};\n\nexport var useEventListener = function useEventListener(options) {\n  var capture = options.capture,\n      listener = options.listener,\n      type = options.type,\n      target = options.target,\n      targetRef = options.targetRef;\n  var latestListener = React.useRef(listener);\n  latestListener.current = listener;\n  var eventHandler = React.useCallback(function (event) {\n    return latestListener.current(event);\n  }, []);\n  var timeoutId = React.useRef(undefined);\n\n  if (process.env.NODE_ENV !== 'production') {\n    // This is fine to violate there conditional rule as environment variables will never change during component\n    // lifecycle\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useEffect(function () {\n      if (typeof target !== 'undefined' && typeof targetRef !== 'undefined') {\n        throw new Error('`target` and `targetRef` props are mutually exclusive, please use one of them.');\n      }\n\n      if (typeof target === 'undefined' && typeof targetRef === 'undefined') {\n        throw new Error(\"`target` and `targetRef` props are `undefined`, it' required to use one of them.\");\n      }\n    }, [target, targetRef]);\n  }\n\n  React.useEffect(function () {\n    var element = typeof targetRef === 'undefined' ? target : targetRef.current; // Store the current event to avoid triggering handlers immediately\n    // Note this depends on a deprecated but extremely well supported quirk of the web platform\n    // https://github.com/facebook/react/issues/20074\n\n    var currentEvent = getWindowEvent(window);\n\n    var conditionalHandler = function conditionalHandler(event) {\n      // Skip if this event is the same as the one running when we added the handlers\n      if (event === currentEvent) {\n        currentEvent = undefined;\n        return;\n      }\n\n      eventHandler(event);\n    };\n\n    if (isActionSupported(element, 'addEventListener')) {\n      element.addEventListener(type, conditionalHandler, capture);\n    } else if (process.env.NODE_ENV !== 'production') {\n      throw new Error('@fluentui/react-component-event-listener: Passed `element` is not valid or does not support `addEventListener()` method.');\n    } // @ts-ignore We have a collision between types from DOM and @types/node\n\n\n    timeoutId.current = setTimeout(function () {\n      currentEvent = undefined;\n    }, 1);\n    return function () {\n      clearTimeout(timeoutId.current);\n      currentEvent = undefined;\n\n      if (isActionSupported(element, 'removeEventListener')) {\n        element.removeEventListener(type, conditionalHandler, capture);\n      } else if (process.env.NODE_ENV !== 'production') {\n        throw new Error('@fluentui/react-component-event-listener: Passed `element` is not valid or does not support `removeEventListener()` method.');\n      }\n    };\n  }, [capture, eventHandler, target, targetRef, type]);\n};\n//# sourceMappingURL=useEventListener.js.map\n","import { useEventListener } from './useEventListener';\nexport var EventListener = /*#__PURE__*/function () {\n  function EventListener(props) {\n    useEventListener(props);\n    return null;\n  }\n\n  EventListener.defaultProps = {\n    capture: false\n  };\n  return EventListener;\n}();\n//# sourceMappingURL=EventListener.js.map\n","var Stack = require('./_Stack'),\n    assignMergeValue = require('./_assignMergeValue'),\n    baseFor = require('./_baseFor'),\n    baseMergeDeep = require('./_baseMergeDeep'),\n    isObject = require('./isObject'),\n    keysIn = require('./keysIn'),\n    safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n  if (object === source) {\n    return;\n  }\n  baseFor(source, function(srcValue, key) {\n    stack || (stack = new Stack);\n    if (isObject(srcValue)) {\n      baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n    }\n    else {\n      var newValue = customizer\n        ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n        : undefined;\n\n      if (newValue === undefined) {\n        newValue = srcValue;\n      }\n      assignMergeValue(object, key, newValue);\n    }\n  }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\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 */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nmodule.exports = toSource;\n","var baseAssignValue = require('./_baseAssignValue'),\n    eq = require('./eq');\n\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 */\nfunction assignMergeValue(object, key, value) {\n  if ((value !== undefined && !eq(object[key], value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignMergeValue;\n","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;\n","var createBaseFor = require('./_createBaseFor');\n\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 */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n  return function(object, iteratee, keysFunc) {\n    var index = -1,\n        iterable = Object(object),\n        props = keysFunc(object),\n        length = props.length;\n\n    while (length--) {\n      var key = props[fromRight ? length : ++index];\n      if (iteratee(iterable[key], key, iterable) === false) {\n        break;\n      }\n    }\n    return object;\n  };\n}\n\nmodule.exports = createBaseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var length = buffer.length,\n      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n  buffer.copy(result);\n  return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var baseCreate = require('./_baseCreate'),\n    getPrototype = require('./_getPrototype'),\n    isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\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","/**\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;\n","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\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\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 */\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)) &&\n        !(skipIndexes && (\n           // Safari 9 has enumerable `arguments.length` in strict mode.\n           key == 'length' ||\n           // Node.js 0.10 has enumerable non-index properties on buffers.\n           (isBuff && (key == 'offset' || key == 'parent')) ||\n           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n           // Skip index properties.\n           isIndex(key, length)\n        ))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\nmodule.exports = baseTimes;\n","var baseRest = require('./_baseRest'),\n    isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n  return baseRest(function(object, sources) {\n    var index = -1,\n        length = sources.length,\n        customizer = length > 1 ? sources[length - 1] : undefined,\n        guard = length > 2 ? sources[2] : undefined;\n\n    customizer = (assigner.length > 3 && typeof customizer == 'function')\n      ? (length--, customizer)\n      : undefined;\n\n    if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n      customizer = length < 3 ? undefined : customizer;\n      length = 1;\n    }\n    object = Object(object);\n    while (++index < length) {\n      var source = sources[index];\n      if (source) {\n        assigner(object, source, index, customizer);\n      }\n    }\n    return object;\n  });\n}\n\nmodule.exports = createAssigner;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\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 * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n  return function() {\n    var args = arguments,\n        index = -1,\n        length = nativeMax(args.length - start, 0),\n        array = Array(length);\n\n    while (++index < length) {\n      array[index] = args[start + index];\n    }\n    index = -1;\n    var otherArgs = Array(start + 1);\n    while (++index < start) {\n      otherArgs[index] = args[index];\n    }\n    otherArgs[start] = transform(array);\n    return apply(func, this, otherArgs);\n  };\n}\n\nmodule.exports = overRest;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n    HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n  var count = 0,\n      lastCalled = 0;\n\n  return function() {\n    var stamp = nativeNow(),\n        remaining = HOT_SPAN - (stamp - lastCalled);\n\n    lastCalled = stamp;\n    if (remaining > 0) {\n      if (++count >= HOT_COUNT) {\n        return arguments[0];\n      }\n    } else {\n      count = 0;\n    }\n    return func.apply(undefined, arguments);\n  };\n}\n\nmodule.exports = shortOut;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n  var result = [];\n  if (string.charCodeAt(0) === 46 /* . */) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, subString) {\n    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\nmodule.exports = stringToPath;\n","var Symbol = require('./_Symbol'),\n    arrayMap = require('./_arrayMap'),\n    isArray = require('./isArray'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n  return function(collection, iteratee) {\n    if (collection == null) {\n      return collection;\n    }\n    if (!isArrayLike(collection)) {\n      return eachFunc(collection, iteratee);\n    }\n    var length = collection.length,\n        index = fromRight ? length : -1,\n        iterable = Object(collection);\n\n    while ((fromRight ? index-- : ++index < length)) {\n      if (iteratee(iterable[index], index, iterable) === false) {\n        break;\n      }\n    }\n    return collection;\n  };\n}\n\nmodule.exports = createBaseEach;\n","var SetCache = require('./_SetCache'),\n    arraySome = require('./_arraySome'),\n    cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\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 */\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  }\n  // Check that cyclic values are equal.\n  var arrStacked = stack.get(array);\n  var othStacked = stack.get(other);\n  if (arrStacked && othStacked) {\n    return arrStacked == other && othStacked == array;\n  }\n  var index = -1,\n      result = true,\n      seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n  stack.set(array, other);\n  stack.set(other, array);\n\n  // Ignore non-index properties.\n  while (++index < arrLength) {\n    var arrValue = array[index],\n        othValue = other[index];\n\n    if (customizer) {\n      var compared = isPartial\n        ? customizer(othValue, arrValue, index, other, array, stack)\n        : customizer(arrValue, othValue, index, array, other, stack);\n    }\n    if (compared !== undefined) {\n      if (compared) {\n        continue;\n      }\n      result = false;\n      break;\n    }\n    // Recursively compare arrays (susceptible to call stack limits).\n    if (seen) {\n      if (!arraySome(other, function(othValue, othIndex) {\n            if (!cacheHas(seen, othIndex) &&\n                (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n              return seen.push(othIndex);\n            }\n          })) {\n        result = false;\n        break;\n      }\n    } else if (!(\n          arrValue === othValue ||\n            equalFunc(arrValue, othValue, bitmask, customizer, stack)\n        )) {\n      result = false;\n      break;\n    }\n  }\n  stack['delete'](array);\n  stack['delete'](other);\n  return result;\n}\n\nmodule.exports = equalArrays;\n","/**\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  return false;\n}\n\nmodule.exports = arraySome;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n    getSymbols = require('./_getSymbols'),\n    keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n  return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var arrayPush = require('./_arrayPush'),\n    isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n  var result = keysFunc(object);\n  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\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    if (predicate(value, index, array)) {\n      result[resIndex++] = value;\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n  return [];\n}\n\nmodule.exports = stubArray;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var isObject = require('./isObject');\n\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 */\nfunction isStrictComparable(value) {\n  return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\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    return object[key] === srcValue &&\n      (srcValue !== undefined || (key in Object(object)));\n  };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseHasIn = require('./_baseHasIn'),\n    hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\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 = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n  return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","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/**\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 */\nfunction hasPath(object, path, hasFunc) {\n  path = castPath(path, object);\n\n  var index = -1,\n      length = path.length,\n      result = false;\n\n  while (++index < length) {\n    var key = toKey(path[index]);\n    if (!(result = object != null && hasFunc(object, key))) {\n      break;\n    }\n    object = object[key];\n  }\n  if (result || ++index != length) {\n    return result;\n  }\n  length = object == null ? 0 : object.length;\n  return !!length && isLength(length) && isIndex(key, length) &&\n    (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseEach = require('./_baseEach'),\n    isArrayLike = require('./isArrayLike');\n\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 */\nfunction baseMap(collection, iteratee) {\n  var index = -1,\n      result = isArrayLike(collection) ? Array(collection.length) : [];\n\n  baseEach(collection, function(value, key, collection) {\n    result[++index] = iteratee(value, key, collection);\n  });\n  return result;\n}\n\nmodule.exports = baseMap;\n","var SetCache = require('./_SetCache'),\n    arrayIncludes = require('./_arrayIncludes'),\n    arrayIncludesWith = require('./_arrayIncludesWith'),\n    cacheHas = require('./_cacheHas'),\n    createSet = require('./_createSet'),\n    setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n  var index = -1,\n      includes = arrayIncludes,\n      length = array.length,\n      isCommon = true,\n      result = [],\n      seen = result;\n\n  if (comparator) {\n    isCommon = false;\n    includes = arrayIncludesWith;\n  }\n  else if (length >= LARGE_ARRAY_SIZE) {\n    var set = iteratee ? null : createSet(array);\n    if (set) {\n      return setToArray(set);\n    }\n    isCommon = false;\n    includes = cacheHas;\n    seen = new SetCache;\n  }\n  else {\n    seen = iteratee ? [] : result;\n  }\n  outer:\n  while (++index < length) {\n    var value = array[index],\n        computed = iteratee ? iteratee(value) : value;\n\n    value = (comparator || value !== 0) ? value : 0;\n    if (isCommon && computed === computed) {\n      var seenIndex = seen.length;\n      while (seenIndex--) {\n        if (seen[seenIndex] === computed) {\n          continue outer;\n        }\n      }\n      if (iteratee) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n    else if (!includes(seen, computed, comparator)) {\n      if (seen !== result) {\n        seen.push(computed);\n      }\n      result.push(value);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseUniq;\n","/**\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  return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (comparator(value, array[index])) {\n      return true;\n    }\n  }\n  return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var baseGet = require('./_baseGet'),\n    baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n  return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","var assignValue = require('./_assignValue'),\n    castPath = require('./_castPath'),\n    isIndex = require('./_isIndex'),\n    isObject = require('./isObject'),\n    toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n  if (!isObject(object)) {\n    return object;\n  }\n  path = castPath(path, object);\n\n  var index = -1,\n      length = path.length,\n      lastIndex = length - 1,\n      nested = object;\n\n  while (nested != null && ++index < length) {\n    var key = toKey(path[index]),\n        newValue = value;\n\n    if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n      return object;\n    }\n\n    if (index != lastIndex) {\n      var objValue = nested[key];\n      newValue = customizer ? customizer(objValue, key, nested) : undefined;\n      if (newValue === undefined) {\n        newValue = isObject(objValue)\n          ? objValue\n          : (isIndex(path[index + 1]) ? [] : {});\n      }\n    }\n    assignValue(nested, key, newValue);\n    nested = nested[key];\n  }\n  return object;\n}\n\nmodule.exports = baseSet;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = hyphenateProperty;\n\nvar _hyphenateStyleName = require(\"hyphenate-style-name\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction hyphenateProperty(property) {\n  return (0, _hyphenateStyleName2[\"default\"])(property);\n}","var copyObject = require('./_copyObject'),\n    keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n  return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var arrayPush = require('./_arrayPush'),\n    getPrototype = require('./_getPrototype'),\n    getSymbols = require('./_getSymbols'),\n    stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n  var result = [];\n  while (object) {\n    arrayPush(result, getSymbols(object));\n    object = getPrototype(object);\n  }\n  return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n    getSymbolsIn = require('./_getSymbolsIn'),\n    keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n  return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PaperclipIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4.82865 10.4853L10.4855 4.82843C11.6571 3.65685 13.5566 3.65685 14.7281 4.82843C15.8997 6 15.8997 7.89949 14.7281 9.07107L8.01063 15.7886C7.42485 16.3744 6.4751 16.3744 5.88931 15.7886C5.30352 15.2028 5.30352 14.253 5.88931 13.6673L11.8997 7.65685C12.095 7.46159 12.095 7.14501 11.8997 6.94975C11.7045 6.75448 11.3879 6.75448 11.1926 6.94975L5.1822 12.9602C4.20589 13.9365 4.20589 15.5194 5.1822 16.4957C6.15852 17.472 7.74143 17.472 8.71774 16.4957L15.4353 9.77817C16.9974 8.21607 16.9974 5.68342 15.4353 4.12132C13.8732 2.55922 11.3405 2.55922 9.7784 4.12132L4.12154 9.77817C3.92628 9.97343 3.92628 10.29 4.12154 10.4853C4.31681 10.6805 4.63339 10.6805 4.82865 10.4853Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M5.28033 10.6088L10.5836 5.30546C11.6576 4.23151 13.3988 4.23151 14.4727 5.30546C15.5467 6.3794 15.5467 8.1206 14.4727 9.19454L8.10876 15.5585C7.6206 16.0467 6.82915 16.0467 6.34099 15.5585C5.85283 15.0703 5.85283 14.2789 6.34099 13.7907L11.9978 8.13388C12.2907 7.84099 12.2907 7.36612 11.9978 7.07322C11.705 6.78033 11.2301 6.78033 10.9372 7.07322L5.28033 12.7301C4.20639 13.804 4.20639 15.5452 5.28033 16.6192C6.35427 17.6931 8.09548 17.6931 9.16942 16.6192L15.5334 10.2552C17.1931 8.59548 17.1931 5.90452 15.5334 4.2448C13.8737 2.58507 11.1827 2.58507 9.52297 4.2448L4.21967 9.5481C3.92678 9.84099 3.92678 10.3159 4.21967 10.6088C4.51256 10.9017 4.98744 10.9017 5.28033 10.6088Z\"\n    }));\n  },\n  displayName: 'PaperclipIcon'\n});\n//# sourceMappingURL=PaperclipIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MoreIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 10C6.5 10.9665 5.7165 11.75 4.75 11.75C3.7835 11.75 3 10.9665 3 10C3 9.0335 3.7835 8.25 4.75 8.25C5.7165 8.25 6.5 9.0335 6.5 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 10C17 10.9665 16.2165 11.75 15.25 11.75C14.2835 11.75 13.5 10.9665 13.5 10C13.5 9.0335 14.2835 8.25 15.25 8.25C16.2165 8.25 17 9.0335 17 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 11.75C10.9665 11.75 11.75 10.9665 11.75 10C11.75 9.0335 10.9665 8.25 10 8.25C9.0335 8.25 8.25 9.0335 8.25 10C8.25 10.9665 9.0335 11.75 10 11.75Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 10C6 10.6904 5.44036 11.25 4.75 11.25C4.05964 11.25 3.5 10.6904 3.5 10C3.5 9.30964 4.05964 8.75 4.75 8.75C5.44036 8.75 6 9.30964 6 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.25 10C11.25 10.6904 10.6904 11.25 10 11.25C9.30964 11.25 8.75 10.6904 8.75 10C8.75 9.30964 9.30964 8.75 10 8.75C10.6904 8.75 11.25 9.30964 11.25 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.25 11.25C15.9404 11.25 16.5 10.6904 16.5 10C16.5 9.30964 15.9404 8.75 15.25 8.75C14.5596 8.75 14 9.30964 14 10C14 10.6904 14.5596 11.25 15.25 11.25Z\"\n    })));\n  },\n  displayName: 'MoreIcon'\n});\n//# sourceMappingURL=MoreIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ArrowRightIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.8371 2.63074C10.6332 2.44456 10.3169 2.45895 10.1307 2.66289C9.94456 2.86683 9.95895 3.18309 10.1629 3.36927L16.3307 9H2.5C2.22386 9 2 9.22386 2 9.5C2 9.77614 2.22386 10 2.5 10H16.3279L10.1629 15.6281C9.95895 15.8143 9.94456 16.1305 10.1307 16.3345C10.3169 16.5384 10.6332 16.5528 10.8371 16.3666L17.7535 10.0526C17.8934 9.92482 17.9732 9.75728 17.993 9.58414C17.9976 9.55678 18 9.52867 18 9.5C18 9.47313 17.9979 9.44675 17.9938 9.42103C17.9756 9.24512 17.8955 9.07446 17.7535 8.94478L10.8371 2.63074Z\"\n    }));\n  },\n  displayName: 'ArrowRightIcon'\n});\n//# sourceMappingURL=ArrowRightIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ArrowLeftIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.15898 16.3666C9.36292 16.5528 9.67918 16.5384 9.86536 16.3345C10.0515 16.1305 10.0371 15.8143 9.8332 15.6281L3.66535 9.99736H17.4961C17.7722 9.99736 17.9961 9.7735 17.9961 9.49736C17.9961 9.22122 17.7722 8.99736 17.4961 8.99736H3.66824L9.8332 3.36927C10.0371 3.18309 10.0515 2.86684 9.86536 2.66289C9.67918 2.45895 9.36292 2.44456 9.15898 2.63074L2.24263 8.94478C2.10268 9.07254 2.02285 9.24008 2.00314 9.41323C1.99851 9.44058 1.99609 9.46869 1.99609 9.49736C1.99609 9.52423 1.99821 9.55061 2.00229 9.57633C2.02047 9.75224 2.10058 9.9229 2.24263 10.0526L9.15898 16.3666Z\"\n    }));\n  },\n  displayName: 'ArrowLeftIcon'\n});\n//# sourceMappingURL=ArrowLeftIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TrashCanIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M11.5 4a1.5 1.5 0 00-3 0h-1a2.5 2.5 0 015 0H17a.5.5 0 010 1h-.554L15.15 16.23A2 2 0 0113.163 18H6.837a2 2 0 01-1.987-1.77L3.553 5H3a.5.5 0 01-.492-.41L2.5 4.5A.5.5 0 013 4h8.5zm3.938 1H4.561l1.282 11.115a1 1 0 00.994.885h6.326a1 1 0 00.993-.885L15.438 5zM8.5 7.5c.245 0 .45.155.492.359L9 7.938v6.125c0 .241-.224.437-.5.437-.245 0-.45-.155-.492-.359L8 14.062V7.939c0-.242.224-.438.5-.438zm3 0c.245 0 .45.155.492.359l.008.079v6.125c0 .241-.224.437-.5.437-.245 0-.45-.155-.492-.359L11 14.062V7.939c0-.242.224-.438.5-.438z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10 1.25a2.75 2.75 0 012.739 2.5H17a.75.75 0 01.102 1.493L17 5.25h-.583L15.15 16.23A2 2 0 0113.163 18H6.837a2 2 0 01-1.987-1.77L3.582 5.25H3a.75.75 0 01-.743-.648L2.25 4.5a.75.75 0 01.648-.743L3 3.75h4.261A2.75 2.75 0 0110 1.25zM8.5 7.5c-.245 0-.45.155-.492.359L8 7.938v6.125l.008.078c.042.204.247.359.492.359s.45-.155.492-.359L9 14.062V7.939l-.008-.08C8.95 7.656 8.745 7.5 8.5 7.5zm3 0c-.245 0-.45.155-.492.359L11 7.938v6.125l.008.078c.042.204.247.359.492.359s.45-.155.492-.359l.008-.079V7.939l-.008-.08c-.042-.203-.247-.358-.492-.358zM10 2.75c-.605 0-1.11.43-1.225 1h2.45c-.116-.57-.62-1-1.225-1z\"\n    }));\n  },\n  displayName: 'TrashCanIcon'\n});\n//# sourceMappingURL=TrashCanIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ExclamationCircleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM10 12.5C10.4142 12.5 10.75 12.8358 10.75 13.25C10.75 13.6642 10.4142 14 10 14C9.58579 14 9.25 13.6642 9.25 13.25C9.25 12.8358 9.58579 12.5 10 12.5ZM10 6C10.2455 6 10.4496 6.17688 10.4919 6.41012L10.5 6.5V11C10.5 11.2761 10.2761 11.5 10 11.5C9.75454 11.5 9.55039 11.3231 9.50806 11.0899L9.5 11V6.5C9.5 6.22386 9.72386 6 10 6Z\"\n    }));\n  },\n  displayName: 'ExclamationCircleIcon'\n});\n//# sourceMappingURL=ExclamationCircleIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ExclamationTriangleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.99835 7C10.2745 7 10.4984 7.22386 10.4984 7.5V11.5C10.4984 11.7761 10.2745 12 9.99835 12C9.72221 12 9.49835 11.7761 9.49835 11.5V7.5C9.49835 7.22386 9.72221 7 9.99835 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.99835 14.5C10.4126 14.5 10.7484 14.1642 10.7484 13.75C10.7484 13.3358 10.4126 13 9.99835 13C9.58414 13 9.24835 13.3358 9.24835 13.75C9.24835 14.1642 9.58414 14.5 9.99835 14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8.68404 2.85216C9.25393 1.816 10.7428 1.81599 11.3127 2.85216L17.8714 14.7771C18.4212 15.7768 17.698 17 16.5571 17H3.43964C2.29873 17 1.57549 15.7768 2.12531 14.7771L8.68404 2.85216ZM10.4365 3.33407C10.2465 2.98869 9.75022 2.98869 9.56026 3.33408L3.00153 15.259C2.81825 15.5923 3.05933 16 3.43964 16H16.5571C16.9374 16 17.1785 15.5923 16.9952 15.259L10.4365 3.33407Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8.68404 2.85216C9.25393 1.816 10.7428 1.81599 11.3127 2.85216L17.8714 14.7771C18.4212 15.7768 17.698 17 16.5571 17H3.43964C2.29873 17 1.57549 15.7768 2.12531 14.7771L8.68404 2.85216ZM9.99835 6.75C10.4126 6.75 10.7484 7.08579 10.7484 7.5V11.5C10.7484 11.9142 10.4126 12.25 9.99835 12.25C9.58414 12.25 9.24835 11.9142 9.24835 11.5V7.5C9.24835 7.08579 9.58414 6.75 9.99835 6.75ZM10.7484 13.75C10.7484 14.1642 10.4126 14.5 9.99835 14.5C9.58414 14.5 9.24835 14.1642 9.24835 13.75C9.24835 13.3358 9.58414 13 9.99835 13C10.4126 13 10.7484 13.3358 10.7484 13.75Z\"\n    }));\n  },\n  displayName: 'ExclamationTriangleIcon'\n});\n//# sourceMappingURL=ExclamationTriangleIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var AddIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M9.5 16.5C9.5 16.7761 9.72386 17 10 17C10.2761 17 10.5 16.7761 10.5 16.5V10.5H16.5C16.7761 10.5 17 10.2761 17 10C17 9.72386 16.7761 9.5 16.5 9.5H10.5V3.5C10.5 3.22386 10.2761 3 10 3C9.72386 3 9.5 3.22386 9.5 3.5V9.5H3.5C3.22386 9.5 3 9.72386 3 10C3 10.2761 3.22386 10.5 3.5 10.5H9.5V16.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M9.25 16.25C9.25 16.6642 9.58579 17 10 17C10.4142 17 10.75 16.6642 10.75 16.25V10.75H16.25C16.6642 10.75 17 10.4142 17 10C17 9.58579 16.6642 9.25 16.25 9.25H10.75V3.75C10.75 3.33579 10.4142 3 10 3C9.58579 3 9.25 3.33579 9.25 3.75V9.25H3.75C3.33579 9.25 3 9.58579 3 10C3 10.4142 3.33579 10.75 3.75 10.75H9.25V16.25Z\"\n    }));\n  },\n  displayName: 'AddIcon'\n});\n//# sourceMappingURL=AddIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var EditIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M13.2452 2.81739C14.332 1.73059 16.0941 1.73059 17.1809 2.81739C18.2224 3.85892 18.2658 5.5206 17.3111 6.6138L17.1809 6.75307L7.57506 16.3589C7.36997 16.564 7.12323 16.7215 6.85236 16.8213L6.68708 16.8742L2.63211 17.9801C2.28552 18.0746 1.96546 17.7861 2.00301 17.4455L2.01817 17.3662L3.12407 13.3112C3.20039 13.0314 3.33646 12.7722 3.52212 12.5511L3.63939 12.4232L13.2452 2.81739ZM12.385 5.09229L4.34649 13.1303C4.2542 13.2226 4.18117 13.3318 4.13111 13.4514L4.08884 13.5743L3.2122 16.785L6.42397 15.9094C6.50791 15.8865 6.58815 15.8529 6.66278 15.8096L6.77028 15.7375L6.86796 15.6518L14.906 7.61329L12.385 5.09229ZM16.4738 3.5245C15.8162 2.8669 14.7727 2.83037 14.0722 3.4149L13.9523 3.5245L13.092 4.38529L15.613 6.90629L16.4738 6.04596C17.1314 5.38836 17.1679 4.34488 16.5834 3.64441L16.4738 3.5245Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M11.677 4.38429L15.613 8.32029L7.57506 16.3589C7.36997 16.564 7.12323 16.7215 6.85236 16.8213L6.68708 16.8742L2.63211 17.9801C2.28552 18.0746 1.96546 17.7861 2.00301 17.4455L2.01817 17.3662L3.12407 13.3112C3.20039 13.0314 3.33646 12.7722 3.52212 12.5511L3.63939 12.4232L11.677 4.38429ZM13.2452 2.81739C14.332 1.73059 16.0941 1.73059 17.1809 2.81739C18.2224 3.85892 18.2658 5.5206 17.3111 6.6138L17.1809 6.75307L16.32 7.61329L12.384 3.67729L13.2452 2.81739Z\"\n    })));\n  },\n  displayName: 'EditIcon'\n});\n//# sourceMappingURL=EditIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var AcceptIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3.37371 10.1678C3.19025 9.96143 2.87421 9.94284 2.66782 10.1263C2.46143 10.3098 2.44284 10.6258 2.6263 10.8322L6.6263 15.3322C6.81743 15.5472 7.15013 15.557 7.35356 15.3536L17.8536 4.85355C18.0488 4.65829 18.0488 4.34171 17.8536 4.14645C17.6583 3.95118 17.3417 3.95118 17.1465 4.14645L7.02141 14.2715L3.37371 10.1678Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M7.03212 13.9072L3.56056 10.0017C3.28538 9.69214 2.81132 9.66425 2.50174 9.93944C2.19215 10.2146 2.16426 10.6887 2.43945 10.9983L6.43945 15.4983C6.72614 15.8208 7.2252 15.8355 7.53034 15.5303L18.0303 5.03033C18.3232 4.73744 18.3232 4.26256 18.0303 3.96967C17.7374 3.67678 17.2626 3.67678 16.9697 3.96967L7.03212 13.9072Z\"\n    }));\n  },\n  displayName: 'AcceptIcon'\n});\n//# sourceMappingURL=AcceptIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ApprovalsAppbarIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.85355 1.14645C9.65829 0.951184 9.34171 0.951184 9.14645 1.14645C8.95118 1.34171 8.95118 1.65829 9.14645 1.85355L10.2929 3H9.5C5.35786 3 2 6.35786 2 10.5C2 14.6421 5.35786 18 9.5 18C13.6421 18 17 14.6421 17 10.5C17 10.2239 16.7761 10 16.5 10C16.2239 10 16 10.2239 16 10.5C16 14.0899 13.0899 17 9.5 17C5.91015 17 3 14.0899 3 10.5C3 6.91015 5.91015 4 9.5 4H10.2929L9.14645 5.14645C8.95118 5.34171 8.95118 5.65829 9.14645 5.85355C9.34171 6.04882 9.65829 6.04882 9.85355 5.85355L11.8536 3.85355C12.0488 3.65829 12.0488 3.34171 11.8536 3.14645L9.85355 1.14645Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.3467 7.13976C13.5457 7.33125 13.5517 7.64778 13.3602 7.84673L9.51027 11.8467C9.41601 11.9447 9.28595 12 9.15002 12C9.0141 12 8.88403 11.9447 8.78978 11.8467L7.13975 10.1324C6.94826 9.93339 6.95431 9.61687 7.15327 9.42537C7.35223 9.23388 7.66876 9.23993 7.86025 9.4389L9.15003 10.779L12.6398 7.15327C12.8313 6.95431 13.1478 6.94826 13.3467 7.13976Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.78033 0.71967C9.48744 0.426777 9.01256 0.426777 8.71967 0.71967C8.42678 1.01256 8.42678 1.48744 8.71967 1.78033L9.93934 3H9.5C5.35786 3 2 6.35786 2 10.5C2 14.6421 5.35786 18 9.5 18C13.6421 18 17 14.6421 17 10.5C17 10.0858 16.6642 9.75 16.25 9.75C15.8358 9.75 15.5 10.0858 15.5 10.5C15.5 13.8137 12.8137 16.5 9.5 16.5C6.18629 16.5 3.5 13.8137 3.5 10.5C3.5 7.20664 6.15341 4.53301 9.43904 4.5003L8.71967 5.21967C8.42678 5.51256 8.42678 5.98744 8.71967 6.28033C9.01256 6.57322 9.48744 6.57322 9.78033 6.28033L12.0303 4.03033C12.3232 3.73744 12.3232 3.26256 12.0303 2.96967L9.78033 0.71967Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.5201 6.95963C13.8185 7.24688 13.8276 7.72166 13.5404 8.0201L9.69039 12.0201C9.549 12.167 9.35391 12.25 9.15002 12.25C8.94613 12.25 8.75104 12.167 8.60965 12.0201L6.95963 10.3057C6.67239 10.0073 6.68147 9.53249 6.97991 9.24525C7.27835 8.95801 7.75314 8.96709 8.04038 9.26553L9.15003 10.4185L12.4596 6.9799C12.7469 6.68146 13.2217 6.67239 13.5201 6.95963Z\"\n    })));\n  },\n  displayName: 'ApprovalsAppbarIcon'\n});\n//# sourceMappingURL=ApprovalsAppbarIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var AppsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4.5 17C3.7203 17 3.07955 16.4051 3.00687 15.6445L3 15.5V4.5C3 3.7203 3.59489 3.07955 4.35554 3.00687L4.5 3H9C9.7797 3 10.4204 3.59489 10.4931 4.35554L10.5 4.5V4.75443L12.6886 2.48518C13.2276 1.92599 14.0959 1.87568 14.6956 2.34707L14.8118 2.4483L17.5694 5.17295C18.1219 5.71884 18.1614 6.58769 17.68 7.18413L17.5767 7.29961L15.266 9.49943L15.5 9.5C16.2797 9.5 16.9204 10.0949 16.9931 10.8555L17 11V15.5C17 16.2797 16.4051 16.9204 15.6445 16.9931L15.5 17H4.5ZM9.5 10.5H4V15.5C4 15.7148 4.13542 15.8979 4.32553 15.9687L4.41012 15.9919L4.5 16H9.5V10.5ZM15.5 10.5H10.5V16H15.5C15.7455 16 15.9496 15.8231 15.9919 15.5899L16 15.5V11C16 10.7545 15.8231 10.5504 15.5899 10.5081L15.5 10.5ZM10.5 7.70943V9.49943H12.29L10.5 7.70943ZM9 4H4.5C4.25454 4 4.05039 4.17688 4.00806 4.41012L4 4.5V9.5H9.5V4.5C9.5 4.28522 9.36458 4.10207 9.17447 4.03128L9.08988 4.00806L9 4ZM14.1222 3.17265C13.9396 2.99652 13.6692 2.98155 13.4768 3.12004L13.4086 3.17915L10.7926 5.89329C10.6271 6.065 10.6086 6.32501 10.7356 6.51644L10.799 6.59383L13.4147 9.20955C13.5826 9.37746 13.8409 9.40135 14.0345 9.27931L14.1131 9.21806L16.8708 6.59139C17.0433 6.41679 17.061 6.14725 16.9248 5.95319L16.8665 5.88429L14.1222 3.17265Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4.5 17C3.7203 17 3.07955 16.4051 3.00687 15.6445L3 15.5V4.5C3 3.7203 3.59489 3.07955 4.35554 3.00687L4.5 3H9C9.7797 3 10.4204 3.59489 10.4931 4.35554L10.5 4.5V4.75443L12.6886 2.48518C13.2276 1.92599 14.0959 1.87568 14.6956 2.34707L14.8118 2.4483L17.5694 5.17295C18.1219 5.71884 18.1614 6.58769 17.68 7.18413L17.5767 7.29961L15.266 9.49943L15.5 9.5C16.2797 9.5 16.9204 10.0949 16.9931 10.8555L17 11V15.5C17 16.2797 16.4051 16.9204 15.6445 16.9931L15.5 17H4.5ZM9.5 10.5H4V15.5C4 15.7148 4.13542 15.8979 4.32553 15.9687L4.41012 15.9919L4.5 16H9.5V10.5ZM15.5 10.5H10.5V16H15.5C15.7455 16 15.9496 15.8231 15.9919 15.5899L16 15.5V11C16 10.7545 15.8231 10.5504 15.5899 10.5081L15.5 10.5ZM10.5 7.70943V9.49943H12.29L10.5 7.70943ZM9 4H4.5C4.25454 4 4.05039 4.17688 4.00806 4.41012L4 4.5V9.5H9.5V4.5C9.5 4.28522 9.36458 4.10207 9.17447 4.03128L9.08988 4.00806L9 4Z\"\n    }));\n  },\n  displayName: 'AppsIcon'\n});\n//# sourceMappingURL=AppsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ArchiveIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M16.5 2C17.3284 2 18 2.67157 18 3.5V5.5C18 6.15285 17.5829 6.70828 17.0007 6.9144L17 14.5C17 16.433 15.433 18 13.5 18H6.5C4.567 18 3 16.433 3 14.5L3.00029 6.91475C2.41754 6.70891 2 6.15322 2 5.5V3.5C2 2.67157 2.67157 2 3.5 2H16.5ZM16 7H4V14.5C4 15.8807 5.11929 17 6.5 17H13.5C14.8807 17 16 15.8807 16 14.5V7ZM8.5 9H11.5C11.7761 9 12 9.22386 12 9.5C12 9.74546 11.8231 9.94961 11.5899 9.99194L11.5 10H8.5C8.22386 10 8 9.77614 8 9.5C8 9.25454 8.17688 9.05039 8.41012 9.00806L8.5 9H11.5H8.5ZM16.5 3H3.5C3.22386 3 3 3.22386 3 3.5V5.5C3 5.77614 3.22386 6 3.5 6H16.5C16.7761 6 17 5.77614 17 5.5V3.5C17 3.22386 16.7761 3 16.5 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M17 7V15C17 16.6569 15.6569 18 14 18H6C4.34315 18 3 16.6569 3 15V7H17ZM11.5 9H8.5C8.22386 9 8 9.22386 8 9.5C8 9.77614 8.22386 10 8.5 10H11.5C11.7761 10 12 9.77614 12 9.5C12 9.22386 11.7761 9 11.5 9ZM17 2C17.5523 2 18 2.44772 18 3V5C18 5.55228 17.5523 6 17 6H3C2.44772 6 2 5.55228 2 5V3C2 2.44772 2.44772 2 3 2H17Z\"\n    }));\n  },\n  displayName: 'ArchiveIcon'\n});\n//# sourceMappingURL=ArchiveIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ArrowDownIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.8664 10.8371C17.0526 10.6332 17.0382 10.3169 16.8342 10.1307C16.6303 9.94456 16.314 9.95895 16.1278 10.1629L10.4971 16.3307V2.5C10.4971 2.22386 10.2733 2 9.99712 2C9.72097 2 9.49712 2.22386 9.49712 2.5V16.3279L3.86903 10.1629C3.68285 9.95895 3.36659 9.94456 3.16265 10.1307C2.95871 10.3169 2.94431 10.6332 3.13049 10.8371L9.44454 17.7535C9.5723 17.8934 9.73984 17.9732 9.91298 17.993C9.94033 17.9976 9.96844 18 9.99712 18C10.024 18 10.0504 17.9979 10.0761 17.9938C10.252 17.9756 10.4227 17.8955 10.5523 17.7535L16.8664 10.8371Z\"\n    }));\n  },\n  displayName: 'ArrowDownIcon'\n});\n//# sourceMappingURL=ArrowDownIcon.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ArrowSortIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.49988 5.70981L2.85551 8.35418C2.66024 8.54944 2.34366 8.54944 2.1484 8.35418C1.95314 8.15891 1.95314 7.84233 2.1484 7.64707L5.61673 4.17874C5.70845 4.06947 5.84605 4 5.99988 4L6.00155 4C6.08023 3.99998 6.15892 4.01841 6.23056 4.05531C6.27569 4.07847 6.31803 4.10895 6.35583 4.14675L6.36581 4.15701L9.85588 7.64709C10.0511 7.84235 10.0511 8.15893 9.85588 8.3542C9.66062 8.54946 9.34404 8.54946 9.14878 8.3542L6.49988 5.7053V15.5C6.49988 15.7761 6.27602 16 5.99988 16C5.72374 16 5.49988 15.7761 5.49988 15.5V5.70981ZM14.5044 14.2902L17.1488 11.6458C17.344 11.4506 17.6606 11.4506 17.8559 11.6458C18.0511 11.8411 18.0511 12.1577 17.8559 12.3529L14.3875 15.8213C14.2958 15.9305 14.1582 16 14.0044 16L14.0027 16C13.924 16 13.8454 15.9816 13.7737 15.9447C13.7286 15.9215 13.6862 15.8911 13.6484 15.8533L13.6385 15.843L10.1484 12.3529C9.95313 12.1577 9.95313 11.8411 10.1484 11.6458C10.3437 11.4505 10.6602 11.4505 10.8555 11.6458L13.5044 14.2947L13.5044 4.5C13.5044 4.22386 13.7283 4 14.0044 4C14.2805 4 14.5044 4.22386 14.5044 4.5L14.5044 14.2902Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.75001 4.00001C5.51478 4.00001 5.30484 4.1083 5.16733 4.27775L2.22162 7.22346C1.92873 7.51636 1.92873 7.99123 2.22162 8.28412C2.51452 8.57702 2.98939 8.57702 3.28228 8.28412L5.00001 6.5664V15.25C5.00001 15.6642 5.3358 16 5.75001 16C6.16422 16 6.50001 15.6642 6.50001 15.25V6.5559L8.23275 8.28864C8.52564 8.58153 9.00052 8.58153 9.29341 8.28864C9.5863 7.99575 9.5863 7.52087 9.29341 7.22798L6.2851 4.21967C6.1377 4.07227 5.9432 3.99905 5.75001 4.00001ZM5.75001 4.00001C5.74968 4.00001 5.75034 4.00001 5.75001 4.00001V4.00001ZM14.252 16C14.4872 16 14.6971 15.8917 14.8346 15.7223L17.7803 12.7765C18.0732 12.4837 18.0732 12.0088 17.7803 11.7159C17.4874 11.423 17.0126 11.423 16.7197 11.7159L15.002 13.4336L15.002 4.75C15.002 4.33579 14.6662 4 14.252 4C13.8377 4 13.502 4.33579 13.502 4.75L13.502 13.4441L11.7692 11.7114C11.4763 11.4185 11.0014 11.4185 10.7086 11.7114C10.4157 12.0043 10.4157 12.4791 10.7086 12.772L13.7169 15.7803C13.8643 15.9277 14.0588 16.001 14.252 16ZM14.252 16C14.2523 16 14.2516 16 14.252 16V16Z\"\n    })));\n  },\n  displayName: 'ArrowSortIcon'\n});\n//# sourceMappingURL=ArrowSortIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ArrowUpIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.13196 9.16156C2.94578 9.3655 2.96017 9.68176 3.16412 9.86794C3.36806 10.0541 3.68431 10.0397 3.87049 9.83578L9.50122 3.66792L9.50122 17.4987C9.50122 17.7748 9.72508 17.9987 10.0012 17.9987C10.2774 17.9987 10.5012 17.7748 10.5012 17.4987L10.5012 3.67081L16.1293 9.83578C16.3155 10.0397 16.6317 10.0541 16.8357 9.86794C17.0396 9.68176 17.054 9.3655 16.8678 9.16156L10.5538 2.24521C10.426 2.10526 10.2585 2.02543 10.0854 2.00572C10.058 2.00109 10.0299 1.99867 10.0012 1.99867C9.97435 1.99867 9.94797 2.00079 9.92225 2.00487C9.74634 2.02305 9.57568 2.10316 9.446 2.24521L3.13196 9.16156Z\"\n    }));\n  },\n  displayName: 'ArrowUpIcon'\n});\n//# sourceMappingURL=ArrowUpIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var AudienceIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 7a2 2 0 100-4 2 2 0 000 4zm0-1a1 1 0 110-2 1 1 0 010 2zM5 12a2 2 0 100-4 2 2 0 000 4zm0-1a1 1 0 110-2 1 1 0 010 2zM15 12a2 2 0 100-4 2 2 0 000 4zm0-1a1 1 0 110-2 1 1 0 010 2zM12 10a2 2 0 11-4 0 2 2 0 014 0zm-1 0a1 1 0 10-2 0 1 1 0 002 0zM2.5 13h3.585a1.498 1.498 0 00-.085.5v.5H3a2 2 0 003.161 1.628c.097.33.235.641.408.93A3 3 0 012 14v-.5a.5.5 0 01.5-.5zM15 17a2.986 2.986 0 01-1.569-.442c.173-.289.311-.6.408-.93A2 2 0 0017 14h-3v-.5c0-.175-.03-.344-.085-.5H17.5a.5.5 0 01.5.5v.5a3 3 0 01-3 3zM15 5a2 2 0 11-4 0 2 2 0 014 0zm-1 0a1 1 0 10-2 0 1 1 0 002 0zM7.5 13a.5.5 0 00-.5.5v1a3 3 0 106 0v-1a.5.5 0 00-.5-.5h-5zm.5 1h4v.5a2 2 0 11-4 0V14z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 7a2 2 0 100-4 2 2 0 000 4zM7 10a2 2 0 11-4 0 2 2 0 014 0zM15 12a2 2 0 100-4 2 2 0 000 4zM10 12a2 2 0 100-4 2 2 0 000 4zM6.085 13H2.5a.5.5 0 00-.5.5v.5a3 3 0 004.569 2.558A3.982 3.982 0 016 14.5v-1c0-.175.03-.344.085-.5zM13.431 16.558A3.982 3.982 0 0014 14.5v-1c0-.175-.03-.344-.085-.5H17.5a.5.5 0 01.5.5v.5a3 3 0 01-4.569 2.558zM13 7a2 2 0 100-4 2 2 0 000 4zM7.5 13a.5.5 0 00-.5.5v1a3 3 0 106 0v-1a.5.5 0 00-.5-.5h-5z\"\n    })));\n  },\n  displayName: 'AudienceIcon'\n});\n//# sourceMappingURL=AudienceIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var AudioLoadingIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.20907 12.9928C9.14 12.9976 9.07028 13 9 13C7.34315 13 6 11.6568 6 9.99998V5C6 3.34315 7.34315 2 9 2C10.6569 2 12 3.34315 12 5V9.59971C11.6351 9.78627 11.2937 10.0124 10.9816 10.2724C10.9937 10.1833 11 10.0924 11 9.99998V5C11 3.89543 10.1046 3 9 3C7.89543 3 7 3.89543 7 5V9.99998C7 11.1046 7.89543 12 9 12C9.2305 12 9.45189 11.961 9.65793 11.8892C9.47039 12.2363 9.31908 12.6059 9.20907 12.9928Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.00209 14.653C9.02293 15.4158 9.19906 16.1398 9.5 16.7945V17.5C9.5 17.7761 9.27614 18 9 18C8.72386 18 8.5 17.7761 8.5 17.5V15.4776C5.69675 15.2249 3.5 12.869 3.5 9.99998C3.5 9.72384 3.72386 9.49998 4 9.49998C4.27614 9.49998 4.5 9.72384 4.5 9.99998C4.5 12.4853 6.51472 14.5 9 14.5C9 14.5512 9.0007 14.6022 9.00209 14.653Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM12.5 11.5C12.2239 11.5 12 11.7239 12 12V13.5C12 13.7761 12.2239 14 12.5 14H14C14.2761 14 14.5 13.7761 14.5 13.5C14.5 13.2239 14.2761 13 14 13H13.5318C13.5821 12.9722 13.6337 12.9464 13.6865 12.923C13.9318 12.8137 14.1966 12.755 14.465 12.7503C14.7335 12.7456 15.0002 12.795 15.2492 12.8956C15.4982 12.9962 15.7244 13.1459 15.9143 13.3358C16.1095 13.531 16.4261 13.531 16.6214 13.3358C16.8166 13.1405 16.8166 12.8239 16.6214 12.6287C16.3365 12.3439 15.9973 12.1193 15.6238 11.9684C15.2503 11.8175 14.8503 11.7434 14.4476 11.7505C14.0448 11.7575 13.6476 11.8456 13.2797 12.0094C13.1838 12.0521 13.0905 12.0997 13 12.1519V12C13 11.7239 12.7761 11.5 12.5 11.5ZM13.3762 17.0316C13.7497 17.1825 14.1497 17.2566 14.5524 17.2495C14.9552 17.2425 15.3524 17.1544 15.7203 16.9906C15.8162 16.9479 15.9095 16.9003 16 16.8481V17C16 17.2761 16.2239 17.5 16.5 17.5C16.7761 17.5 17 17.2761 17 17V15.5C17 15.2239 16.7761 15 16.5 15H15C14.7239 15 14.5 15.2239 14.5 15.5C14.5 15.7761 14.7239 16 15 16H15.4682C15.4179 16.0278 15.3663 16.0536 15.3135 16.077C15.0682 16.1863 14.8034 16.245 14.535 16.2497C14.2665 16.2544 13.9998 16.205 13.7508 16.1044C13.5018 16.0038 13.2756 15.8541 13.0857 15.6642C12.8905 15.469 12.5739 15.469 12.3786 15.6642C12.1834 15.8595 12.1834 16.1761 12.3786 16.3713C12.6635 16.6561 13.0027 16.8807 13.3762 17.0316Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 9.59971C10.6546 10.2875 9.62981 11.513 9.20907 12.9928C9.14 12.9976 9.07028 13 9 13C7.34315 13 6 11.6568 6 9.99998V5C6 3.34315 7.34315 2 9 2C10.6569 2 12 3.34315 12 5V9.59971Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 17.5V16.7945C9.179 16.0961 9 15.319 9 14.5C6.51472 14.5 4.5 12.4853 4.5 9.99998C4.5 9.72384 4.27614 9.49998 4 9.49998C3.72386 9.49998 3.5 9.72384 3.5 9.99998C3.5 12.869 5.69675 15.2249 8.5 15.4776V17.5C8.5 17.7761 8.72386 18 9 18C9.27614 18 9.5 17.7761 9.5 17.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM12.5 11.5C12.2239 11.5 12 11.7239 12 12V13.5C12 13.7761 12.2239 14 12.5 14H14C14.2761 14 14.5 13.7761 14.5 13.5C14.5 13.2239 14.2761 13 14 13H13.5318C13.5821 12.9722 13.6337 12.9464 13.6865 12.923C13.9318 12.8137 14.1966 12.755 14.465 12.7503C14.7335 12.7456 15.0002 12.795 15.2492 12.8956C15.4982 12.9962 15.7244 13.1459 15.9143 13.3358C16.1095 13.531 16.4261 13.531 16.6214 13.3358C16.8166 13.1405 16.8166 12.8239 16.6214 12.6287C16.3365 12.3439 15.9973 12.1193 15.6238 11.9684C15.2503 11.8175 14.8503 11.7434 14.4476 11.7505C14.0448 11.7575 13.6476 11.8456 13.2797 12.0094C13.1838 12.0521 13.0905 12.0997 13 12.1519V12C13 11.7239 12.7761 11.5 12.5 11.5ZM13.3762 17.0316C13.7497 17.1825 14.1497 17.2566 14.5524 17.2495C14.9552 17.2425 15.3524 17.1544 15.7203 16.9906C15.8162 16.9479 15.9095 16.9003 16 16.8481V17C16 17.2761 16.2239 17.5 16.5 17.5C16.7761 17.5 17 17.2761 17 17V15.5C17 15.2239 16.7761 15 16.5 15H15C14.7239 15 14.5 15.2239 14.5 15.5C14.5 15.7761 14.7239 16 15 16H15.4682C15.4179 16.0278 15.3663 16.0536 15.3135 16.077C15.0682 16.1863 14.8034 16.245 14.535 16.2497C14.2665 16.2544 13.9998 16.205 13.7508 16.1044C13.5018 16.0038 13.2756 15.8541 13.0857 15.6642C12.8905 15.469 12.5739 15.469 12.3786 15.6642C12.1834 15.8595 12.1834 16.1761 12.3786 16.3713C12.6635 16.6561 13.0027 16.8807 13.3762 17.0316Z\"\n    })));\n  },\n  displayName: 'AudioLoadingIcon'\n});\n//# sourceMappingURL=AudioLoadingIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var AudioOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85258 2.14646C2.65731 1.9512 2.34073 1.9512 2.14547 2.14646C1.95021 2.34172 1.95021 2.65831 2.14547 2.85357L5.29191 6.00001H3.49609C2.66767 6.00001 1.99609 6.67158 1.99609 7.50001V12.5C1.99609 13.3284 2.66767 14 3.49609 14H6.10358C6.22973 14 6.35122 14.0477 6.44369 14.1335L10.3159 17.7269C10.9558 18.3207 11.9961 17.8669 11.9961 16.9939V12.7042L17.1455 17.8536C17.3407 18.0488 17.6573 18.0488 17.8526 17.8536C18.0478 17.6583 18.0478 17.3417 17.8526 17.1465L15.2899 14.5837C15.2899 14.5837 15.2899 14.5837 15.2899 14.5837L2.85258 2.14646ZM10.9961 11.7042V16.9939L7.12392 13.4005C6.84651 13.1431 6.48204 13 6.10358 13H3.49609C3.21995 13 2.99609 12.7761 2.99609 12.5V7.50001C2.99609 7.22387 3.21995 7.00001 3.49609 7.00001H6.10358C6.16328 7.00001 6.22263 6.99645 6.28134 6.98944L10.9961 11.7042Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.9961 3.00613V8.87573L11.9961 9.87573V3.00613C11.9961 2.13311 10.9558 1.67928 10.3159 2.27313L7.2441 5.12373L7.95169 5.83133L10.9961 3.00613Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.06 11.9396L14.8018 12.6815C15.712 11.048 15.7661 8.98894 14.7621 7.24991C14.624 7.01077 14.3182 6.92883 14.0791 7.0669C13.8399 7.20497 13.758 7.51077 13.8961 7.74991C14.6656 9.08288 14.6762 10.6463 14.06 11.9396Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8955 13.7751L16.6172 14.4968C18.6568 11.502 18.4384 7.4305 15.9617 4.66633C15.7775 4.46067 15.4614 4.44332 15.2557 4.6276C15.05 4.81187 15.0327 5.12797 15.217 5.33364C17.3398 7.70289 17.5659 11.1716 15.8955 13.7751Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L5.29289 6.00001H3.5C2.67157 6.00001 2 6.67158 2 7.50001V12.5C2 13.3284 2.67157 14 3.5 14H6.10749C6.23364 14 6.35513 14.0477 6.4476 14.1335L10.3198 17.7269C10.9597 18.3207 12 17.8669 12 16.9939V12.7071L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1465L15.2893 14.5822C15.2893 14.5822 15.2893 14.5822 15.2893 14.5822L2.85355 2.14646Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.9598 4.66638C18.4359 7.43 18.6548 11.5004 16.6164 14.4951L15.8947 13.7734C17.5639 11.17 17.3373 7.70239 15.215 5.33369C15.0307 5.12802 15.0481 4.81191 15.2537 4.62764C15.4594 4.44337 15.7755 4.46071 15.9598 4.66638Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.7602 7.24995C15.7638 8.98832 15.7101 11.0464 14.801 12.6796L14.059 11.9377C14.6743 10.6447 14.6633 9.08223 13.8942 7.74995C13.7561 7.5108 13.838 7.20501 14.0772 7.06693C14.3163 6.92886 14.6221 7.0108 14.7602 7.24995Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3.00613V9.87866L7.24648 5.12514L10.3198 2.27313C10.9597 1.67928 12 2.13311 12 3.00613Z\"\n    })));\n  },\n  displayName: 'AudioOffIcon'\n});\n//# sourceMappingURL=AudioOffIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var AttendeeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 7C8.10457 7 9 6.10457 9 5C9 3.89543 8.10457 3 7 3C5.89543 3 5 3.89543 5 5C5 6.10457 5.89543 7 7 7ZM7 6C6.44772 6 6 5.55228 6 5C6 4.44772 6.44772 4 7 4C7.55228 4 8 4.44772 8 5C8 5.55228 7.55228 6 7 6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 12C6.10457 12 7 11.1046 7 10C7 8.89543 6.10457 8 5 8C3.89543 8 3 8.89543 3 10C3 11.1046 3.89543 12 5 12ZM5 11C4.44772 11 4 10.5523 4 10C4 9.44772 4.44772 9 5 9C5.55228 9 6 9.44772 6 10C6 10.5523 5.55228 11 5 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 12C16.1046 12 17 11.1046 17 10C17 8.89543 16.1046 8 15 8C13.8954 8 13 8.89543 13 10C13 11.1046 13.8954 12 15 12ZM15 11C14.4477 11 14 10.5523 14 10C14 9.44772 14.4477 9 15 9C15.5523 9 16 9.44772 16 10C16 10.5523 15.5523 11 15 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 10C12 11.1046 11.1046 12 10 12C8.89543 12 8 11.1046 8 10C8 8.89543 8.89543 8 10 8C11.1046 8 12 8.89543 12 10ZM11 10C11 9.44772 10.5523 9 10 9C9.44772 9 9 9.44772 9 10C9 10.5523 9.44772 11 10 11C10.5523 11 11 10.5523 11 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.5 13H6.08535C6.03008 13.1564 6 13.3247 6 13.5V14H3C3 15.1046 3.89543 16 5 16C5.43306 16 5.83398 15.8624 6.16138 15.6284C6.25803 15.9577 6.3959 16.2694 6.56903 16.5575C6.11253 16.8381 5.57517 17 5 17C3.34315 17 2 15.6569 2 14V13.5C2 13.2239 2.22386 13 2.5 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 17C14.4248 17 13.8875 16.8381 13.431 16.5575C13.6041 16.2694 13.742 15.9577 13.8386 15.6284C14.166 15.8624 14.5669 16 15 16C16.1046 16 17 15.1046 17 14H14V13.5C14 13.3247 13.9699 13.1564 13.9146 13H17.5C17.7761 13 18 13.2239 18 13.5V14C18 15.6569 16.6569 17 15 17Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 5C15 6.10457 14.1046 7 13 7C11.8954 7 11 6.10457 11 5C11 3.89543 11.8954 3 13 3C14.1046 3 15 3.89543 15 5ZM14 5C14 4.44772 13.5523 4 13 4C12.4477 4 12 4.44772 12 5C12 5.55228 12.4477 6 13 6C13.5523 6 14 5.55228 14 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.5 13C7.22386 13 7 13.2239 7 13.5V14.5C7 16.1569 8.34315 17.5 10 17.5C11.6569 17.5 13 16.1569 13 14.5V13.5C13 13.2239 12.7761 13 12.5 13H7.5ZM8 14H12V14.5C12 15.6046 11.1046 16.5 10 16.5C8.89543 16.5 8 15.6046 8 14.5V14Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 7C8.10457 7 9 6.10457 9 5C9 3.89543 8.10457 3 7 3C5.89543 3 5 3.89543 5 5C5 6.10457 5.89543 7 7 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 10C7 11.1046 6.10457 12 5 12C3.89543 12 3 11.1046 3 10C3 8.89543 3.89543 8 5 8C6.10457 8 7 8.89543 7 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 12C16.1046 12 17 11.1046 17 10C17 8.89543 16.1046 8 15 8C13.8954 8 13 8.89543 13 10C13 11.1046 13.8954 12 15 12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 12C11.1046 12 12 11.1046 12 10C12 8.89543 11.1046 8 10 8C8.89543 8 8 8.89543 8 10C8 11.1046 8.89543 12 10 12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.08535 13H2.5C2.22386 13 2 13.2239 2 13.5V14C2 15.6569 3.34315 17 5 17C5.57517 17 6.11253 16.8381 6.56903 16.5575C6.20776 15.9563 6 15.2524 6 14.5V13.5C6 13.3247 6.03008 13.1564 6.08535 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.431 16.5575C13.7922 15.9563 14 15.2524 14 14.5V13.5C14 13.3247 13.9699 13.1564 13.9146 13H17.5C17.7761 13 18 13.2239 18 13.5V14C18 15.6569 16.6569 17 15 17C14.4248 17 13.8875 16.8381 13.431 16.5575Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 7C14.1046 7 15 6.10457 15 5C15 3.89543 14.1046 3 13 3C11.8954 3 11 3.89543 11 5C11 6.10457 11.8954 7 13 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.5 13C7.22386 13 7 13.2239 7 13.5V14.5C7 16.1569 8.34315 17.5 10 17.5C11.6569 17.5 13 16.1569 13 14.5V13.5C13 13.2239 12.7761 13 12.5 13H7.5Z\"\n    })));\n  },\n  displayName: 'AttendeeIcon'\n});\n//# sourceMappingURL=AttendeeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BanIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10ZM17 10C17 13.866 13.866 17 10 17C8.24696 17 6.64442 16.3556 5.41636 15.2907L15.2907 5.41636C16.3556 6.64442 17 8.24696 17 10ZM4.70925 14.5836L14.5836 4.70925C13.3556 3.6444 11.753 3 10 3C6.13401 3 3 6.13401 3 10C3 11.753 3.6444 13.3556 4.70925 14.5836Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10ZM16.5 10C16.5 13.5899 13.5899 16.5 10 16.5C8.47531 16.5 7.07323 15.975 5.96465 15.096L15.096 5.96465C15.975 7.07323 16.5 8.47531 16.5 10ZM4.90399 14.0353L14.0353 4.90399C12.9268 4.02496 11.5247 3.5 10 3.5C6.41015 3.5 3.5 6.41015 3.5 10C3.5 11.5247 4.02496 12.9268 4.90399 14.0353Z\"\n    }));\n  },\n  displayName: 'BanIcon'\n});\n//# sourceMappingURL=BanIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BellIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M9.99766 2C13.1466 2 15.7416 4.33488 15.9821 7.3554L15.9955 7.57762L16 7.80214L15.999 11.398L16.9244 13.6202C16.947 13.6743 16.9647 13.7302 16.9774 13.7871L16.9926 13.8733L17.0013 14.0046C17.0013 14.4526 16.7048 14.8387 16.2521 14.9677L16.1358 14.9945L16.0013 15.0046L12.4996 15.004L12.4946 15.1653C12.4095 16.469 11.3252 17.5 10 17.5C8.67453 17.5 7.58998 16.4685 7.50533 15.1644L7.49962 15.004L3.99891 15.0046C3.91096 15.0046 3.82358 14.993 3.73902 14.9702L3.61456 14.9277C3.20378 14.7567 2.96181 14.3392 3.01221 13.8757L3.0333 13.7483L3.07572 13.6202L3.99902 11.401L4.0001 7.79281L4.0044 7.56824C4.12702 4.45115 6.77104 2 9.99766 2ZM11.4996 15.004H8.49962L8.50697 15.1454C8.57552 15.8581 9.14275 16.425 9.85556 16.4931L10 16.5C10.7797 16.5 11.4205 15.9051 11.4931 15.1445L11.4996 15.004ZM9.99766 3C7.37511 3 5.22717 4.92372 5.01715 7.38498L5.00393 7.59723L5.00002 7.80214V11.5L4.96161 11.6922L3.9989 14.0046L15.9566 14.0066L16.0019 14.0045L15.0384 11.6922L15 11.5L15.0001 7.81241L14.996 7.60831C14.8909 5.0349 12.6947 3 9.99766 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M12.4497 16.0016C12.2174 17.1419 11.2089 18 10 18C8.79108 18 7.78257 17.1419 7.55033 16.0016H12.4497ZM9.99765 2C13.1466 2 15.7415 4.33488 15.9821 7.3554L15.9955 7.57762L16 7.80214L15.999 11.408L16.9528 13.9951L16.9784 14.0796L16.9939 14.1664L16.9991 14.2546C16.9991 14.5697 16.8034 14.845 16.4771 14.9618L16.3636 14.9947L16.2491 15.0046H3.75136C3.66286 15.0046 3.57507 14.9889 3.49203 14.9583C3.20513 14.8526 3.01636 14.5865 3.00958 14.2422L3.01418 14.1247L3.04762 13.9952L3.99901 11.411L4.00009 7.79281L4.00439 7.56824C4.12701 4.45115 6.77103 2 9.99765 2Z\"\n    }));\n  },\n  displayName: 'BellIcon'\n});\n//# sourceMappingURL=BellIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BellSlashIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.0044 7.56824C4.03648 6.75282 4.2411 5.98297 4.58356 5.29065L2.14645 2.85355C1.95118 2.65829 1.95118 2.34171 2.14645 2.14645C2.34171 1.95118 2.65829 1.95118 2.85355 2.14645L17.8536 17.1464C18.0488 17.3417 18.0488 17.6583 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L14.2972 15.0043L12.4996 15.004L12.4946 15.1653C12.4095 16.469 11.3252 17.5 10 17.5C8.67453 17.5 7.58998 16.4685 7.50533 15.1644L7.49962 15.004L3.99891 15.0046C3.91096 15.0046 3.82358 14.993 3.73902 14.9702L3.61456 14.9277C3.20378 14.7567 2.96181 14.3392 3.01221 13.8757L3.0333 13.7483L3.07572 13.6202L3.99902 11.401L4.0001 7.79281L4.0044 7.56824ZM13.299 14.0061L5.33843 6.04552C5.16766 6.46607 5.05719 6.91575 5.01715 7.38498L5.00393 7.59723L5.00002 7.80214V11.5L4.96161 11.6922L3.9989 14.0046L13.299 14.0061ZM11.4996 15.004H8.49962L8.50697 15.1454C8.57552 15.8581 9.14275 16.425 9.85556 16.4931L10 16.5C10.7797 16.5 11.4205 15.9051 11.4931 15.1445L11.4996 15.004Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.0384 11.6922L15.9133 13.7919L16.7653 14.644C16.9153 14.4691 17.0013 14.2458 17.0013 14.0046L16.9926 13.8733L16.9774 13.7871C16.9647 13.7302 16.947 13.6743 16.9244 13.6202L15.999 11.398L16 7.80214L15.9955 7.57762L15.9821 7.3554C15.7416 4.33488 13.1466 2 9.99766 2C8.3584 2 6.86951 2.63266 5.78523 3.66389L6.49193 4.3706C7.39369 3.52222 8.63126 3 9.99766 3C12.6947 3 14.8909 5.0349 14.996 7.60831L15.0001 7.81241L15 11.5L15.0384 11.6922Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.00433 7.56824C4.03641 6.7528 4.24104 5.98294 4.58352 5.29061L2.14645 2.85355C1.95118 2.65829 1.95118 2.34171 2.14645 2.14645C2.34171 1.95118 2.65829 1.95118 2.85355 2.14645L17.8536 17.1464C18.0488 17.3417 18.0488 17.6583 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L14.2975 15.0046H3.7513C3.6628 15.0046 3.575 14.9889 3.49197 14.9583C3.20507 14.8526 3.0163 14.5865 3.00952 14.2422L3.01412 14.1247L3.04756 13.9952L3.99895 11.411L4.00003 7.79281L4.00433 7.56824Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.999 14.2546C16.999 14.426 16.9411 14.5856 16.8357 14.7144L5.78519 3.66386C6.86947 2.63265 8.35835 2 9.99759 2C13.1465 2 15.7415 4.33488 15.9821 7.3554L15.9954 7.57762L15.9999 7.80214L15.9989 11.408L16.9527 13.9951L16.9783 14.0796L16.9938 14.1664L16.999 14.2546Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.4496 16.0016C12.2174 17.1419 11.2089 18 9.99995 18C8.79102 18 7.78251 17.1419 7.55027 16.0016H12.4496Z\"\n    })));\n  },\n  displayName: 'BellSlashIcon'\n});\n//# sourceMappingURL=BellSlashIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport cx from 'classnames';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BellSnoozeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.00006 11.5V8.05444C5.002 8.03656 5.00299 8.01839 5.00299 8C5.00299 5.23851 7.24162 2.99988 10.0031 2.99988C10.4753 2.99988 10.9313 3.06518 11.3632 3.18695C11.629 3.26189 11.9052 3.10719 11.9801 2.84141C12.0551 2.57563 11.9004 2.29942 11.6346 2.22448C11.1153 2.07805 10.5679 1.99988 10.0031 1.99988C6.7091 1.99988 4.03506 4.65428 4.00328 7.94078C4.00115 7.95949 4.00006 7.97852 4.00006 7.9978V11.4L3.07699 13.6154C2.80253 14.2741 3.28649 15 4.00006 15H7.5C7.5 16.3807 8.61929 17.5 10 17.5C11.3807 17.5 12.5 16.3807 12.5 15L16.0001 15C16.7136 15 17.1976 14.2741 16.9231 13.6154L16.0001 11.4V9.9978C16.0001 9.72166 15.7762 9.4978 15.5001 9.4978C15.2239 9.4978 15.0001 9.72166 15.0001 9.9978V11.5C15.0001 11.566 15.0131 11.6314 15.0385 11.6923L16.0001 14H4.00006L4.9616 11.6923C4.98699 11.6314 5.00006 11.566 5.00006 11.5ZM8.5 15H11.5C11.5 15.8284 10.8284 16.5 10 16.5C9.17157 16.5 8.5 15.8284 8.5 15Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.9999 2H17.4999C17.8755 2 18.1068 2.39262 17.9521 2.71403L17.9095 2.78673L14.9602 7H17.4999C17.776 7 17.9999 7.22386 17.9999 7.5C17.9999 7.74546 17.823 7.94961 17.5898 7.99194L17.4999 8H13.9999C13.6243 8 13.393 7.60738 13.5476 7.28597L13.5903 7.21327L16.5396 3H13.9999C13.7238 3 13.4999 2.77614 13.4999 2.5C13.4999 2.25454 13.6768 2.05039 13.91 2.00806L13.9999 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.50096 6H12.001C12.3966 6 12.6247 6.4307 12.4327 6.75291L12.3851 6.82009L10.5685 9H12.001C12.2771 9 12.501 9.22386 12.501 9.5C12.501 9.74546 12.3241 9.94961 12.0908 9.99194L12.001 10H9.50096C9.1053 10 8.87719 9.5693 9.06918 9.24709L9.11684 9.17991L10.9334 7H9.50096C9.22481 7 9.00096 6.77614 9.00096 6.5C9.00096 6.25454 9.17783 6.05039 9.41108 6.00806L9.50096 6Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.99783 2C10.8892 2 11.7362 2.18709 12.498 2.52387C12.5107 3.34129 13.1773 4 13.9978 4C14.0873 4 14.6294 4 14.625 4L13.3386 5.82597C13.1022 5.35178 12.6209 5 11.9988 5H9.45411L9.27476 5.01608L9.23037 5.02413C8.52999 5.15126 7.99884 5.76256 7.99884 6.5C7.99884 7.11551 8.36956 7.64443 8.8999 7.87565L8.32161 8.56959L8.2284 8.70098L8.20801 8.73521C7.63006 9.70513 8.30539 11 9.49884 11H12.0436L12.2229 10.9839L12.2673 10.9759C12.9677 10.8487 13.4988 10.2374 13.4988 9.5C13.4988 9.27082 13.4474 9.05365 13.3555 8.85938C13.5461 8.94895 13.7623 9 13.9978 9H15.9999L15.9992 11.408L16.9529 13.9951L16.9786 14.0796L16.994 14.1664L16.9992 14.2546C16.9992 14.5697 16.8035 14.845 16.4773 14.9618L16.3638 14.9947L16.2492 15.0046H3.75154C3.66305 15.0046 3.57525 14.9889 3.49221 14.9583C3.20531 14.8526 3.01655 14.5865 3.00977 14.2422L3.01436 14.1247L3.04781 13.9952L3.99919 11.411L4.00028 7.79281L4.00458 7.56824C4.12719 4.45115 6.77122 2 9.99783 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.4499 16.0016C12.2176 17.1419 11.2091 18 10.0002 18C8.79126 18 7.78275 17.1419 7.55052 16.0016H12.4499Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.9979 2H17.4979C17.8736 2 18.1048 2.39262 17.9502 2.71403L17.9076 2.78673L14.9583 7H17.4979C17.7741 7 17.9979 7.22386 17.9979 7.5C17.9979 7.74546 17.8211 7.94961 17.5878 7.99194L17.4979 8H13.9979C13.6223 8 13.3911 7.60738 13.5457 7.28597L13.5883 7.21327L16.5376 3H13.9979C13.7218 3 13.4979 2.77614 13.4979 2.5C13.4979 2.25454 13.6748 2.05039 13.9081 2.00806L13.9979 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.499 6H11.999C12.3947 6 12.6228 6.4307 12.4308 6.75291L12.3831 6.82009L10.5665 9H11.999C12.2751 9 12.499 9.22386 12.499 9.5C12.499 9.74546 12.3221 9.94961 12.0889 9.99194L11.999 10H9.499C9.10334 10 8.87524 9.5693 9.06723 9.24709L9.11489 9.17991L10.9315 7H9.499C9.22286 7 8.999 6.77614 8.999 6.5C8.999 6.25454 9.17588 6.05039 9.40913 6.00806L9.499 6Z\"\n    })));\n  },\n  displayName: 'BellSnoozeIcon'\n});\n//# sourceMappingURL=BellSnoozeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BluetoothIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8.32233 2.03264C8.51637 1.95886 8.73581 2.01266 8.87373 2.16782L12.8737 6.66782C12.9653 6.77086 13.0103 6.90716 12.998 7.04449C12.9858 7.18181 12.9173 7.30798 12.8089 7.39316L9.49113 10L12.8089 12.6068C12.9173 12.692 12.9858 12.8182 12.998 12.9555C13.0103 13.0928 12.9653 13.2291 12.8737 13.3322L8.87373 17.8322C8.73581 17.9873 8.51637 18.0411 8.32233 17.9674C8.12829 17.8936 8.00002 17.7076 8.00002 17.5V11.1716L5.80893 12.8932C5.5918 13.0638 5.27747 13.026 5.10686 12.8089C4.93626 12.5918 4.97397 12.2774 5.19111 12.1068L7.87254 10L5.19111 7.89316C4.97397 7.72255 4.93626 7.40822 5.10686 7.19109C5.27747 6.97395 5.5918 6.93623 5.80893 7.10684L8.00002 8.82841V2.5C8.00002 2.29241 8.12829 2.10641 8.32233 2.03264ZM9.00002 10.8859L11.7733 13.0649L9.00002 16.1849V10.8859ZM9.00002 9.11412V3.8151L11.7733 6.93508L9.00002 9.11412Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8.53425 2.04342C8.83314 1.93704 9.16663 2.03023 9.36708 2.27614L12.8314 6.52614C12.9574 6.68077 13.0167 6.87925 12.996 7.07767C12.9753 7.27609 12.8765 7.45811 12.7213 7.58346L9.72937 10L12.7213 12.4165C12.8765 12.5419 12.9753 12.7239 12.996 12.9223C13.0167 13.1208 12.9574 13.3192 12.8314 13.4739L9.36708 17.7239C9.16663 17.9698 8.83314 18.063 8.53425 17.9566C8.23536 17.8502 8.03574 17.5673 8.03574 17.25V11.3679L6.22128 12.8335C5.89904 13.0937 5.42684 13.0435 5.16657 12.7213C4.9063 12.399 4.95654 11.9268 5.27877 11.6665L7.34211 10L5.27877 8.33346C4.95654 8.07319 4.9063 7.60098 5.16657 7.27875C5.42684 6.95651 5.89904 6.90628 6.22128 7.16654L8.03574 8.63207V2.75C8.03574 2.43274 8.23536 2.14981 8.53425 2.04342ZM9.53574 11.7718L11.1927 13.1101L9.53574 15.1428V11.7718ZM9.53574 8.22822V4.85715L11.1927 6.88991L9.53574 8.22822Z\"\n    }));\n  },\n  displayName: 'BluetoothIcon'\n});\n//# sourceMappingURL=BluetoothIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BoldIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M5.5 4.25C5.5 3.55964 6.05964 3 6.75 3H10.2512C12.654 3 14.25 4.98768 14.25 7C14.25 7.87176 13.9504 8.73837 13.4157 9.44091C14.3205 10.1431 14.9974 11.242 14.9974 12.75C14.9974 15.6133 12.5599 16.9955 10.7531 16.9955H6.75C6.05964 16.9955 5.5 16.4358 5.5 15.7455V4.25ZM8 11V14.4955H10.7531C11.5641 14.4955 12.4974 13.8768 12.4974 12.75C12.4974 11.6212 11.5598 11 10.7531 11H8ZM8 8.5H10.2478C11.1296 8.5 11.75 7.77853 11.75 7C11.75 6.22003 11.1295 5.5 10.2512 5.5H8V8.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M5 4.5C5 3.67157 5.67157 3 6.5 3H10.38C12.7442 3 14.5 4.93367 14.5 7.12C14.5 7.93875 14.2533 8.72553 13.8193 9.38869C14.6623 10.138 15.2474 11.2377 15.2474 12.63C15.2474 15.4046 12.9287 17 10.88 17H6.5C5.67157 17 5 16.3284 5 15.5V4.5ZM8 6V8.25H10.3795C11.0054 8.25 11.5 7.73416 11.5 7.12C11.5 6.51403 11.0119 6 10.38 6H8ZM8 11.25V14H10.88C11.5713 14 12.2474 13.4635 12.2474 12.63C12.2474 11.7902 11.5629 11.25 10.88 11.25H8Z\"\n    }));\n  },\n  displayName: 'BoldIcon'\n});\n//# sourceMappingURL=BoldIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BookmarkIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4 4.5C4 3.11929 5.11929 2 6.5 2H13.5C14.8807 2 16 3.11929 16 4.5V17.5C16 17.6881 15.8945 17.8602 15.7269 17.9456C15.5593 18.0309 15.358 18.015 15.2059 17.9044L10 14.1182L4.79409 17.9044C4.64199 18.015 4.4407 18.0309 4.27311 17.9456C4.10553 17.8602 4 17.6881 4 17.5V4.5ZM6.5 3C5.67157 3 5 3.67157 5 4.5V16.5181L9.70592 13.0956C9.88124 12.9681 10.1188 12.9681 10.2941 13.0956L15 16.5181V4.5C15 3.67157 14.3284 3 13.5 3H6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4 4.5C4 3.11929 5.11929 2 6.5 2H13.5C14.8807 2 16 3.11929 16 4.5V17.5C16 17.6881 15.8945 17.8602 15.7269 17.9456C15.5593 18.0309 15.358 18.015 15.2059 17.9044L10 14.1183L4.79409 17.9044C4.64199 18.015 4.4407 18.0309 4.27311 17.9456C4.10553 17.8602 4 17.6881 4 17.5V4.5Z\"\n    }));\n  },\n  displayName: 'BookmarkIcon'\n});\n//# sourceMappingURL=BookmarkIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BreakoutRoomIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H10.6458C10.9698 16.714 11.2471 16.3764 11.4649 16H14C15.1046 16 16 15.1046 16 14V6C16 4.89543 15.1046 4 14 4H6C4.89543 4 4 4.89543 4 6V8.53513C3.62359 8.75287 3.28596 9.03018 3 9.35418V6ZM6 9C4.34315 9 3 10.3431 3 12V14C3 15.6569 4.34315 17 6 17H8C9.65685 17 11 15.6569 11 14V12C11 10.3431 9.65685 9 8 9H6ZM4 12C4 10.8954 4.89543 10 6 10H8C9.10457 10 10 10.8954 10 12V14C10 15.1046 9.10457 16 8 16H6C4.89543 16 4 15.1046 4 14V12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H10.6458C11.4762 16.2671 12 15.1947 12 14V12C12 9.79086 10.2091 8 8 8H6C4.80531 8 3.73294 8.52375 3 9.35418V6ZM6 9C4.34315 9 3 10.3431 3 12V14C3 15.6569 4.34315 17 6 17H8C9.65685 17 11 15.6569 11 14V12C11 10.3431 9.65685 9 8 9H6Z\"\n    }));\n  },\n  displayName: 'BreakoutRoomIcon'\n});\n//# sourceMappingURL=BreakoutRoomIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BroadcastIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.35281 4.33358C4.53936 4.14767 4.83968 4.15776 5.02591 4.344C5.22983 4.54791 5.21706 4.88086 5.01461 5.08624C3.76882 6.35005 3 8.08528 3 10.0001C3 11.9902 3.83047 13.7863 5.16377 15.0608C5.37638 15.2641 5.39483 15.6053 5.18685 15.8132C5.00478 15.9953 4.71256 16.0093 4.52487 15.833C2.97073 14.3737 2 12.3002 2 10.0001C2 7.78604 2.89942 5.78206 4.35281 4.33358Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.9854 5.08624C14.7829 4.88086 14.7702 4.54791 14.9741 4.344C15.1603 4.15776 15.4606 4.14767 15.6472 4.33358C17.1006 5.78206 18 7.78604 18 10.0001C18 12.3002 17.0293 14.3737 15.4751 15.833C15.2874 16.0093 14.9952 15.9953 14.8132 15.8132C14.6052 15.6053 14.6236 15.2641 14.8362 15.0608C16.1695 13.7863 17 11.9902 17 10.0001C17 8.08528 16.2312 6.35005 14.9854 5.08624Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.13159 6.0903C6.31407 5.90973 6.60608 5.92403 6.78761 6.10556C6.99573 6.31368 6.97537 6.6551 6.7704 6.86631C5.98409 7.67655 5.5 8.78172 5.5 9.99995C5.5 11.2905 6.04324 12.4541 6.91351 13.2747C7.13387 13.4824 7.16356 13.8364 6.9494 14.0505C6.77419 14.2258 6.49437 14.2453 6.31064 14.0791C5.19861 13.0727 4.5 11.6179 4.5 9.99995C4.5 8.47068 5.12414 7.08719 6.13159 6.0903Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.2296 6.86631C13.0246 6.6551 13.0043 6.31368 13.2124 6.10556C13.3939 5.92403 13.6859 5.90973 13.8684 6.0903C14.8759 7.08718 15.5 8.47068 15.5 9.99995C15.5 11.6179 14.8014 13.0727 13.6894 14.0791C13.5056 14.2453 13.2258 14.2258 13.0506 14.0505C12.8364 13.8364 12.8661 13.4824 13.0865 13.2747C13.9568 12.4541 14.5 11.2905 14.5 9.99995C14.5 8.78172 14.0159 7.67655 13.2296 6.86631Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 8.75C9.30964 8.75 8.75 9.30964 8.75 10C8.75 10.6904 9.30964 11.25 10 11.25C10.6904 11.25 11.25 10.6904 11.25 10C11.25 9.30964 10.6904 8.75 10 8.75Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.45269 4.16722C5.17574 3.89027 4.71724 3.86659 4.42633 4.15651C2.9278 5.64997 2 7.71692 2 10.0001C2 12.3721 3.00138 14.5106 4.60373 16.0153C4.89644 16.2901 5.34261 16.261 5.61363 15.99C5.92967 15.674 5.89122 15.1714 5.58652 14.8801C4.30051 13.6508 3.5 11.9191 3.5 10.0001C3.5 8.15359 4.2411 6.48068 5.44265 5.26174C5.73286 4.96734 5.76226 4.47679 5.45269 4.16722Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.21439 5.92879C6.94521 5.65961 6.4954 5.62598 6.20574 5.9126C5.15279 6.95452 4.5 8.40124 4.5 9.99996C4.5 11.6915 5.2307 13.2126 6.39289 14.2644C6.6846 14.5284 7.11579 14.4877 7.37618 14.2273C7.70433 13.8992 7.64255 13.3827 7.33502 13.0928C6.51275 12.3175 6 11.2188 6 9.99996C6 8.84931 6.45694 7.8059 7.1998 7.04043C7.48609 6.74543 7.53257 6.24697 7.21439 5.92879Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.7856 5.92879C13.0548 5.65961 13.5046 5.62598 13.7943 5.9126C14.8472 6.95452 15.5 8.40124 15.5 9.99996C15.5 11.6915 14.7693 13.2126 13.6071 14.2644C13.3154 14.5284 12.8842 14.4877 12.6238 14.2273C12.2957 13.8992 12.3574 13.3827 12.665 13.0928C13.4873 12.3175 14 11.2188 14 9.99996C14 8.84931 13.5431 7.8059 12.8002 7.04043C12.5139 6.74543 12.4674 6.24697 12.7856 5.92879Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5473 4.16722C14.8243 3.89027 15.2828 3.86659 15.5737 4.15651C17.0722 5.64997 18 7.71692 18 10.0001C18 12.3721 16.9986 14.5106 15.3963 16.0153C15.1036 16.2901 14.6574 16.261 14.3864 15.99C14.0703 15.674 14.1088 15.1714 14.4135 14.8801C15.6995 13.6508 16.5 11.9191 16.5 10.0001C16.5 8.15359 15.7589 6.48068 14.5573 5.26174C14.2671 4.96734 14.2377 4.47679 14.5473 4.16722Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 8.5C9.17157 8.5 8.5 9.17157 8.5 10C8.5 10.8284 9.17157 11.5 10 11.5C10.8284 11.5 11.5 10.8284 11.5 10C11.5 9.17157 10.8284 8.5 10 8.5Z\"\n    })));\n  },\n  displayName: 'BroadcastIcon'\n});\n//# sourceMappingURL=BroadcastIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BroadcastViewFullscreenIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M23.143 11.429H8.857a.857.857 0 0 0-.857.857v7.429a.857.857 0 0 0 .857.857h14.286a.857.857 0 0 0 .857-.858v-7.428a.857.857 0 0 0-.857-.857zm.286 8.286a.286.286 0 0 1-.286.286H8.857a.286.286 0 0 1-.286-.286v-7.429A.286.286 0 0 1 8.857 12h14.286a.286.286 0 0 1 .286.286z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.143 12.571h13.714v6.857H9.143z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M23.143 11.429H8.857a.857.857 0 0 0-.857.857v7.429a.857.857 0 0 0 .857.857h14.286a.857.857 0 0 0 .857-.858v-7.428a.857.857 0 0 0-.857-.857zm.286 8.286a.286.286 0 0 1-.286.286H8.857a.286.286 0 0 1-.286-.286v-7.429A.286.286 0 0 1 8.857 12h14.286a.286.286 0 0 1 .286.286z\"\n    })));\n  },\n  displayName: 'BroadcastViewFullscreenIcon'\n});\n//# sourceMappingURL=BroadcastViewFullscreenIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BroadcastViewLeftIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M23.143 11.429H8.857a.857.857 0 0 0-.857.857v7.429a.857.857 0 0 0 .857.857h14.286a.857.857 0 0 0 .857-.858v-7.428a.857.857 0 0 0-.857-.857zm-3.857 8.584H8.812a.25.25 0 0 1-.25-.25v-7.5a.25.25 0 0 1 .25-.25h10.474zM23.167 20h-3.31v-8h3.31a.25.25 0 0 1 .25.25v7.5a.25.25 0 0 1-.25.25z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M23.143 11.429H8.857a.857.857 0 0 0-.857.857v7.429a.857.857 0 0 0 .857.857h14.286a.857.857 0 0 0 .857-.858v-7.428a.857.857 0 0 0-.857-.857zm.286 8.286a.286.286 0 0 1-.286.286H8.857a.286.286 0 0 1-.286-.286v-7.429A.286.286 0 0 1 8.857 12h14.286a.286.286 0 0 1 .286.286z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19.857 12.571h3v6.857h-3zM9.143 12.571h10.143v6.857H9.143z\"\n    })));\n  },\n  displayName: 'BroadcastViewLeftIcon'\n});\n//# sourceMappingURL=BroadcastViewLeftIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BulletsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 6.5a1 1 0 100-2 1 1 0 000 2zM6 5.5a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zM6 9.5a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zM6.5 13a.5.5 0 000 1h11a.5.5 0 000-1h-11zM4 13.5a1 1 0 11-2 0 1 1 0 012 0zM3 10.5a1 1 0 100-2 1 1 0 000 2z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.25 6.5a1.25 1.25 0 100-2.5 1.25 1.25 0 000 2.5zM7 5.25a.75.75 0 01.75-.75h9.5a.75.75 0 010 1.5h-9.5A.75.75 0 017 5.25zM7.75 9a.75.75 0 000 1.5h9.5a.75.75 0 000-1.5h-9.5zM7.75 13.5a.75.75 0 000 1.5h9.5a.75.75 0 000-1.5h-9.5zM4.5 9.75a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zM3.25 15.5a1.25 1.25 0 100-2.5 1.25 1.25 0 000 2.5z\"\n    })));\n  },\n  displayName: 'BulletsIcon'\n});\n//# sourceMappingURL=BulletsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CalendarIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 11C7.55228 11 8 10.5523 8 10C8 9.44771 7.55228 9 7 9C6.44772 9 6 9.44771 6 10C6 10.5523 6.44772 11 7 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 13C8 13.5523 7.55228 14 7 14C6.44772 14 6 13.5523 6 13C6 12.4477 6.44772 12 7 12C7.55228 12 8 12.4477 8 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 11C10.5523 11 11 10.5523 11 10C11 9.44771 10.5523 9 10 9C9.44771 9 9 9.44771 9 10C9 10.5523 9.44771 11 10 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 13C11 13.5523 10.5523 14 10 14C9.44771 14 9 13.5523 9 13C9 12.4477 9.44771 12 10 12C10.5523 12 11 12.4477 11 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 11C13.5523 11 14 10.5523 14 10C14 9.44771 13.5523 9 13 9C12.4477 9 12 9.44771 12 10C12 10.5523 12.4477 11 13 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M17 5.5C17 4.11929 15.8807 3 14.5 3H5.5C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H14.5C15.8807 17 17 15.8807 17 14.5V5.5ZM4 7H16V14.5C16 15.3284 15.3284 16 14.5 16H5.5C4.67157 16 4 15.3284 4 14.5V7ZM5.5 4H14.5C15.3284 4 16 4.67157 16 5.5V6H4V5.5C4 4.67157 4.67157 4 5.5 4Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 3C4.11929 3 3 4.11929 3 5.5V6H17V5.5C17 4.11929 15.8807 3 14.5 3H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M17 7H3V14.5C3 15.8807 4.11929 17 5.5 17H14.5C15.8807 17 17 15.8807 17 14.5V7ZM8 10C8 10.5523 7.55228 11 7 11C6.44772 11 6 10.5523 6 10C6 9.44771 6.44772 9 7 9C7.55228 9 8 9.44771 8 10ZM7 14C7.55228 14 8 13.5523 8 13C8 12.4477 7.55228 12 7 12C6.44772 12 6 12.4477 6 13C6 13.5523 6.44772 14 7 14ZM11 10C11 10.5523 10.5523 11 10 11C9.44771 11 9 10.5523 9 10C9 9.44771 9.44771 9 10 9C10.5523 9 11 9.44771 11 10ZM10 14C10.5523 14 11 13.5523 11 13C11 12.4477 10.5523 12 10 12C9.44771 12 9 12.4477 9 13C9 13.5523 9.44771 14 10 14ZM14 10C14 10.5523 13.5523 11 13 11C12.4477 11 12 10.5523 12 10C12 9.44771 12.4477 9 13 9C13.5523 9 14 9.44771 14 10Z\"\n    })));\n  },\n  displayName: 'CalendarIcon'\n});\n//# sourceMappingURL=CalendarIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CalendarAgendaIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M17 14.5C17 15.8807 15.8807 17 14.5 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5C3 4.11929 4.11929 3 5.5 3H14.5C15.8807 3 17 4.11929 17 5.5V14.5ZM16 14.5V5.5C16 4.67157 15.3284 4 14.5 4H5.5C4.67157 4 4 4.67157 4 5.5V14.5C4 15.3284 4.67157 16 5.5 16H14.5C15.3284 16 16 15.3284 16 14.5ZM14 6.5C14 6.74546 13.8231 6.94961 13.5899 6.99194L13.5 7H6.5C6.22386 7 6 6.77614 6 6.5C6 6.25454 6.17688 6.05039 6.41012 6.00806L6.5 6H13.5C13.7761 6 14 6.22386 14 6.5ZM14 10C14 10.2455 13.8231 10.4496 13.5899 10.4919L13.5 10.5H6.5C6.22386 10.5 6 10.2761 6 10C6 9.75454 6.17688 9.55039 6.41012 9.50806L6.5 9.5H13.5C13.7761 9.5 14 9.72386 14 10ZM14 13.5C14 13.7455 13.8231 13.9496 13.5899 13.9919L13.5 14H6.5C6.22386 14 6 13.7761 6 13.5C6 13.2545 6.17688 13.0504 6.41012 13.0081L6.5 13H13.5C13.7761 13 14 13.2239 14 13.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M17 14.5C17 15.8807 15.8807 17 14.5 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5C3 4.11929 4.11929 3 5.5 3H14.5C15.8807 3 17 4.11929 17 5.5V14.5ZM14 6.5C14 6.25454 13.8231 6.05039 13.5899 6.00806L13.5 6H6.5L6.41012 6.00806C6.17688 6.05039 6 6.25454 6 6.5C6 6.74546 6.17688 6.94961 6.41012 6.99194L6.5 7H13.5L13.5899 6.99194C13.8231 6.94961 14 6.74546 14 6.5ZM14 10C14 9.75454 13.8231 9.55039 13.5899 9.50806L13.5 9.5H6.5L6.41012 9.50806C6.17688 9.55039 6 9.75454 6 10C6 10.2455 6.17688 10.4496 6.41012 10.4919L6.5 10.5H13.5L13.5899 10.4919C13.8231 10.4496 14 10.2455 14 10ZM14 13.5C14 13.2545 13.8231 13.0504 13.5899 13.0081L13.5 13H6.5L6.41012 13.0081C6.17688 13.0504 6 13.2545 6 13.5C6 13.7455 6.17688 13.9496 6.41012 13.9919L6.5 14H13.5L13.5899 13.9919C13.8231 13.9496 14 13.7455 14 13.5Z\"\n    }));\n  },\n  displayName: 'CalendarAgendaIcon'\n});\n//# sourceMappingURL=CalendarAgendaIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CallBlockedIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.9594 6.93999L17.8015 7.76912C17.6535 8.54606 16.9272 9.0678 16.1042 8.98832L14.4666 8.83014C13.753 8.76121 13.2241 8.24003 13 7.5C12.6957 6.49524 12.5 5.75004 12.5 5.75004C11.7522 5.44352 11.0138 5.25 10 5.25C8.98623 5.25 8.26225 5.46487 7.5 5.75004C7.5 5.75004 7.29566 6.49592 7 7.5C6.80244 8.17094 6.49595 8.75663 5.79708 8.82686L4.16895 8.99048C3.35656 9.07212 2.57765 8.55543 2.3467 7.78171L2.09921 6.95254C1.85286 6.12721 2.0727 5.25864 2.67633 4.6724C4.10141 3.28838 6.6656 2.50825 9.99245 2.50392C13.3241 2.49964 15.5858 3.27554 17.154 4.65971C17.8139 5.24215 18.116 6.11786 17.9594 6.93999Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.81802 16.682C8.57539 18.4394 11.4246 18.4394 13.182 16.682C14.9394 14.9246 14.9394 12.0754 13.182 10.318C11.4246 8.56066 8.57539 8.56066 6.81802 10.318C5.06066 12.0754 5.06066 14.9246 6.81802 16.682ZM12.4749 15.9749C11.2281 17.2217 9.27466 17.3312 7.90375 16.3034L12.8034 11.4037C13.8312 12.7747 13.7217 14.7281 12.4749 15.9749ZM12.0963 10.6966L7.19664 15.5963C6.16885 14.2254 6.27834 12.2719 7.52513 11.0251C8.77192 9.77834 10.7254 9.66885 12.0963 10.6966Z\"\n    }));\n  },\n  displayName: 'CallBlockedIcon'\n});\n//# sourceMappingURL=CallBlockedIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CallControlCloseTrayIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 6C9.72386 6 9.5 6.22386 9.5 6.5L9.5 12.2929L7.85355 10.6464C7.65829 10.4512 7.34171 10.4512 7.14645 10.6464C6.95118 10.8417 6.95118 11.1583 7.14645 11.3536L9.64645 13.8536C9.84171 14.0488 10.1583 14.0488 10.3536 13.8536L12.8536 11.3536C13.0488 11.1583 13.0488 10.8417 12.8536 10.6464C12.6583 10.4512 12.3417 10.4512 12.1464 10.6464L10.5 12.2929L10.5 6.5C10.5 6.22386 10.2761 6 10 6ZM2 14C2 15.1046 2.89543 16 4 16H16C17.1046 16 18 15.1046 18 14V6C18 4.89543 17.1046 4 16 4H4C2.89543 4 2 4.89543 2 6V14ZM4 15C3.44772 15 3 14.5523 3 14V6C3 5.44772 3.44772 5 4 5H16C16.5523 5 17 5.44771 17 6V14C17 14.5523 16.5523 15 16 15H4Z\"\n    }));\n  },\n  displayName: 'CallControlCloseTrayIcon'\n});\n//# sourceMappingURL=CallControlCloseTrayIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CallControlReleaseIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L3.38819 4.09531C2.58287 4.35378 2 5.10882 2 6V13C2 14.1046 2.89543 15 4 15H9V14H4C3.44772 14 3 13.5523 3 13V6C3 5.44772 3.44772 5 4 5H4.29288L10 10.7071V17.5C10 17.7183 10.1415 17.9113 10.3497 17.9769C10.5578 18.0425 10.7845 17.9655 10.9096 17.7867L12.4813 15.5415L15.2622 15.9693L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1465L2.85355 2.14646ZM14.0665 14.7736L12.326 14.5058C12.1379 14.4769 11.9496 14.5573 11.8404 14.7133L11 15.9138V11.7071L14.0665 14.7736Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.9052 14.7839C17.5549 14.4536 18 13.7788 18 13V6C18 4.89543 17.1046 4 16 4H6.12134L7.12134 5H16C16.5523 5 17 5.44772 17 6V13C17 13.5135 16.613 13.9365 16.1148 13.9935L16.9052 14.7839Z\"\n    }));\n  },\n  displayName: 'CallControlReleaseIcon'\n});\n//# sourceMappingURL=CallControlReleaseIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CallControlRequestIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 6C2 4.89543 2.89543 4 4 4H16C17.1046 4 18 4.89543 18 6V13C18 13.8062 17.523 14.501 16.8358 14.8175C16.7658 14.6804 16.6738 14.5525 16.5607 14.4394L16.1148 13.9935C16.613 13.9366 17 13.5135 17 13V6C17 5.44772 16.5523 5 16 5H4C3.44772 5 3 5.44772 3 6V13C3 13.5523 3.44772 14 4 14H9V15H4C2.89543 15 2 14.1046 2 13V6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.8536 10.1465C10.7106 10.0035 10.4955 9.96068 10.3087 10.0381C10.1218 10.1155 10 10.2978 10 10.5V17.5C10 17.7183 10.1415 17.9113 10.3497 17.9769C10.5578 18.0425 10.7845 17.9655 10.9096 17.7867L12.4813 15.5415L15.424 15.9942C15.6377 16.0271 15.8483 15.9189 15.946 15.726C16.0437 15.5332 16.0064 15.2993 15.8536 15.1465L10.8536 10.1465ZM11 15.9138V11.7071L14.0665 14.7736L12.326 14.5058C12.1379 14.4769 11.9496 14.5573 11.8404 14.7133L11 15.9138Z\"\n    }));\n  },\n  displayName: 'CallControlRequestIcon'\n});\n//# sourceMappingURL=CallControlRequestIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallControlPresentNewIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14C9.72386 14 9.5 13.7761 9.5 13.5L9.5 7.7071L7.85355 9.35355C7.65829 9.54882 7.34171 9.54882 7.14645 9.35355C6.95118 9.15829 6.95118 8.84171 7.14645 8.64645L9.64645 6.14645C9.84171 5.95118 10.1583 5.95118 10.3536 6.14645L12.8536 8.64645C13.0488 8.84171 13.0488 9.15829 12.8536 9.35355C12.6583 9.54882 12.3417 9.54882 12.1464 9.35355L10.5 7.70711L10.5 13.5C10.5 13.7761 10.2761 14 10 14Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 6C2 4.89543 2.89543 4 4 4H16C17.1046 4 18 4.89543 18 6V14C18 15.1046 17.1046 16 16 16H4C2.89543 16 2 15.1046 2 14V6ZM4 5C3.44772 5 3 5.44772 3 6V14C3 14.5523 3.44772 15 4 15H16C16.5523 15 17 14.5523 17 14V6C17 5.44772 16.5523 5 16 5H4Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4 4C2.89543 4 2 4.89543 2 6V14C2 15.1046 2.89543 16 4 16H16C17.1046 16 18 15.1046 18 14V6C18 4.89543 17.1046 4 16 4H4ZM10 14C9.72386 14 9.5 13.7761 9.5 13.5L9.5 7.7071L7.85355 9.35355C7.65829 9.54882 7.34171 9.54882 7.14645 9.35355C6.95118 9.15829 6.95118 8.84171 7.14645 8.64645L9.64645 6.14645C9.84171 5.95118 10.1583 5.95118 10.3536 6.14645L12.8536 8.64645C13.0488 8.84171 13.0488 9.15829 12.8536 9.35355C12.6583 9.54882 12.3417 9.54882 12.1464 9.35355L10.5 7.70711L10.5 13.5C10.5 13.7761 10.2761 14 10 14Z\"\n    }));\n  },\n  displayName: 'CallControlPresentNewIcon'\n});\n//# sourceMappingURL=CallControlPresentNewIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CallControlShareIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14C9.72386 14 9.5 13.7761 9.5 13.5L9.5 7.7071L7.85355 9.35355C7.65829 9.54882 7.34171 9.54882 7.14645 9.35355C6.95118 9.15829 6.95118 8.84171 7.14645 8.64645L9.64645 6.14645C9.84171 5.95118 10.1583 5.95118 10.3536 6.14645L12.8536 8.64645C13.0488 8.84171 13.0488 9.15829 12.8536 9.35355C12.6583 9.54882 12.3417 9.54882 12.1464 9.35355L10.5 7.70711L10.5 13.5C10.5 13.7761 10.2761 14 10 14Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 6C2 4.89543 2.89543 4 4 4H16C17.1046 4 18 4.89543 18 6V14C18 15.1046 17.1046 16 16 16H4C2.89543 16 2 15.1046 2 14V6ZM4 5C3.44772 5 3 5.44772 3 6V14C3 14.5523 3.44772 15 4 15H16C16.5523 15 17 14.5523 17 14V6C17 5.44772 16.5523 5 16 5H4Z\"\n    }));\n  },\n  displayName: 'CallControlShareIcon'\n});\n//# sourceMappingURL=CallControlShareIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallControlStopPresentingNewIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.14645 7.14646C7.34171 6.9512 7.65829 6.9512 7.85355 7.14646L10 9.29291L12.1464 7.14646C12.3417 6.9512 12.6583 6.9512 12.8536 7.14646C13.0488 7.34172 13.0488 7.65831 12.8536 7.85357L10.7071 10L12.8536 12.1465C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L10 10.7071L7.85355 12.8536C7.65829 13.0488 7.34171 13.0488 7.14645 12.8536C6.95118 12.6583 6.95118 12.3417 7.14645 12.1465L9.29289 10L7.14645 7.85357C6.95118 7.65831 6.95118 7.34172 7.14645 7.14646Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 6.5C2 5.11929 3.11929 4 4.5 4H15.5C16.8807 4 18 5.11929 18 6.5V13.5C18 14.8807 16.8807 16 15.5 16H4.5C3.11929 16 2 14.8807 2 13.5V6.5ZM4.5 5C3.67157 5 3 5.67157 3 6.5V13.5C3 14.3284 3.67157 15 4.5 15H15.5C16.3284 15 17 14.3284 17 13.5V6.5C17 5.67157 16.3284 5 15.5 5H4.5Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4.5 4C3.11929 4 2 5.11929 2 6.5V13.5C2 14.8807 3.11929 16 4.5 16H15.5C16.8807 16 18 14.8807 18 13.5V6.5C18 5.11929 16.8807 4 15.5 4H4.5ZM7.14645 7.14646C7.34171 6.9512 7.65829 6.9512 7.85355 7.14646L10 9.29291L12.1464 7.14646C12.3417 6.9512 12.6583 6.9512 12.8536 7.14646C13.0488 7.34172 13.0488 7.65831 12.8536 7.85357L10.7071 10L12.8536 12.1465C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L10 10.7071L7.85355 12.8536C7.65829 13.0488 7.34171 13.0488 7.14645 12.8536C6.95118 12.6583 6.95118 12.3417 7.14645 12.1465L9.29289 10L7.14645 7.85357C6.95118 7.65831 6.95118 7.34172 7.14645 7.14646Z\"\n    }));\n  },\n  displayName: 'CallControlStopPresentingNewIcon'\n});\n//# sourceMappingURL=CallControlStopPresentingNewIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CallDialpadIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 5C6.55228 5 7 4.55228 7 4C7 3.44772 6.55228 3 6 3C5.44772 3 5 3.44772 5 4C5 4.55228 5.44772 5 6 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 9C6.55228 9 7 8.55228 7 8C7 7.44772 6.55228 7 6 7C5.44772 7 5 7.44772 5 8C5 8.55228 5.44772 9 6 9Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 12C7 12.5523 6.55228 13 6 13C5.44772 13 5 12.5523 5 12C5 11.4477 5.44772 11 6 11C6.55228 11 7 11.4477 7 12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 5C10.5523 5 11 4.55228 11 4C11 3.44772 10.5523 3 10 3C9.44772 3 9 3.44772 9 4C9 4.55228 9.44772 5 10 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 8C11 8.55228 10.5523 9 10 9C9.44772 9 9 8.55228 9 8C9 7.44772 9.44772 7 10 7C10.5523 7 11 7.44772 11 8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 13C10.5523 13 11 12.5523 11 12C11 11.4477 10.5523 11 10 11C9.44772 11 9 11.4477 9 12C9 12.5523 9.44772 13 10 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 16C11 16.5523 10.5523 17 10 17C9.44772 17 9 16.5523 9 16C9 15.4477 9.44772 15 10 15C10.5523 15 11 15.4477 11 16Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 5C14.5523 5 15 4.55228 15 4C15 3.44772 14.5523 3 14 3C13.4477 3 13 3.44772 13 4C13 4.55228 13.4477 5 14 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 8C15 8.55228 14.5523 9 14 9C13.4477 9 13 8.55228 13 8C13 7.44772 13.4477 7 14 7C14.5523 7 15 7.44772 15 8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 13C14.5523 13 15 12.5523 15 12C15 11.4477 14.5523 11 14 11C13.4477 11 13 11.4477 13 12C13 12.5523 13.4477 13 14 13Z\"\n    }));\n  },\n  displayName: 'CallDialpadIcon'\n});\n//# sourceMappingURL=CallDialpadIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallEndIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10 6c3.332-.004 5.586 1.276 7.154 2.66.66.582.962 1.458.805 2.28l-.157.83c-.148.776-.875 1.298-1.698 1.218l-1.637-.158c-.714-.069-1.243-.59-1.467-1.33-.304-1.005-.5-1.75-.5-1.75a6.188 6.188 0 00-2.5-.5c-1.014 0-1.738.215-2.5.5 0 0-.204.746-.5 1.75-.198.671-.504 1.257-1.203 1.327l-1.628.164a1.735 1.735 0 01-1.822-1.21l-.248-.828a2.255 2.255 0 01.577-2.28C4.101 7.287 6.673 6.003 10 6zm3.475 3.527l.026.095.098.358c.086.306.208.736.358 1.23.137.451.39.604.606.625l1.637.158c.346.033.575-.177.62-.41l.157-.83a1.454 1.454 0 00-.485-1.344C15.067 8.152 13.04 6.996 10.002 7c-3.076.004-5.396 1.192-6.629 2.39a1.255 1.255 0 00-.316 1.277l.248.829c.091.306.42.534.764.5l1.628-.164c.039-.004.052-.012.054-.013a.196.196 0 00.05-.05c.07-.088.153-.255.24-.551A115.653 115.653 0 006.5 9.615l.027-.097c.102-.367.458-.622.623-.705.819-.306 1.67-.563 2.85-.563 1.165 0 2.033.228 2.88.575.151.062.482.284.587.671l.002.007.006.024z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M17.96 10.94l-.159.83c-.147.776-.874 1.298-1.697 1.218l-1.637-.158c-.714-.069-1.243-.59-1.467-1.33-.304-1.005-.5-1.75-.5-1.75a6.188 6.188 0 00-2.5-.5c-1.014 0-1.738.215-2.5.5 0 0-.204.746-.5 1.75-.198.67-.504 1.257-1.203 1.327l-1.628.163a1.735 1.735 0 01-1.822-1.208l-.248-.83a2.255 2.255 0 01.577-2.28c1.425-1.384 3.99-2.164 7.316-2.168 3.332-.004 5.594.772 7.162 2.156.66.582.962 1.458.805 2.28z\"\n    }));\n  },\n  displayName: 'CallEndIcon'\n});\n//# sourceMappingURL=CallEndIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M6.986 2.066l-.717.216a3.5 3.5 0 00-2.454 2.854c-.297 2.068.367 4.486 1.968 7.258 1.597 2.767 3.355 4.55 5.29 5.329a3.5 3.5 0 003.715-.705l.543-.514a2 2 0 00.246-2.623l-1.357-1.88a1.5 1.5 0 00-1.655-.556l-2.05.627-.053.01c-.226.033-.748-.456-1.398-1.582-.68-1.178-.82-1.867-.633-2.045l1.043-.973a2.497 2.497 0 00.575-2.85l-.662-1.471a2 2 0 00-2.4-1.095zm1.49 1.505l.66 1.471a1.497 1.497 0 01-.344 1.71l-1.046.974C7.077 8.36 7.3 9.442 8.198 11c.846 1.466 1.618 2.19 2.448 2.064l.124-.026 2.088-.637a.5.5 0 01.552.185l1.356 1.88a1 1 0 01-.123 1.312l-.543.514a2.5 2.5 0 01-2.653.503c-1.698-.684-3.303-2.311-4.798-4.9C5.15 9.3 4.544 7.091 4.805 5.277a2.5 2.5 0 011.753-2.039l.717-.216a1 1 0 011.2.548z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M6.986 2.066a2 2 0 012.327.946l.074.149.662 1.471a2.497 2.497 0 01-.442 2.718l-.133.132-1.043.973c-.188.178-.047.867.633 2.045.612 1.06 1.11 1.555 1.355 1.582h.043l.053-.01 2.05-.627a1.5 1.5 0 011.564.441l.091.115 1.357 1.88a2 2 0 01-.125 2.497l-.121.126-.543.514a3.5 3.5 0 01-3.715.705c-1.935-.78-3.693-2.562-5.29-5.329-1.6-2.772-2.265-5.19-1.968-7.258a3.5 3.5 0 012.262-2.79l.192-.064.717-.216z\"\n    }));\n  },\n  displayName: 'CallIcon'\n});\n//# sourceMappingURL=CallIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallPstnIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 2C6.79086 2 5 3.79086 5 6C5 8.20914 6.79086 10 9 10C11.2091 10 13 8.20914 13 6C13 3.79086 11.2091 2 9 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.00873 11C2.90315 11 2 11.8869 2 13C2 14.6912 2.83281 15.9663 4.13499 16.7966C5.41697 17.614 7.14526 18 9 18C9.87991 18 10.7314 17.9131 11.5202 17.7345C11.4602 17.3019 11.5355 16.8523 11.7481 16.4582L11.7603 16.4356L11.8431 16.2995L12.4297 15.4376C12.8741 14.7847 13.6617 14.4469 14.4461 14.614L14.4736 14.6199L14.6283 14.6621L15.1615 14.8399C15.3177 14.6721 15.4588 14.4811 15.5847 14.2646C15.7098 14.0495 15.8014 13.8408 15.8641 13.6376L15.3848 13.1827C14.8337 12.6597 14.6333 11.8805 14.8135 11.1724C14.565 11.0616 14.2897 11 14 11L4.00873 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8345 11.2649L16.2337 10.3236C16.4209 9.88219 16.8693 9.64207 17.3091 9.73369L17.4031 9.75845L17.9029 9.91817C18.3986 10.0765 18.7781 10.5011 18.9007 11.0343C19.192 12.3013 18.8425 13.8439 17.8522 15.6622C16.8634 17.4777 15.7796 18.5694 14.6009 18.9371C14.1432 19.0798 13.6515 18.9761 13.2816 18.6656L13.1839 18.5758L12.8043 18.1947C12.4753 17.8644 12.4075 17.3419 12.6281 16.9331L12.6842 16.8409L13.2563 16.0003C13.4815 15.6695 13.8666 15.513 14.2377 15.5921L14.3384 15.6195L15.3947 15.9718C15.8162 15.6528 16.1677 15.2513 16.4491 14.7673C16.6904 14.3524 16.8481 13.9319 16.9225 13.5057L16.9527 13.2922L16.0732 12.4574C15.7835 12.1824 15.6782 11.7542 15.7967 11.3688L15.8345 11.2649Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 6C5 3.79086 6.79086 2 9 2C11.2091 2 13 3.79086 13 6C13 8.20914 11.2091 10 9 10C6.79086 10 5 8.20914 5 6ZM9 3C7.34315 3 6 4.34315 6 6C6 7.65685 7.34315 9 9 9C10.6569 9 12 7.65685 12 6C12 4.34315 10.6569 3 9 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 13C2 11.8869 2.90315 11 4.00873 11L14 11C14.2897 11 14.565 11.0616 14.8135 11.1724C14.7012 11.6137 14.7367 12.0827 14.9129 12.5H14.8662C14.6932 12.2011 14.3701 12 14 12L4.00873 12C3.44786 12 3 12.4467 3 13C3 14.3088 3.62226 15.2837 4.67262 15.9534C5.74318 16.636 7.26489 17 9 17C9.96178 17 10.858 16.8882 11.6482 16.6722C11.5131 17.0109 11.4708 17.3784 11.5202 17.7345C10.7314 17.9131 9.87991 18 9 18C7.14526 18 5.41697 17.614 4.13499 16.7966C2.83281 15.9663 2 14.6912 2 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8345 11.2649L16.2337 10.3236C16.4209 9.88219 16.8693 9.64207 17.3091 9.73369L17.4031 9.75845L17.9029 9.91817C18.3986 10.0765 18.7781 10.5011 18.9007 11.0343C19.192 12.3013 18.8425 13.8439 17.8522 15.6622C16.8634 17.4777 15.7796 18.5694 14.6009 18.9371C14.1432 19.0798 13.6515 18.9761 13.2816 18.6656L13.1839 18.5758L12.8043 18.1947C12.4753 17.8644 12.4075 17.3419 12.6281 16.9331L12.6842 16.8409L13.2563 16.0003C13.4815 15.6695 13.8666 15.513 14.2377 15.5921L14.3384 15.6195L15.3947 15.9718C15.8162 15.6528 16.1677 15.2513 16.4491 14.7673C16.6904 14.3524 16.8481 13.9319 16.9225 13.5057L16.9527 13.2922L16.0732 12.4574C15.7835 12.1824 15.6782 11.7542 15.7967 11.3688L15.8345 11.2649Z\"\n    })));\n  },\n  displayName: 'CallPstnIcon'\n});\n//# sourceMappingURL=CallPstnIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CallRecordingIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"circle\", {\n      cx: \"16\",\n      cy: \"16\",\n      r: \"4.6\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 8c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.3c-3.5 0-6.3-2.8-6.3-6.3s2.8-6.3 6.3-6.3 6.3 2.8 6.3 6.3-2.8 6.3-6.3 6.3z\"\n    }));\n  },\n  displayName: 'CallRecordingIcon'\n});\n//# sourceMappingURL=CallRecordingIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallVideoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4.5 4C3.11929 4 2 5.11929 2 6.5V13.5C2 14.8807 3.11929 16 4.5 16H11.5C12.8807 16 14 14.8807 14 13.5V12.5L16.4 14.3C17.0592 14.7944 18 14.324 18 13.5V6.49998C18 5.67594 17.0592 5.20556 16.4 5.69998L14 7.49998V6.5C14 5.11929 12.8807 4 11.5 4H4.5ZM14 8.74998L17 6.49998V13.5L14 11.25V8.74998ZM13 6.5V13.5C13 14.3284 12.3284 15 11.5 15H4.5C3.67157 15 3 14.3284 3 13.5V6.5C3 5.67157 3.67157 5 4.5 5H11.5C12.3284 5 13 5.67157 13 6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 6.5C13 5.11929 11.8807 4 10.5 4H4.5C3.11929 4 2 5.11929 2 6.5V13.5C2 14.8807 3.11929 16 4.5 16H10.5C11.8807 16 13 14.8807 13 13.5V6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 7.93082V12.0815L16.7642 14.4319C17.2512 14.8461 18 14.4999 18 13.8606V6.19315C18 5.55685 17.2575 5.20962 16.7692 5.61756L14 7.93082Z\"\n    })));\n  },\n  displayName: 'CallVideoIcon'\n});\n//# sourceMappingURL=CallVideoIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallVideoOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14652C2.65829 1.95126 2.34171 1.95126 2.14645 2.14652C1.95118 2.34179 1.95118 2.65837 2.14645 2.85363L3.50058 4.20777C2.61732 4.59341 2 5.47462 2 6.5V13.5C2 14.8807 3.11929 16 4.5 16H11.5C12.5254 16 13.4066 15.3827 13.7922 14.4994L17.1464 17.8536C17.3417 18.0489 17.6583 18.0489 17.8536 17.8536C18.0488 17.6584 18.0488 17.3418 17.8536 17.1465L2.85355 2.14652ZM12.9875 13.6947C12.892 14.4311 12.2625 15 11.5 15H4.5C3.67157 15 3 14.3284 3 13.5V6.5C3 5.73754 3.56887 5.10795 4.30533 5.01252L12.9875 13.6947Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 10.8787L16.4692 14.3479C17.1231 14.7616 18 14.2957 18 13.5001V6.50011C18 5.67606 17.0592 5.20568 16.4 5.70011L14 7.50011V6.5C14 5.11929 12.8807 4 11.5 4H6.12134L7.12134 5H11.5C12.3284 5 13 5.67157 13 6.5V10.8787ZM14 8.75011L17 6.50011V13.5001L14 11.2501V8.75011Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14652C2.65829 1.95126 2.34171 1.95126 2.14645 2.14652C1.95118 2.34178 1.95118 2.65837 2.14645 2.85363L3.50058 4.20777C2.61732 4.59341 2 5.47461 2 6.5V13.5C2 14.8807 3.11929 16 4.5 16H10.5C11.8136 16 12.8906 14.9869 12.9922 13.6994L17.1464 17.8536C17.3417 18.0489 17.6583 18.0489 17.8536 17.8536C18.0488 17.6584 18.0488 17.3418 17.8536 17.1465L2.85355 2.14652Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.7642 14.4319L15.3547 13.2334L14 11.8787V7.93076L16.7692 5.61749C17.2575 5.20956 18 5.55679 18 6.19309V13.8605C18 14.4999 17.2512 14.846 16.7642 14.4319Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 10.8787L6.12134 4H10.5C11.8807 4 13 5.11929 13 6.5V10.8787Z\"\n    })));\n  },\n  displayName: 'CallVideoOffIcon'\n});\n//# sourceMappingURL=CallVideoOffIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CameraIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M10.0002 6C7.79104 6 6.00018 7.79086 6.00018 10C6.00018 12.2091 7.79104 14 10.0002 14C12.2093 14 14.0002 12.2091 14.0002 10C14.0002 7.79086 12.2093 6 10.0002 6ZM7.00018 10C7.00018 8.34315 8.34333 7 10.0002 7C11.657 7 13.0002 8.34315 13.0002 10C13.0002 11.6569 11.657 13 10.0002 13C8.34333 13 7.00018 11.6569 7.00018 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8.12412 1.99997C7.55707 1.99997 7.03849 2.31974 6.78386 2.8264L6.19437 3.99937H4.50488C3.12417 3.99937 2.00488 5.11865 2.00488 6.49937V14.5C2.00488 15.8807 3.12417 17 4.50488 17H15.5049C16.8856 17 18.0049 15.8807 18.0049 14.5V6.49937C18.0049 5.11866 16.8856 3.99937 15.5049 3.99937H13.8149L13.23 2.82927C12.976 2.32103 12.4565 1.99997 11.8883 1.99997H8.12412ZM7.67736 3.27545C7.76224 3.10656 7.9351 2.99997 8.12412 2.99997H11.8883C12.0777 2.99997 12.2509 3.10699 12.3356 3.2764L13.0587 4.72293C13.1433 4.89235 13.3165 4.99937 13.5059 4.99937H15.5049C16.3333 4.99937 17.0049 5.67094 17.0049 6.49937V14.5C17.0049 15.3284 16.3333 16 15.5049 16H4.50488C3.67646 16 3.00488 15.3284 3.00488 14.5V6.49937C3.00488 5.67094 3.67646 4.99937 4.50488 4.99937H6.50268C6.69169 4.99937 6.86455 4.89278 6.94943 4.72389L7.67736 3.27545Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.00018 10C7.00018 8.34315 8.34333 7 10.0002 7C11.657 7 13.0002 8.34315 13.0002 10C13.0002 11.6569 11.657 13 10.0002 13C8.34333 13 7.00018 11.6569 7.00018 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M6.78386 2.82643C7.03849 2.31977 7.55707 2 8.12412 2H11.8883C12.4565 2 12.976 2.32106 13.23 2.8293L13.8149 3.9994H15.5049C16.8856 3.9994 18.0049 5.11869 18.0049 6.4994V14.5C18.0049 15.8807 16.8856 17 15.5049 17H4.50488C3.12417 17 2.00488 15.8807 2.00488 14.5V6.4994C2.00488 5.11868 3.12417 3.9994 4.50488 3.9994H6.19437L6.78386 2.82643ZM10.0002 6C7.79104 6 6.00018 7.79086 6.00018 10C6.00018 12.2091 7.79104 14 10.0002 14C12.2093 14 14.0002 12.2091 14.0002 10C14.0002 7.79086 12.2093 6 10.0002 6Z\"\n    })));\n  },\n  displayName: 'CameraIcon'\n});\n//# sourceMappingURL=CameraIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CanvasAddPageIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 2C4.89543 2 4 2.89543 4 4V9.20703C4.32228 9.11588 4.65659 9.05337 5 9.02242V4C5 3.44772 5.44772 3 6 3H10V6.5C10 7.32843 10.6716 8 11.5 8H15V16C15 16.5523 14.5523 17 14 17H10.4003C10.2174 17.3578 9.99647 17.6929 9.74284 18H14C15.1046 18 16 17.1046 16 16V7.41421C16 7.01639 15.842 6.63486 15.5607 6.35355L11.6464 2.43934C11.3651 2.15804 10.9836 2 10.5858 2H6ZM14.7929 7H11.5C11.2239 7 11 6.77614 11 6.5V3.20711L14.7929 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14.5C10 16.9853 7.98528 19 5.5 19C3.01472 19 1 16.9853 1 14.5C1 12.0147 3.01472 10 5.5 10C7.98528 10 10 12.0147 10 14.5ZM6 12.5C6 12.2239 5.77614 12 5.5 12C5.22386 12 5 12.2239 5 12.5V14H3.5C3.22386 14 3 14.2239 3 14.5C3 14.7761 3.22386 15 3.5 15H5L5 16.5C5 16.7761 5.22386 17 5.5 17C5.77614 17 6 16.7761 6 16.5V15H7.5C7.77614 15 8 14.7761 8 14.5C8 14.2239 7.77614 14 7.5 14H6V12.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2V6.5C10 7.32843 10.6716 8 11.5 8H16V16.5C16 17.3284 15.3284 18 14.5 18H9.74284C10.5282 17.0491 11 15.8296 11 14.5C11 11.4624 8.53757 9 5.5 9C4.97999 9 4.47683 9.07217 4 9.20703V3.5C4 2.67157 4.67157 2 5.5 2H10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 2.25V6.5C11 6.77614 11.2239 7 11.5 7H15.75L11 2.25Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14.5C10 16.9853 7.98528 19 5.5 19C3.01472 19 1 16.9853 1 14.5C1 12.0147 3.01472 10 5.5 10C7.98528 10 10 12.0147 10 14.5ZM6 12.5C6 12.2239 5.77614 12 5.5 12C5.22386 12 5 12.2239 5 12.5V14H3.5C3.22386 14 3 14.2239 3 14.5C3 14.7761 3.22386 15 3.5 15H5L5 16.5C5 16.7761 5.22386 17 5.5 17C5.77614 17 6 16.7761 6 16.5V15H7.5C7.77614 15 8 14.7761 8 14.5C8 14.2239 7.77614 14 7.5 14H6V12.5Z\"\n    })));\n  },\n  displayName: 'CanvasAddPageIcon'\n});\n//# sourceMappingURL=CanvasAddPageIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nimport cx from 'classnames';\nexport var CallMissedLineIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.8015 7.76906L17.9594 6.93993C18.116 6.1178 17.8139 5.24209 17.154 4.65965C15.5858 3.27548 13.3241 2.49957 9.99245 2.50386C6.6656 2.50818 4.10141 3.28832 2.67633 4.67234C2.0727 5.25858 1.85286 6.12714 2.09921 6.95248L2.3467 7.78165C2.57765 8.55537 3.35656 9.07205 4.16895 8.99042L5.79708 8.8268C6.49595 8.75657 6.80244 8.17088 7 7.49994C7.29566 6.49585 7.5 5.74998 7.5 5.74998C8.26225 5.46481 8.98623 5.24994 10 5.24994C11.0138 5.24994 11.7522 5.44346 12.5 5.74998C12.5 5.74998 12.6957 6.49518 13 7.49994C13.2241 8.23997 13.753 8.76115 14.4666 8.83008L16.1042 8.98826C16.9272 9.06774 17.6535 8.546 17.8015 7.76906Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 11.5C9.77614 11.5 10 11.7239 10 12V13.5001H11.0047C11.2809 13.5001 11.5047 13.7239 11.5047 14.0001C11.5047 14.2762 11.2809 14.5001 11.0047 14.5001H9.5C9.22386 14.5001 9 14.2762 9 14.0001V12C9 11.7239 9.22386 11.5 9.5 11.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 13.5C5.5 11.0147 7.51472 9 10 9C12.4853 9 14.5 11.0147 14.5 13.5C14.5 15.9853 12.4853 18 10 18C7.51472 18 5.5 15.9853 5.5 13.5ZM10 10C8.067 10 6.5 11.567 6.5 13.5C6.5 15.433 8.067 17 10 17C11.933 17 13.5 15.433 13.5 13.5C13.5 11.567 11.933 10 10 10Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2.00001C13.3317 1.99572 15.5858 3.2756 17.154 4.65976C17.8139 5.2422 18.116 6.11792 17.9594 6.94005L17.8015 7.76918C17.6535 8.54611 16.9272 9.06786 16.1042 8.98837L14.4666 8.8302C13.753 8.76127 13.2241 8.24008 13 7.50005C12.6957 6.4953 12.5 5.75009 12.5 5.75009C11.7522 5.44357 11.0138 5.25005 10 5.25005C8.98623 5.25005 8.26225 5.46492 7.5 5.75009C7.5 5.75009 7.29566 6.49597 7 7.50005C6.80244 8.17099 6.49595 8.75668 5.79708 8.82691L4.16895 8.99053C3.35656 9.07217 2.57765 8.55549 2.3467 7.78177L2.09921 6.95259C1.85286 6.12726 2.0727 5.25869 2.67633 4.67245C4.10141 3.28843 6.67315 2.00433 10 2.00001ZM13.4754 5.52689L13.5008 5.62157C13.5232 5.70474 13.5565 5.82664 13.5991 5.97972C13.6846 6.28606 13.8075 6.71629 13.9571 7.21019C14.0936 7.66095 14.3462 7.81391 14.5628 7.83483L16.2004 7.99301C16.5457 8.02635 16.7746 7.81599 16.8191 7.58206L16.9771 6.75293C17.0653 6.28943 16.8963 5.76613 16.4923 5.40948C15.0673 4.1517 13.0404 2.9961 10.0013 3.00001C6.92594 3.00401 4.60599 4.19238 3.37303 5.38982C3.04458 5.70881 2.9145 6.18768 3.05744 6.66657L3.30493 7.49575C3.39647 7.80242 3.72575 8.03003 4.06896 7.99554L5.69709 7.83193C5.73551 7.82807 5.74859 7.82034 5.7511 7.81886C5.75521 7.81649 5.77275 7.80572 5.80155 7.76923C5.8711 7.6811 5.9536 7.51349 6.04073 7.21759C6.18728 6.71989 6.31122 6.28611 6.39847 5.97694C6.44208 5.82241 6.47648 5.69914 6.49992 5.61474L6.52663 5.51827C6.62916 5.15132 6.98467 4.89552 7.14961 4.81349C7.96877 4.50703 8.81921 4.25005 10 4.25005C11.1653 4.25005 12.0327 4.47779 12.8793 4.8248C13.0313 4.88736 13.3617 5.10921 13.4672 5.4961L13.4691 5.50315L13.4754 5.52689Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 12C10 11.7239 9.77614 11.5 9.5 11.5C9.22386 11.5 9 11.7239 9 12V14.0001C9 14.2762 9.22386 14.5001 9.5 14.5001H11.0047C11.2809 14.5001 11.5047 14.2762 11.5047 14.0001C11.5047 13.7239 11.2809 13.5001 11.0047 13.5001H10V12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 13.5C5.5 11.0147 7.51472 9 10 9C12.4853 9 14.5 11.0147 14.5 13.5C14.5 15.9853 12.4853 18 10 18C7.51472 18 5.5 15.9853 5.5 13.5ZM10 10C8.067 10 6.5 11.567 6.5 13.5C6.5 15.433 8.067 17 10 17C11.933 17 13.5 15.433 13.5 13.5C13.5 11.567 11.933 10 10 10Z\"\n    })));\n  },\n  displayName: 'CallMissedLineIcon'\n});\n//# sourceMappingURL=CallMissedLineIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CallParkingIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.53544 2.11648C5.49406 1.85267 4.40494 1.9649 3.55101 2.44268C2.68184 2.92898 2.07166 3.79019 2.04156 4.9441C1.99456 6.74545 2.41207 9.16298 4.06815 12.0019C5.70298 14.8045 7.50831 16.4843 9.0056 17.4831C9.95159 18.1141 10.9973 18.1308 11.8903 17.7193C12.7694 17.3142 13.4838 16.5057 13.8548 15.5027C14.0415 14.9978 13.9975 14.4365 13.7345 13.9668L12.781 12.2642C12.1747 11.1813 10.8657 10.7073 9.70661 11.1507L9.04092 11.4053C8.71835 11.5287 8.42164 11.4718 8.25304 11.3062C7.68784 10.7511 7.28407 9.99728 7.10089 9.18525C7.04329 8.9299 7.1603 8.62796 7.44299 8.41462L8.04412 7.96098C9.04934 7.20237 9.33337 5.81449 8.70699 4.72197L7.73513 3.0269C7.47512 2.5734 7.04218 2.24486 6.53544 2.11648ZM3.04122 4.97019C3.06139 4.19711 3.45254 3.64365 4.03928 3.31537C4.64126 2.97856 5.46263 2.8763 6.28987 3.08586C6.5339 3.14768 6.74239 3.3059 6.8676 3.52429L7.83946 5.21936C8.21529 5.87487 8.04487 6.7076 7.44174 7.16277L6.84061 7.61641C6.32141 8.00824 5.96194 8.68064 6.1254 9.4053C6.34709 10.388 6.83828 11.3184 7.55233 12.0197C8.0737 12.5317 8.8175 12.5614 9.39819 12.3393L10.0639 12.0847C10.7594 11.8186 11.5447 12.1031 11.9085 12.7528L12.862 14.4554C12.982 14.6696 13.002 14.9256 12.9169 15.1558C12.6267 15.9404 12.0825 16.5296 11.4718 16.8111C10.8752 17.086 10.2001 17.0778 9.56054 16.6512C8.18976 15.7368 6.49007 14.1692 4.93193 11.4981C3.36852 8.81796 2.99912 6.58369 3.04122 4.97019Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 2C12.2238 2 12 2.22386 12 2.5V9.5C12 9.77614 12.2238 10 12.5 10C12.7761 10 13 9.77614 13 9.5V7H14.5C15.8807 7 17 5.88071 17 4.5C17 3.11929 15.8807 2 14.5 2H12.5ZM14.5 6H13V3H14.5C15.3284 3 16 3.67158 16 4.5C16 5.32843 15.3284 6 14.5 6Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.55101 2.44267C4.40494 1.9649 5.49406 1.85267 6.53544 2.11648C7.04218 2.24485 7.47512 2.5734 7.73513 3.02689L8.6329 4.59276C9.29786 5.75254 8.9327 7.23022 7.80407 7.94679L7.01425 8.44825C6.68733 8.65581 6.56745 8.97235 6.64244 9.22397C6.90993 10.1214 7.50308 11.1181 8.15518 11.8002C8.34925 12.0031 8.7045 12.0518 9.05289 11.8486L9.4899 11.5937C10.6974 10.8893 12.2478 11.312 12.9308 12.5316L13.7345 13.9668C13.9975 14.4365 14.0415 14.9978 13.8548 15.5026C13.4838 16.5057 12.7694 17.3142 11.8903 17.7193C10.9973 18.1308 9.95159 18.1141 9.0056 17.4831C7.50831 16.4842 5.70298 14.8045 4.06815 12.0019C2.41207 9.16298 1.99456 6.74545 2.04156 4.9441C2.07166 3.79018 2.68184 2.92897 3.55101 2.44267Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 2C12.2238 2 12 2.22386 12 2.5V9.5C12 9.77614 12.2238 10 12.5 10C12.7761 10 13 9.77614 13 9.5V7H14.5C15.8807 7 17 5.88071 17 4.5C17 3.11929 15.8807 2 14.5 2H12.5ZM14.5 6H13V3H14.5C15.3284 3 16 3.67157 16 4.5C16 5.32843 15.3284 6 14.5 6Z\"\n    })));\n  },\n  displayName: 'CallParkingIcon'\n});\n//# sourceMappingURL=CallParkingIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CastingIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M2 5.5C2 4.67157 2.67157 4 3.5 4H16.5C17.3284 4 18 4.67157 18 5.5V14.5C18 15.3284 17.3284 16 16.5 16H3.5C2.67157 16 2 15.3284 2 14.5V5.5ZM3.5 5C3.22386 5 3 5.22386 3 5.5V14.5C3 14.7761 3.22386 15 3.5 15H16.5C16.7761 15 17 14.7761 17 14.5V5.5C17 5.22386 16.7761 5 16.5 5H3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.4989 13.2495C5.4989 13.6634 5.16336 13.9989 4.74945 13.9989C4.33554 13.9989 4 13.6634 4 13.2495C4 12.8355 4.33554 12.5 4.74945 12.5C5.16336 12.5 5.4989 12.8355 5.4989 13.2495Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.9973 10.5C3.9973 10.2239 4.22116 10 4.4973 10C6.43169 10 7.99982 11.5681 7.99982 13.5025C7.99982 13.7787 7.77596 14.0025 7.49982 14.0025C7.22368 14.0025 6.99982 13.7787 6.99982 13.5025C6.99982 12.1204 5.87941 11 4.4973 11C4.22116 11 3.9973 10.7761 3.9973 10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.99731 8C3.99731 7.72386 4.22117 7.5 4.49731 7.5C7.81251 7.5 10.5 10.1875 10.5 13.5027C10.5 13.7788 10.2761 14.0027 10 14.0027C9.72386 14.0027 9.5 13.7788 9.5 13.5027C9.5 10.7398 7.26022 8.5 4.49731 8.5C4.22117 8.5 3.99731 8.27614 3.99731 8Z\"\n    }));\n  },\n  displayName: 'CastingIcon'\n});\n//# sourceMappingURL=CastingIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChannelShareIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 5.5C3 4.11929 4.11929 3 5.5 3h5C11.8807 3 13 4.11929 13 5.5c0 .27614-.2239.5-.5.5s-.5-.22386-.5-.5c0-.82843-.6716-1.5-1.5-1.5h-5C4.67157 4 4 4.67157 4 5.5v5c0 .8284.67157 1.5 1.5 1.5h4.5137c.1244-1.125 1.0782-2 2.2363-2 1.2426 0 2.25 1.0074 2.25 2.25s-1.0074 2.25-2.25 2.25c-.9797 0-1.8131-.6261-2.122-1.5H5.5C4.11929 13 3 11.8807 3 10.5v-5zm8 6.75c0 .6904.5596 1.25 1.25 1.25s1.25-.5596 1.25-1.25S12.9404 11 12.25 11 11 11.5596 11 12.25zM7.5 14c-.27614 0-.5.2239-.5.5C7 15.8807 8.11929 17 9.5 17h5c1.3807 0 2.5-1.1193 2.5-2.5v-5C17 8.11929 15.8807 7 14.5 7H9.87197C9.56309 6.12611 8.72966 5.5 7.75 5.5 6.50736 5.5 5.5 6.50736 5.5 7.75S6.50736 10 7.75 10c1.15814 0 2.11191-.87501 2.23627-2H14.5c.8284 0 1.5.67157 1.5 1.5v5c0 .8284-.6716 1.5-1.5 1.5h-5c-.82843 0-1.5-.6716-1.5-1.5 0-.2761-.22386-.5-.5-.5zm.25-7.5C8.44036 6.5 9 7.05964 9 7.75S8.44036 9 7.75 9 6.5 8.44036 6.5 7.75 7.05964 6.5 7.75 6.5z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3 5.5C3 4.11929 4.11929 3 5.5 3h5C11.8807 3 13 4.11929 13 5.5c0 .27614-.2239.5-.5.5s-.5-.22386-.5-.5c0-.82843-.6716-1.5-1.5-1.5h-5C4.67157 4 4 4.67157 4 5.5v5c0 .8284.67157 1.5 1.5 1.5h4.5137c.1244-1.125 1.0782-2 2.2363-2 1.2426 0 2.25 1.0074 2.25 2.25s-1.0074 2.25-2.25 2.25c-.9797 0-1.8131-.6261-2.122-1.5H5.5C4.11929 13 3 11.8807 3 10.5v-5zM7.5 14c-.27614 0-.5.2239-.5.5C7 15.8807 8.11929 17 9.5 17h5c1.3807 0 2.5-1.1193 2.5-2.5v-5C17 8.11929 15.8807 7 14.5 7H9.87197C9.56309 6.12611 8.72966 5.5 7.75 5.5 6.50736 5.5 5.5 6.50736 5.5 7.75S6.50736 10 7.75 10c1.15814 0 2.11191-.87501 2.23627-2H14.5c.8284 0 1.5.67157 1.5 1.5v5c0 .8284-.6716 1.5-1.5 1.5h-5c-.82843 0-1.5-.6716-1.5-1.5 0-.2761-.22386-.5-.5-.5z\"\n    }));\n  },\n  displayName: 'ChannelShareIcon'\n});\n//# sourceMappingURL=ChannelShareIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChatIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C8.72679 18 7.49591 17.7018 6.38669 17.1393L6.266 17.075L2.62109 17.9851C2.31127 18.0625 2.02622 17.8369 2.00131 17.5438L2.00114 17.4624L2.01493 17.3787L2.925 13.735L2.86169 13.6153C2.4066 12.7186 2.12433 11.7422 2.03275 10.7283L2.00738 10.3463L2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 11.217 3.31054 12.3878 3.89352 13.4249C3.94046 13.5084 3.9621 13.603 3.95692 13.6973L3.94274 13.7912L3.187 16.812L6.21104 16.0583C6.27294 16.0429 6.33662 16.0396 6.39873 16.0479L6.4903 16.0691L6.57701 16.1075C7.61362 16.6898 8.7837 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM10.5 11C10.7761 11 11 11.2239 11 11.5C11 11.7455 10.8231 11.9496 10.5899 11.9919L10.5 12H7.5C7.22386 12 7 11.7761 7 11.5C7 11.2545 7.17688 11.0504 7.41012 11.0081L7.5 11H10.5ZM12.5 8C12.7761 8 13 8.22386 13 8.5C13 8.74546 12.8231 8.94961 12.5899 8.99194L12.5 9H7.5C7.22386 9 7 8.77614 7 8.5C7 8.25454 7.17688 8.05039 7.41012 8.00806L7.5 8H12.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C8.72679 18 7.49591 17.7018 6.38669 17.1393L6.266 17.075L2.62109 17.9851C2.31127 18.0625 2.02622 17.8369 2.00131 17.5438L2.00114 17.4624L2.01493 17.3787L2.925 13.735L2.86169 13.6153C2.4066 12.7186 2.12433 11.7422 2.03275 10.7283L2.00738 10.3463L2 10C2 5.58172 5.58172 2 10 2ZM10.5 11H7.5L7.41012 11.0081C7.17688 11.0504 7 11.2545 7 11.5C7 11.7455 7.17688 11.9496 7.41012 11.9919L7.5 12H10.5L10.5899 11.9919C10.8231 11.9496 11 11.7455 11 11.5C11 11.2545 10.8231 11.0504 10.5899 11.0081L10.5 11ZM12.5 8H7.5L7.41012 8.00806C7.17688 8.05039 7 8.25454 7 8.5C7 8.74546 7.17688 8.94961 7.41012 8.99194L7.5 9H12.5L12.5899 8.99194C12.8231 8.94961 13 8.74546 13 8.5C13 8.25454 12.8231 8.05039 12.5899 8.00806L12.5 8Z\"\n    }));\n  },\n  displayName: 'ChatIcon'\n});\n//# sourceMappingURL=ChatIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChatOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.00058 4.7077L2.14645 2.85357C1.95118 2.65831 1.95118 2.34172 2.14645 2.14646C2.34171 1.9512 2.65829 1.9512 2.85355 2.14646L4.70768 4.00059C4.70768 4.0006 4.70769 4.00059 4.70768 4.00059L5.41638 4.70926C5.41639 4.70925 5.41637 4.70926 5.41638 4.70926L15.2907 14.5836C15.2907 14.5836 15.2907 14.5836 15.2907 14.5836L15.9994 15.2923C15.9994 15.2923 15.9994 15.2923 15.9994 15.2923L17.8536 17.1465C18.0488 17.3417 18.0488 17.6583 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L15.2923 15.9994C13.882 17.2445 12.0292 18 10 18C8.72679 18 7.49591 17.7018 6.38669 17.1393L6.266 17.075L2.62109 17.9851C2.31127 18.0625 2.02622 17.8369 2.00131 17.5438L2.00114 17.4624L2.01493 17.3787L2.925 13.735L2.86169 13.6153C2.4066 12.7186 2.12433 11.7422 2.03275 10.7283L2.00738 10.3463L2 10C2 7.97079 2.75551 6.11805 4.00058 4.7077ZM14.5836 15.2907L10.9683 11.6755C10.9075 11.8379 10.7645 11.9603 10.5899 11.9919L10.5 12H7.5C7.22386 12 7 11.7761 7 11.5C7 11.2545 7.17688 11.0504 7.41012 11.0081L7.5 11H10.2929L8.29288 9H7.5C7.22386 9 7 8.77614 7 8.5C7 8.2856 7.13495 8.10272 7.32453 8.03165L4.70926 5.41638C3.6444 6.64444 3 8.24696 3 10C3 11.217 3.31054 12.3878 3.89352 13.4249C3.94046 13.5084 3.9621 13.603 3.95692 13.6973L3.94274 13.7912L3.187 16.812L6.21104 16.0583C6.27294 16.0429 6.33662 16.0396 6.39873 16.0479L6.4903 16.0691L6.57701 16.1075C7.61362 16.6898 8.7837 17 10 17C11.753 17 13.3556 16.3556 14.5836 15.2907Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.6178 14.4964L15.8961 13.7747C16.5948 12.6856 17 11.3901 17 10C17 6.13401 13.866 3 10 3C8.6099 3 7.31443 3.4052 6.22528 4.10394L5.50358 3.38224C6.78499 2.5099 8.33295 2 10 2C14.4183 2 18 5.58172 18 10C18 11.6671 17.4901 13.215 16.6178 14.4964Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 9H11.1213L10.1213 8H12.5C12.7761 8 13 8.22386 13 8.5C13 8.74546 12.8231 8.94961 12.5899 8.99194L12.5 9Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.00058 4.7077L2.14645 2.85357C1.95118 2.65831 1.95118 2.34172 2.14645 2.14646C2.34171 1.9512 2.65829 1.9512 2.85355 2.14646L4.70768 4.00059C4.70768 4.0006 4.70769 4.00059 4.70768 4.00059L15.9994 15.2923C15.9994 15.2923 15.9994 15.2923 15.9994 15.2923L17.8536 17.1465C18.0488 17.3417 18.0488 17.6583 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L15.2923 15.9994C13.882 17.2445 12.0292 18 10 18C8.72679 18 7.49591 17.7018 6.38669 17.1393L6.266 17.075L2.62109 17.9851C2.31127 18.0625 2.02622 17.8369 2.00131 17.5438L2.00114 17.4624L2.01493 17.3787L2.925 13.735L2.86169 13.6153C2.4066 12.7186 2.12433 11.7422 2.03275 10.7283L2.00738 10.3463L2 10C2 7.97079 2.75551 6.11805 4.00058 4.7077ZM10.9683 11.6755L10.2929 11H7.5L7.41012 11.0081C7.17688 11.0504 7 11.2545 7 11.5C7 11.7455 7.17688 11.9496 7.41012 11.9919L7.5 12H10.5L10.5899 11.9919C10.7645 11.9603 10.9075 11.8379 10.9683 11.6755ZM8.29288 9L7.32453 8.03165C7.13495 8.10272 7 8.2856 7 8.5C7 8.74546 7.17688 8.94961 7.41012 8.99194L7.5 9H8.29288Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 9H11.1213L16.6178 14.4964C17.4901 13.215 18 11.6671 18 10C18 5.58172 14.4183 2 10 2C8.33295 2 6.78499 2.5099 5.50358 3.38224L10.1213 8H12.5L12.5899 8.00806C12.8231 8.05039 13 8.25454 13 8.5C13 8.74546 12.8231 8.94961 12.5899 8.99194L12.5 9Z\"\n    })));\n  },\n  displayName: 'ChatOffIcon'\n});\n//# sourceMappingURL=ChatOffIcon.js.map\n","// This is Fluent icon. Originally on a 20x20 canvas. No resize, just 'viewBox' update.\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CheckmarkCircleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM13.3584 7.64645C13.532 7.82001 13.5513 8.08944 13.4163 8.28431L13.3584 8.35355L9.35355 12.3584C9.17999 12.532 8.91056 12.5513 8.71569 12.4163L8.64645 12.3584L6.64645 10.3584C6.45118 10.1632 6.45118 9.84658 6.64645 9.65131C6.82001 9.47775 7.08944 9.45846 7.28431 9.59346L7.35355 9.65131L9 11.298L12.6513 7.64645C12.8466 7.45118 13.1632 7.45118 13.3584 7.64645Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM13.3584 7.64645C13.1849 7.47288 12.9154 7.4536 12.7206 7.58859L12.6513 7.64645L9 11.298L7.35355 9.65131L7.28431 9.59346C7.08944 9.45846 6.82001 9.47775 6.64645 9.65131C6.47288 9.82488 6.4536 10.0943 6.58859 10.2892L6.64645 10.3584L8.64645 12.3584L8.71569 12.4163C8.8862 12.5344 9.1138 12.5344 9.28431 12.4163L9.35355 12.3584L13.3584 8.35355L13.4163 8.28431C13.5513 8.08944 13.532 7.82001 13.3584 7.64645Z\"\n    }));\n  },\n  displayName: 'CheckmarkCircleIcon'\n});\n//# sourceMappingURL=CheckmarkCircleIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChevronDownIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.8527 7.64582C16.0484 7.84073 16.0489 8.15731 15.854 8.35292L10.389 13.8374C10.1741 14.0531 9.82477 14.0531 9.60982 13.8374L4.14484 8.35292C3.94993 8.15731 3.95049 7.84073 4.1461 7.64582C4.34171 7.4509 4.65829 7.45147 4.85321 7.64708L9.99942 12.8117L15.1456 7.64708C15.3406 7.45147 15.6571 7.4509 15.8527 7.64582Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M15.793 7.73271C16.0787 8.03263 16.0672 8.50737 15.7672 8.79306L10.5168 13.7944C10.2271 14.0703 9.77187 14.0703 9.4822 13.7944L4.23173 8.79306C3.93181 8.50737 3.92028 8.03263 4.20597 7.73271C4.49166 7.43279 4.96639 7.42125 5.26631 7.70694L9.99949 12.2155L14.7327 7.70694C15.0326 7.42125 15.5073 7.43279 15.793 7.73271Z\"\n    }));\n  },\n  displayName: 'ChevronDownIcon'\n});\n//# sourceMappingURL=ChevronDownIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChevronDownMediumIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.8527 7.64582C16.0484 7.84073 16.0489 8.15731 15.854 8.35292L10.389 13.8374C10.1741 14.0531 9.82477 14.0531 9.60982 13.8374L4.14484 8.35292C3.94993 8.15731 3.95049 7.84073 4.1461 7.64582C4.34171 7.4509 4.65829 7.45147 4.85321 7.64708L9.99942 12.8117L15.1456 7.64708C15.3406 7.45147 15.6571 7.4509 15.8527 7.64582Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M15.793 7.73271C16.0787 8.03263 16.0672 8.50737 15.7672 8.79306L10.5168 13.7944C10.2271 14.0703 9.77187 14.0703 9.4822 13.7944L4.23173 8.79306C3.93181 8.50737 3.92028 8.03263 4.20597 7.73271C4.49166 7.43279 4.96639 7.42125 5.26631 7.70694L9.99949 12.2155L14.7327 7.70694C15.0326 7.42125 15.5073 7.43279 15.793 7.73271Z\"\n    }));\n  },\n  displayName: 'ChevronDownMediumIcon'\n});\n//# sourceMappingURL=ChevronDownMediumIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChevronEndIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M7.64582 4.14708C7.84073 3.95147 8.15731 3.9509 8.35292 4.14582L13.8374 9.6108C14.0531 9.82574 14.0531 10.1751 13.8374 10.39L8.35292 15.855C8.15731 16.0499 7.84073 16.0493 7.64582 15.8537C7.4509 15.6581 7.45147 15.3415 7.64708 15.1466L12.8117 10.0004L7.64708 4.85418C7.45147 4.65927 7.4509 4.34269 7.64582 4.14708Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z\"\n    }));\n  },\n  displayName: 'ChevronEndIcon'\n});\n//# sourceMappingURL=ChevronEndIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChevronEndMediumIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M7.64582 4.14708C7.84073 3.95147 8.15731 3.9509 8.35292 4.14582L13.8374 9.6108C14.0531 9.82574 14.0531 10.1751 13.8374 10.39L8.35292 15.855C8.15731 16.0499 7.84073 16.0493 7.64582 15.8537C7.4509 15.6581 7.45147 15.3415 7.64708 15.1466L12.8117 10.0004L7.64708 4.85418C7.45147 4.65927 7.4509 4.34269 7.64582 4.14708Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z\"\n    }));\n  },\n  displayName: 'ChevronEndMediumIcon'\n});\n//# sourceMappingURL=ChevronEndMediumIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChevronStartIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M12.3544 15.8529C12.1594 16.0485 11.8429 16.0491 11.6472 15.8542L6.16276 10.3892C5.94705 10.1743 5.94705 9.82495 6.16276 9.61L11.6472 4.14502C11.8429 3.95011 12.1594 3.95067 12.3544 4.14628C12.5493 4.34189 12.5487 4.65848 12.3531 4.85339L7.18851 9.99961L12.3531 15.1458C12.5487 15.3407 12.5493 15.6573 12.3544 15.8529Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M12.2676 15.793C11.9677 16.0787 11.493 16.0672 11.2073 15.7673L6.20597 10.5168C5.93004 10.2271 5.93004 9.7719 6.20597 9.48223L11.2073 4.23177C11.493 3.93184 11.9677 3.92031 12.2676 4.206C12.5676 4.49169 12.5791 4.96642 12.2934 5.26634L7.78483 9.99952L12.2934 14.7327C12.5791 15.0326 12.5676 15.5074 12.2676 15.793Z\"\n    })));\n  },\n  displayName: 'ChevronStartIcon'\n});\n//# sourceMappingURL=ChevronStartIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CircleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16,8c-4.418,0-8,3.582-8,8s3.582,8,8,8s8-3.582,8-8S20.418,8,16,8z M16,22.85c-3.783,0-6.85-3.067-6.85-6.85S12.217,9.15,16,9.15s6.85,3.067,6.85,6.85S19.783,22.85,16,22.85z\"\n    }), /*#__PURE__*/React.createElement(\"circle\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      cx: \"16\",\n      cy: \"16\",\n      r: \"8\"\n    })));\n  },\n  displayName: 'CircleIcon'\n});\n//# sourceMappingURL=CircleIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ClipboardCopiedToIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M4.5 4H6.08535C6.29127 4.5826 6.84689 5 7.5 5H10.5C11.1531 5 11.7087 4.5826 11.9146 4H13.5C13.7761 4 14 4.22386 14 4.5V5.5C14 5.77614 14.2239 6 14.5 6C14.7761 6 15 5.77614 15 5.5V4.5C15 3.67157 14.3284 3 13.5 3H11.9146C11.7087 2.4174 11.1531 2 10.5 2H7.5C6.84689 2 6.29127 2.4174 6.08535 3H4.5C3.67157 3 3 3.67157 3 4.5V16.5C3 17.3284 3.67157 18 4.5 18H7.5C7.77614 18 8 17.7761 8 17.5C8 17.2239 7.77614 17 7.5 17H4.5C4.22386 17 4 16.7761 4 16.5V4.5C4 4.22386 4.22386 4 4.5 4ZM7.5 4C7.22386 4 7 3.77614 7 3.5C7 3.22386 7.22386 3 7.5 3H10.5C10.7761 3 11 3.22386 11 3.5C11 3.77614 10.7761 4 10.5 4H7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M10.5 7C9.67157 7 9 7.67157 9 8.5V16.5C9 17.3284 9.67157 18 10.5 18H15.5C16.3284 18 17 17.3284 17 16.5V8.5C17 7.67157 16.3284 7 15.5 7H10.5ZM10 8.5C10 8.22386 10.2239 8 10.5 8H15.5C15.7761 8 16 8.22386 16 8.5V16.5C16 16.7761 15.7761 17 15.5 17H10.5C10.2239 17 10 16.7761 10 16.5V8.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M4.5 4H6.08535C6.29127 4.5826 6.84689 5 7.5 5H10.5C11.1531 5 11.7087 4.5826 11.9146 4H13.5C13.7761 4 14 4.22386 14 4.5V5.5C14 5.77614 14.2239 6 14.5 6C14.7761 6 15 5.77614 15 5.5V4.5C15 3.67157 14.3284 3 13.5 3H11.9146C11.7087 2.4174 11.1531 2 10.5 2H7.5C6.84689 2 6.29127 2.4174 6.08535 3H4.5C3.67157 3 3 3.67157 3 4.5V16.5C3 17.3284 3.67157 18 4.5 18H7.5C7.77614 18 8 17.7761 8 17.5C8 17.2239 7.77614 17 7.5 17H4.5C4.22386 17 4 16.7761 4 16.5V4.5C4 4.22386 4.22386 4 4.5 4ZM7.5 4C7.22386 4 7 3.77614 7 3.5C7 3.22386 7.22386 3 7.5 3H10.5C10.7761 3 11 3.22386 11 3.5C11 3.77614 10.7761 4 10.5 4H7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 7C9.67157 7 9 7.67157 9 8.5V16.5C9 17.3284 9.67157 18 10.5 18H15.5C16.3284 18 17 17.3284 17 16.5V8.5C17 7.67157 16.3284 7 15.5 7H10.5Z\"\n    })));\n  },\n  displayName: 'ClipboardCopiedToIcon'\n});\n//# sourceMappingURL=ClipboardCopiedToIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ClosedCaptionsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.40139 7.2403C7.22201 6.82997 8.20386 6.99674 8.85356 7.64645C9.04882 7.84171 9.04881 8.15829 8.85355 8.35355C8.65829 8.54881 8.3417 8.54881 8.14644 8.35355C7.79614 8.00324 7.27799 7.92002 6.84861 8.13472C6.43659 8.34073 6 8.88519 6 10C6 11.1148 6.43659 11.6593 6.84861 11.8653C7.27799 12.08 7.79614 11.9967 8.14645 11.6464C8.34171 11.4512 8.65829 11.4512 8.85355 11.6464C9.04882 11.8417 9.04882 12.1583 8.85355 12.3535C8.20386 13.0032 7.22201 13.17 6.40139 12.7597C5.56341 12.3407 5 11.3852 5 10C5 8.61486 5.56341 7.6593 6.40139 7.2403Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.3536 7.64648C13.7039 6.99677 12.722 6.83 11.9014 7.24033C11.0634 7.65933 10.5 8.61489 10.5 10C10.5 11.3852 11.0634 12.3407 11.9014 12.7597C12.722 13.17 13.7039 13.0033 14.3536 12.3536C14.5488 12.1583 14.5488 11.8417 14.3536 11.6465C14.1583 11.4512 13.8417 11.4512 13.6464 11.6465C13.2961 11.9968 12.778 12.08 12.3486 11.8653C11.9366 11.6593 11.5 11.1148 11.5 10C11.5 8.88522 11.9366 8.34076 12.3486 8.13475C12.778 7.92005 13.2961 8.00327 13.6464 8.35358C13.8417 8.54884 14.1583 8.54884 14.3535 8.35358C14.5488 8.15832 14.5488 7.84174 14.3536 7.64648Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 7C2 5.34315 3.34315 4 5 4H15C16.6569 4 18 5.34315 18 7V13C18 14.6569 16.6569 16 15 16H5C3.34315 16 2 14.6569 2 13V7ZM5 5C3.89543 5 3 5.89543 3 7V13C3 14.1046 3.89543 15 5 15H15C16.1046 15 17 14.1046 17 13V7C17 5.89543 16.1046 5 15 5H5Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M5 4C3.34315 4 2 5.34315 2 7V13C2 14.6569 3.34315 16 5 16H15C16.6569 16 18 14.6569 18 13V7C18 5.34315 16.6569 4 15 4H5ZM6.40139 7.24033C7.22201 6.83 8.20386 6.99677 8.85356 7.64648C9.04882 7.84174 9.04881 8.15832 8.85355 8.35358C8.65829 8.54884 8.3417 8.54884 8.14644 8.35358C7.79614 8.00327 7.27799 7.92005 6.84861 8.13475C6.43659 8.34076 6 8.88522 6 10C6 11.1148 6.43659 11.6593 6.84861 11.8653C7.27799 12.08 7.79614 11.9968 8.14645 11.6465C8.34171 11.4512 8.65829 11.4512 8.85355 11.6465C9.04882 11.8417 9.04882 12.1583 8.85355 12.3536C8.20386 13.0033 7.22201 13.17 6.40139 12.7597C5.56341 12.3407 5 11.3852 5 10C5 8.61489 5.56341 7.65933 6.40139 7.24033ZM14.3536 7.64648C14.5488 7.84174 14.5488 8.15832 14.3535 8.35358C14.1583 8.54884 13.8417 8.54884 13.6464 8.35358C13.2961 8.00327 12.778 7.92005 12.3486 8.13475C11.9366 8.34076 11.5 8.88522 11.5 10C11.5 11.1148 11.9366 11.6593 12.3486 11.8653C12.778 12.08 13.2961 11.9968 13.6464 11.6465C13.8417 11.4512 14.1583 11.4512 14.3536 11.6465C14.5488 11.8417 14.5488 12.1583 14.3536 12.3536C13.7039 13.0033 12.722 13.17 11.9014 12.7597C11.0634 12.3407 10.5 11.3852 10.5 10C10.5 8.61489 11.0634 7.65933 11.9014 7.24033C12.722 6.83 13.7039 6.99677 14.3536 7.64648Z\"\n    }));\n  },\n  displayName: 'ClosedCaptionsIcon'\n});\n//# sourceMappingURL=ClosedCaptionsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CloseIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4.08859 4.21569L4.14645 4.14645C4.32001 3.97288 4.58944 3.9536 4.78431 4.08859L4.85355 4.14645L10 9.293L15.1464 4.14645C15.32 3.97288 15.5894 3.9536 15.7843 4.08859L15.8536 4.14645C16.0271 4.32001 16.0464 4.58944 15.9114 4.78431L15.8536 4.85355L10.707 10L15.8536 15.1464C16.0271 15.32 16.0464 15.5894 15.9114 15.7843L15.8536 15.8536C15.68 16.0271 15.4106 16.0464 15.2157 15.9114L15.1464 15.8536L10 10.707L4.85355 15.8536C4.67999 16.0271 4.41056 16.0464 4.21569 15.9114L4.14645 15.8536C3.97288 15.68 3.9536 15.4106 4.08859 15.2157L4.14645 15.1464L9.293 10L4.14645 4.85355C3.97288 4.67999 3.9536 4.41056 4.08859 4.21569L4.14645 4.14645L4.08859 4.21569Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3.89705 4.05379L3.96967 3.96967C4.23594 3.7034 4.6526 3.6792 4.94621 3.89705L5.03033 3.96967L10 8.939L14.9697 3.96967C15.2359 3.7034 15.6526 3.6792 15.9462 3.89705L16.0303 3.96967C16.2966 4.23594 16.3208 4.6526 16.1029 4.94621L16.0303 5.03033L11.061 10L16.0303 14.9697C16.2966 15.2359 16.3208 15.6526 16.1029 15.9462L16.0303 16.0303C15.7641 16.2966 15.3474 16.3208 15.0538 16.1029L14.9697 16.0303L10 11.061L5.03033 16.0303C4.76406 16.2966 4.3474 16.3208 4.05379 16.1029L3.96967 16.0303C3.7034 15.7641 3.6792 15.3474 3.89705 15.0538L3.96967 14.9697L8.939 10L3.96967 5.03033C3.7034 4.76406 3.6792 4.3474 3.89705 4.05379L3.96967 3.96967L3.89705 4.05379Z\"\n    }));\n  },\n  displayName: 'CloseIcon'\n});\n//# sourceMappingURL=CloseIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CodeSnippetIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.9667 3.6795C13.0658 3.42177 12.9372 3.13247 12.6795 3.03334C12.4218 2.93421 12.1325 3.06279 12.0333 3.32052L7.03334 16.3205C6.93421 16.5783 7.06279 16.8676 7.32052 16.9667C7.57826 17.0658 7.86756 16.9372 7.96669 16.6795L12.9667 3.6795Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.8254 6.12038C6.03506 6.30009 6.05934 6.61574 5.87963 6.8254L3.15854 10L5.87963 13.1746C6.05934 13.3843 6.03506 13.6999 5.8254 13.8796C5.61573 14.0593 5.30008 14.0351 5.12037 13.8254L2.12037 10.3254C1.95988 10.1382 1.95988 9.86186 2.12037 9.67461L5.12037 6.17461C5.30008 5.96495 5.61573 5.94067 5.8254 6.12038Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.1746 14.3796C13.9649 14.1999 13.9407 13.8843 14.1204 13.6746L16.8415 10.5L14.1204 7.32539C13.9407 7.11572 13.9649 6.80007 14.1746 6.62036C14.3843 6.44065 14.6999 6.46493 14.8796 6.6746L17.8796 10.1746C18.0401 10.3618 18.0401 10.6381 17.8796 10.8254L14.8796 14.3254C14.6999 14.535 14.3843 14.5593 14.1746 14.3796Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.9365 4.052C13.1033 3.67286 12.9312 3.23028 12.5521 3.06346C12.1729 2.89664 11.7303 3.06875 11.5635 3.44789L6.06352 15.9479C5.8967 16.327 6.06882 16.7696 6.44795 16.9364C6.82709 17.1033 7.26967 16.9311 7.43649 16.552L12.9365 4.052Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.2927 13.8444C13.9644 13.5919 13.903 13.121 14.1555 12.7927L16.3038 9.99996L14.1555 7.20725C13.903 6.87893 13.9644 6.40805 14.2927 6.15549C14.621 5.90294 15.0919 5.96436 15.3445 6.29268L17.8445 9.54268C18.0518 9.81227 18.0518 10.1877 17.8445 10.4572L15.3445 13.7072C15.0919 14.0356 14.621 14.097 14.2927 13.8444Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.70728 6.15557C6.0356 6.40812 6.09702 6.879 5.84447 7.20732L3.69622 10L5.84447 12.7928C6.09702 13.1211 6.0356 13.592 5.70728 13.8445C5.37897 14.0971 4.90808 14.0356 4.65553 13.7073L2.15553 10.4573C1.94816 10.1877 1.94816 9.81234 2.15553 9.54275L4.65553 6.29275C4.90808 5.96444 5.37897 5.90302 5.70728 6.15557Z\"\n    })));\n  },\n  displayName: 'CodeSnippetIcon'\n});\n//# sourceMappingURL=CodeSnippetIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CollapseIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      className: classes.svg,\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3.5 11H8.5C8.74546 11 8.94961 11.1769 8.99194 11.4101L9 11.5V16.5C9 16.7761 8.77614 17 8.5 17C8.25454 17 8.05039 16.8231 8.00806 16.5899L8 16.5V12.706L2.85355 17.8536C2.65829 18.0488 2.34171 18.0488 2.14645 17.8536C1.97288 17.68 1.9536 17.4106 2.08859 17.2157L2.14645 17.1464L7.292 12H3.5C3.25454 12 3.05039 11.8231 3.00806 11.5899L3 11.5C3 11.2545 3.17688 11.0504 3.41012 11.0081L3.5 11H8.5H3.5ZM17.8536 2.14645C18.0271 2.32001 18.0464 2.58944 17.9114 2.78431L17.8536 2.85355L12.706 8H16.5C16.7455 8 16.9496 8.17688 16.9919 8.41012L17 8.5C17 8.74546 16.8231 8.94961 16.5899 8.99194L16.5 9L11.4796 8.99959L11.4112 8.99213L11.309 8.96221L11.233 8.92281L11.1779 8.88242L11.1464 8.85355L11.109 8.81166L11.0667 8.74977L11.0376 8.69059L11.0166 8.62814L11.0111 8.60499C11.0038 8.5713 11 8.5361 11 8.5L11.0055 8.57392L11.0018 8.5428L11 3.5C11 3.22386 11.2239 3 11.5 3C11.7455 3 11.9496 3.17687 11.9919 3.41012L12 3.5V7.292L17.1464 2.14645C17.3417 1.95118 17.6583 1.95118 17.8536 2.14645Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3.75 11H8.25C8.6297 11 8.94349 11.2822 8.99315 11.6482L9 11.75V16.25C9 16.6642 8.66421 17 8.25 17C7.8703 17 7.55651 16.7178 7.50685 16.3518L7.5 16.25V13.56L3.03033 18.0303C2.73744 18.3232 2.26256 18.3232 1.96967 18.0303C1.7034 17.7641 1.6792 17.3474 1.89705 17.0538L1.96967 16.9697L6.438 12.5H3.75C3.3703 12.5 3.05651 12.2178 3.00685 11.8518L3 11.75C3 11.3703 3.28215 11.0565 3.64823 11.0068L3.75 11H8.25H3.75ZM18.0303 1.96967C18.2966 2.23594 18.3208 2.6526 18.1029 2.94621L18.0303 3.03033L13.06 8H16.25C16.6297 8 16.9435 8.28215 16.9932 8.64823L17 8.75C17 9.1297 16.7178 9.44349 16.3518 9.49315L16.25 9.5H11.25C10.8703 9.5 10.5565 9.21785 10.5068 8.85177L10.5 8.75V3.75C10.5 3.33579 10.8358 3 11.25 3C11.6297 3 11.9435 3.28215 11.9932 3.64823L12 3.75V6.938L16.9697 1.96967C17.2626 1.67678 17.7374 1.67678 18.0303 1.96967Z\"\n    }));\n  },\n  displayName: 'CollapseIcon'\n});\n//# sourceMappingURL=CollapseIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CompanionIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 3H16C16.5523 3 17 3.44772 17 4V11C17 11.5523 16.5523 12 16 12H9V13H12V15H9V16H14.5C14.7761 16 15 15.7761 15 15.5C15 15.2239 14.7761 15 14.5 15H13V13H16C17.1046 13 18 12.1046 18 11V4C18 2.89543 17.1046 2 16 2H6C4.89543 2 4 2.89543 4 4V7H5V4C5 3.44772 5.44772 3 6 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 15C4.22386 15 4 15.2239 4 15.5C4 15.7761 4.22386 16 4.5 16H5.5C5.77614 16 6 15.7761 6 15.5C6 15.2239 5.77614 15 5.5 15H4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 9.5C2 8.67157 2.67157 8 3.5 8H6.5C7.32843 8 8 8.67157 8 9.5V16.5C8 17.3284 7.32843 18 6.5 18H3.5C2.67157 18 2 17.3284 2 16.5V9.5ZM3.5 9C3.22386 9 3 9.22386 3 9.5V16.5C3 16.7761 3.22386 17 3.5 17H6.5C6.77614 17 7 16.7761 7 16.5V9.5C7 9.22386 6.77614 9 6.5 9H3.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 2C4.89543 2 4 2.89543 4 4V7H6.5C7.88071 7 9 8.11929 9 9.5V13H12V15H9V16H14.5C14.7761 16 15 15.7761 15 15.5C15 15.2239 14.7761 15 14.5 15H13V13H16C17.1046 13 18 12.1046 18 11V4C18 2.89543 17.1046 2 16 2H6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 8C2.67157 8 2 8.67157 2 9.5V16.5C2 17.3284 2.67157 18 3.5 18H6.5C7.32843 18 8 17.3284 8 16.5V9.5C8 8.67157 7.32843 8 6.5 8H3.5ZM4 15.5C4 15.2239 4.22386 15 4.5 15H5.5C5.77614 15 6 15.2239 6 15.5C6 15.7761 5.77614 16 5.5 16H4.5C4.22386 16 4 15.7761 4 15.5Z\"\n    })));\n  },\n  displayName: 'CompanionIcon'\n});\n//# sourceMappingURL=CompanionIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ComposeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.8536 2.85358C18.0488 2.65832 18.0488 2.34174 17.8536 2.14648C17.6583 1.95121 17.3417 1.95122 17.1465 2.14648L9.14648 10.1465L9 11L9.85359 10.8536L17.8536 2.85358Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 3C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H14.5C15.8807 17 17 15.8807 17 14.5V8.5C17 8.22386 16.7761 8 16.5 8C16.2239 8 16 8.22386 16 8.5V14.5C16 15.3284 15.3284 16 14.5 16H5.5C4.67157 16 4 15.3284 4 14.5V5.5C4 4.67157 4.67157 4 5.5 4H11.5046C11.7807 4 12.0046 3.77614 12.0046 3.5C12.0046 3.22386 11.7807 3 11.5046 3H5.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.7805 3.28016C18.0733 2.98718 18.0732 2.5123 17.7802 2.2195C17.4872 1.9267 17.0124 1.92685 16.7196 2.21984L9.21956 9.72459L9 11L10.2806 10.7849L17.7805 3.28016Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.75 3C4.23122 3 3 4.23122 3 5.75V14.25C3 15.7688 4.23122 17 5.75 17H14.25C15.7688 17 17 15.7688 17 14.25V8.74755C17 8.33333 16.6642 7.99755 16.25 7.99755C15.8358 7.99755 15.5 8.33333 15.5 8.74755V14.25C15.5 14.9404 14.9404 15.5 14.25 15.5H5.75C5.05964 15.5 4.5 14.9404 4.5 14.25V5.75C4.5 5.05964 5.05964 4.5 5.75 4.5H11.2408C11.655 4.5 11.9908 4.16421 11.9908 3.75C11.9908 3.33579 11.655 3 11.2408 3H5.75Z\"\n    })));\n  },\n  displayName: 'ComposeIcon'\n});\n//# sourceMappingURL=ComposeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ComputerAudioIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 2C2.89543 2 2 2.89543 2 4V13C2 14.1046 2.89543 15 4 15H7V17H5.5C5.22386 17 5 17.2239 5 17.5C5 17.7761 5.22386 18 5.5 18H11.8786L10.8787 17.0001H10.5L10.485 17H8V15H9V14H4C3.44772 14 3 13.5523 3 13V4C3 3.44772 3.44772 3 4 3H16C16.5523 3 17 3.44772 17 4V10.0207C17.3425 9.96316 17.6975 10.0262 18 10.2006V4C18 2.89543 17.1046 2 16 2H4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.6913 11.0381C13.8782 11.1155 14 11.2978 14 11.5V17.5C14 17.7022 13.8782 17.8846 13.6913 17.962C13.5045 18.0393 13.2894 17.9966 13.1464 17.8536L11.2929 16H10.5C10.2239 16 10 15.7762 10 15.5V13.5C10 13.2239 10.2239 13 10.5 13H11.2929L13.1464 11.1465C13.2894 11.0035 13.5045 10.9607 13.6913 11.0381Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.65 11.2C17.7712 11.3617 17.9351 11.6531 18.0932 12.0745C18.3482 12.7547 18.5 13.564 18.5 14.5C18.5 15.436 18.3482 16.2454 18.0932 16.9256C17.9351 17.347 17.7712 17.6384 17.65 17.8C17.4843 18.0209 17.1709 18.0657 16.95 17.9C16.7536 17.7528 16.6964 17.4888 16.8025 17.2768L16.9182 17.0948C16.9838 16.9827 17.0688 16.8092 17.1568 16.5745C17.3705 16.0047 17.5 15.314 17.5 14.5C17.5 13.686 17.3705 12.9954 17.1568 12.4256C17.0688 12.1909 16.9838 12.0174 16.9182 11.9052L16.85 11.8C16.6843 11.5791 16.7291 11.2657 16.95 11.1C17.1709 10.9343 17.4843 10.9791 17.65 11.2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.2243 12.9669C16.1224 12.661 16.0196 12.4211 15.9472 12.2764C15.8237 12.0294 15.5234 11.9293 15.2764 12.0528C15.0294 12.1763 14.9293 12.4766 15.0528 12.7236C15.1054 12.8289 15.1901 13.0266 15.2756 13.2831C15.4163 13.7051 15.5 14.1236 15.5 14.5C15.5 14.8765 15.4163 15.295 15.2756 15.7169C15.2243 15.8709 15.1733 16.0036 15.1293 16.1079L15.0528 16.2764C14.9293 16.5234 15.0294 16.8237 15.2764 16.9472C15.5234 17.0707 15.8237 16.9706 15.9472 16.7236C16.0196 16.5789 16.1224 16.3391 16.2243 16.0331C16.3962 15.5176 16.5 14.9986 16.5 14.5C16.5 14.0015 16.3962 13.4825 16.2243 12.9669Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 2C2.67157 2 2 2.67157 2 3.5V13.5C2 14.3284 2.67157 15 3.5 15H7V17H5.5C5.22386 17 5 17.2239 5 17.5C5 17.7761 5.22386 18 5.5 18H11.8786L10.8787 17.0001H10.5L10.485 17H8V15H9V13.5001C9 12.6716 9.67157 12.0001 10.5 12.0001H10.8787L12.4393 10.4394C12.8683 10.0104 13.5135 9.88208 14.074 10.1143C14.5094 10.2946 14.8271 10.6649 14.9473 11.1055C15.2342 10.9915 15.5389 10.9723 15.8237 11.0354C15.9158 10.7517 16.0932 10.4926 16.35 10.3001C16.8453 9.92862 17.4956 9.90978 18 10.2006V3.5C18 2.67157 17.3284 2 16.5 2H3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.6913 11.0381C13.8782 11.1155 14 11.2978 14 11.5V17.5C14 17.7022 13.8782 17.8846 13.6913 17.962C13.5045 18.0393 13.2894 17.9966 13.1464 17.8536L11.2929 16H10.5C10.2239 16 10 15.7762 10 15.5V13.5C10 13.2239 10.2239 13 10.5 13H11.2929L13.1464 11.1465C13.2894 11.0035 13.5045 10.9607 13.6913 11.0381Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.65 11.2C17.7712 11.3617 17.9351 11.6531 18.0932 12.0745C18.3482 12.7547 18.5 13.564 18.5 14.5C18.5 15.436 18.3482 16.2454 18.0932 16.9256C17.9351 17.347 17.7712 17.6384 17.65 17.8C17.4843 18.0209 17.1709 18.0657 16.95 17.9C16.7536 17.7528 16.6964 17.4888 16.8025 17.2768L16.9182 17.0948C16.9838 16.9827 17.0688 16.8092 17.1568 16.5745C17.3705 16.0047 17.5 15.314 17.5 14.5C17.5 13.686 17.3705 12.9954 17.1568 12.4256C17.0688 12.1909 16.9838 12.0174 16.9182 11.9052L16.85 11.8C16.6843 11.5791 16.7291 11.2657 16.95 11.1C17.1709 10.9343 17.4843 10.9791 17.65 11.2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.2243 12.9669C16.1224 12.661 16.0196 12.4211 15.9472 12.2764C15.8237 12.0294 15.5234 11.9293 15.2764 12.0528C15.0294 12.1763 14.9293 12.4766 15.0528 12.7236C15.1054 12.8289 15.1901 13.0266 15.2756 13.2831C15.4163 13.7051 15.5 14.1236 15.5 14.5C15.5 14.8765 15.4163 15.295 15.2756 15.7169C15.2243 15.8709 15.1733 16.0036 15.1293 16.1079L15.0528 16.2764C14.9293 16.5234 15.0294 16.8237 15.2764 16.9472C15.5234 17.0707 15.8237 16.9706 15.9472 16.7236C16.0196 16.5789 16.1224 16.3391 16.2243 16.0331C16.3962 15.5176 16.5 14.9986 16.5 14.5C16.5 14.0015 16.3962 13.4825 16.2243 12.9669Z\"\n    })));\n  },\n  displayName: 'ComputerAudioIcon'\n});\n//# sourceMappingURL=ComputerAudioIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ComputerAudioOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.1464C2.65829 1.95114 2.34171 1.95114 2.14645 2.1464C1.95118 2.34166 1.95118 2.65825 2.14645 2.85351L17.1464 17.8535C17.3417 18.0488 17.6583 18.0488 17.8536 17.8535C18.0488 17.6582 18.0488 17.3417 17.8536 17.1464L2.85355 2.1464Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 4C2 3.62909 2.10097 3.28177 2.27692 2.98401L3.03388 3.74097C3.01178 3.82358 3 3.91042 3 4V13C3 13.5523 3.44772 14 4 14H9V15H8V17H10.485L10.5 17.0001H10.8787L11.8786 18H5.5C5.22386 18 5 17.7761 5 17.5C5 17.2239 5.22386 17 5.5 17H7V15H4C2.89543 15 2 14.1046 2 13V4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.2929 13L11.7929 12.5L14 14.7071V17.5C14 17.7022 13.8782 17.8846 13.6913 17.962C13.5045 18.0393 13.2894 17.9966 13.1464 17.8536L11.2929 16H10.5C10.2239 16 10 15.7762 10 15.5V13.5C10 13.2239 10.2239 13 10.5 13H11.2929Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 16.4886V16.5107C14.9999 16.5047 14.9998 16.4988 14.9999 16.4928L15 16.4886Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.5 14.5C18.5 15.1202 18.4334 15.6847 18.3142 16.1929L17.4518 15.3305C17.4832 15.0696 17.5 14.7928 17.5 14.5C17.5 13.686 17.3705 12.9954 17.1568 12.4256C17.0688 12.1909 16.9838 12.0174 16.9182 11.9052L16.85 11.8C16.6843 11.5791 16.7291 11.2657 16.95 11.1C17.1709 10.9343 17.4843 10.9791 17.65 11.2C17.7712 11.3617 17.9351 11.6531 18.0932 12.0745C18.3482 12.7547 18.5 13.564 18.5 14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.2243 12.9669C16.382 13.4401 16.4824 13.9161 16.4979 14.3766L15.2054 13.084C15.1456 12.9241 15.0908 12.7997 15.0528 12.7236C14.9293 12.4766 15.0294 12.1763 15.2764 12.0528C15.5234 11.9293 15.8237 12.0294 15.9472 12.2764C16.0196 12.4211 16.1224 12.661 16.2243 12.9669Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 3H5.12134L4.12134 2H16C17.1046 2 18 2.89543 18 4V10.2006C17.6975 10.0262 17.3425 9.96316 17 10.0207V4C17 3.44772 16.5523 3 16 3Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.14619 2.85329C1.95118 2.65801 1.95127 2.34162 2.14645 2.14645C2.34162 1.95127 2.65801 1.95118 2.85329 2.14619C2.85329 2.14619 2.8533 2.14618 2.85329 2.14619L17.8536 17.1464C17.8927 17.1856 17.924 17.2297 17.9475 17.2766C17.9475 17.2766 17.9475 17.2766 17.9475 17.2766C18.041 17.4638 18.0096 17.6975 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L14 14.7071V17.5C14 17.7022 13.8782 17.8846 13.6913 17.962C13.5045 18.0393 13.2894 17.9966 13.1464 17.8536L11.2929 16H10.5C10.2239 16 10 15.7762 10 15.5V13.5C10 13.2239 10.2239 13 10.5 13H11.2929L11.7929 12.5L11.0858 11.7929L10.8787 12.0001H10.5C9.67157 12.0001 9 12.6716 9 13.5001V15H8V17H10.485L10.5 17.0001H10.8787L11.8786 18H5.5C5.22386 18 5 17.7761 5 17.5C5 17.2239 5.22386 17 5.5 17H7V15H3.5C2.67157 15 2 14.3284 2 13.5V3.5C2 3.26843 2.05248 3.04911 2.14619 2.85329Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.5 14.5C18.5 15.1202 18.4334 15.6847 18.3142 16.1929L17.4518 15.3305C17.4832 15.0696 17.5 14.7928 17.5 14.5C17.5 13.686 17.3705 12.9954 17.1568 12.4256C17.0688 12.1909 16.9838 12.0174 16.9182 11.9052L16.85 11.8C16.6843 11.5791 16.7291 11.2657 16.95 11.1C17.1709 10.9343 17.4843 10.9791 17.65 11.2C17.7712 11.3617 17.9351 11.6531 18.0932 12.0745C18.3482 12.7547 18.5 13.564 18.5 14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.2243 12.9669C16.382 13.4401 16.4824 13.9161 16.4979 14.3766L15.2054 13.084C15.1456 12.9241 15.0908 12.7997 15.0528 12.7236C14.9293 12.4766 15.0294 12.1763 15.2764 12.0528C15.5234 11.9293 15.8237 12.0294 15.9472 12.2764C16.0196 12.4211 16.1224 12.661 16.2243 12.9669Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.074 10.1143C13.5401 9.89309 12.9293 9.99906 12.5018 10.3804L4.12134 2H16.5C17.3284 2 18 2.67157 18 3.5V10.2006C17.4956 9.90978 16.8453 9.92862 16.35 10.3001C16.0932 10.4926 15.9158 10.7517 15.8237 11.0354C15.5389 10.9723 15.2342 10.9915 14.9473 11.1055C14.8271 10.6649 14.5094 10.2946 14.074 10.1143Z\"\n    })));\n  },\n  displayName: 'ComputerAudioOffIcon'\n});\n//# sourceMappingURL=ComputerAudioOffIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { iconClassNames } from '../utils/iconClassNames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ConferenceRoomDeviceIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.09636 3C4.92911 3 3.91721 3.80773 3.65852 4.94595L2.06762 11.9459C1.71207 13.5104 2.90115 15 4.50545 15H15.4944C17.0987 15 18.2877 13.5104 17.9322 11.9459L16.3413 4.94595C16.0826 3.80773 15.0707 3 13.9034 3H6.09636ZM4.63366 5.16757C4.78887 4.48464 5.39601 4 6.09636 4H13.9034C14.6038 4 15.2109 4.48464 15.3661 5.16757L16.9571 12.1676C17.1704 13.1062 16.4569 14 15.4944 14H4.50545C3.54287 14 2.82942 13.1062 3.04275 12.1676L4.63366 5.16757Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 16C5.22386 16 5 16.2239 5 16.5C5 16.7761 5.22386 17 5.5 17H14.5C14.7761 17 15 16.7761 15 16.5C15 16.2239 14.7761 16 14.5 16H5.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.65852 4.94595C3.91721 3.80773 4.92911 3 6.09636 3H13.9034C15.0707 3 16.0826 3.80773 16.3413 4.94595L17.9322 11.9459C18.2877 13.5104 17.0987 15 15.4944 15H4.50545C2.90115 15 1.71207 13.5104 2.06762 11.9459L3.65852 4.94595Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 16C5.22386 16 5 16.2239 5 16.5C5 16.7761 5.22386 17 5.5 17H14.5C14.7761 17 15 16.7761 15 16.5C15 16.2239 14.7761 16 14.5 16H5.5Z\"\n    })));\n  },\n  displayName: 'ConferenceRoomDeviceIcon'\n});\n//# sourceMappingURL=ConferenceRoomDeviceIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ContactCardIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M8 8.5C8 9.32843 7.32843 10 6.5 10C5.67157 10 5 9.32843 5 8.5C5 7.67157 5.67157 7 6.5 7C7.32843 7 8 7.67157 8 8.5ZM4 11.6988C4 11.1748 4.42479 10.75 4.94879 10.75H8.05121C8.57521 10.75 9 11.1748 9 11.6988C9 12.546 8.42338 13.2845 7.60144 13.49L7.54243 13.5048C6.85801 13.6759 6.14199 13.6759 5.45757 13.5048L5.39856 13.49C4.57661 13.2845 4 12.546 4 11.6988ZM11.5 8C11.2239 8 11 8.22386 11 8.5C11 8.77614 11.2239 9 11.5 9H14.5C14.7761 9 15 8.77614 15 8.5C15 8.22386 14.7761 8 14.5 8H11.5ZM11.5 11C11.2239 11 11 11.2239 11 11.5C11 11.7761 11.2239 12 11.5 12H14.5C14.7761 12 15 11.7761 15 11.5C15 11.2239 14.7761 11 14.5 11H11.5ZM2 5.75C2 4.7835 2.7835 4 3.75 4H16.25C17.2165 4 18 4.7835 18 5.75V14.25C18 15.2165 17.2165 16 16.25 16H3.75C2.7835 16 2 15.2165 2 14.25V5.75ZM3.75 5C3.33579 5 3 5.33579 3 5.75V14.25C3 14.6642 3.33579 15 3.75 15H16.25C16.6642 15 17 14.6642 17 14.25V5.75C17 5.33579 16.6642 5 16.25 5H3.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3.5 4C2.67157 4 2 4.67157 2 5.5V14.5C2 15.3284 2.67157 16 3.5 16H16.5C17.3284 16 18 15.3284 18 14.5V5.5C18 4.67157 17.3284 4 16.5 4H3.5ZM6.5 10C5.67157 10 5 9.32843 5 8.5C5 7.67157 5.67157 7 6.5 7C7.32843 7 8 7.67157 8 8.5C8 9.32843 7.32843 10 6.5 10ZM4.94879 10.75H8.05121C8.57521 10.75 9 11.1748 9 11.6988C9 12.546 8.42339 13.2845 7.60144 13.49L7.54243 13.5048C6.85801 13.6759 6.14199 13.6759 5.45757 13.5048L5.39856 13.49C4.57661 13.2845 4 12.546 4 11.6988C4 11.1748 4.42479 10.75 4.94879 10.75ZM11 8.5C11 8.22386 11.2239 8 11.5 8H14.5C14.7761 8 15 8.22386 15 8.5C15 8.77614 14.7761 9 14.5 9H11.5C11.2239 9 11 8.77614 11 8.5ZM11.5 11H14.5C14.7761 11 15 11.2239 15 11.5C15 11.7761 14.7761 12 14.5 12H11.5C11.2239 12 11 11.7761 11 11.5C11 11.2239 11.2239 11 11.5 11Z\"\n    }));\n  },\n  displayName: 'ContactCardIcon'\n});\n//# sourceMappingURL=ContactCardIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ContactGroupCallIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 10C12.1046 10 13 10.8954 13 12V13.5C13 15.5544 10.912 17 7.5 17C4.08805 17 2 15.5544 2 13.5V12C2 10.8954 2.89543 10 4 10H11ZM4 11C3.44772 11 3 11.4477 3 12V13.5C3 14.9071 4.57862 16 7.5 16C10.4214 16 12 14.9071 12 13.5V12C12 11.4477 11.5523 11 11 11H4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.1615 14.8399L15.0865 14.8148C15.1314 14.8027 15.1754 14.79 15.2186 14.7767C15.1998 14.7981 15.1808 14.8192 15.1615 14.8399Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.9039 10.8982L14.867 10.9995L13.829 10.9991C13.6971 10.6265 13.4937 10.2876 13.2353 9.99912L15.2849 9.99977L14.9039 10.8982Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.5 2C9.433 2 11 3.567 11 5.5C11 7.433 9.433 9 7.5 9C5.567 9 4 7.433 4 5.5C4 3.567 5.567 2 7.5 2ZM7.5 3C6.11929 3 5 4.11929 5 5.5C5 6.88071 6.11929 8 7.5 8C8.88071 8 10 6.88071 10 5.5C10 4.11929 8.88071 3 7.5 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 4C15.8807 4 17 5.11929 17 6.5C17 7.88071 15.8807 9 14.5 9C13.1193 9 12 7.88071 12 6.5C12 5.11929 13.1193 4 14.5 4ZM14.5 5C13.6716 5 13 5.67157 13 6.5C13 7.32843 13.6716 8 14.5 8C15.3284 8 16 7.32843 16 6.5C16 5.67157 15.3284 5 14.5 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8345 11.2649L16.2337 10.3236C16.4209 9.88219 16.8693 9.64207 17.3091 9.73369L17.4031 9.75845L17.9029 9.91817C18.3986 10.0765 18.7781 10.5011 18.9007 11.0343C19.192 12.3013 18.8425 13.8439 17.8522 15.6622C16.8634 17.4777 15.7796 18.5694 14.6009 18.9371C14.1432 19.0798 13.6515 18.9761 13.2816 18.6656L13.1839 18.5758L12.8043 18.1947C12.4753 17.8644 12.4075 17.3419 12.6281 16.9331L12.6842 16.8409L13.2563 16.0003C13.4815 15.6695 13.8666 15.513 14.2377 15.5921L14.3384 15.6195L15.3947 15.9718C15.8162 15.6528 16.1677 15.2513 16.4491 14.7673C16.6904 14.3524 16.8481 13.9319 16.9225 13.5057L16.9527 13.2922L16.0732 12.4574C15.7835 12.1824 15.6782 11.7542 15.7967 11.3688L15.8345 11.2649Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 10C12.1046 10 13 10.8954 13 12V13.5C13 15.5544 10.912 17 7.5 17C4.08805 17 2 15.5544 2 13.5V12C2 10.8954 2.89543 10 4 10H11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.4461 14.614C14.2463 14.5715 14.0464 14.5617 13.8519 14.5815C13.9287 14.3135 13.9765 14.0322 13.9932 13.7387L14 13.5V12C14 11.3081 13.7658 10.6709 13.3723 10.1634L13.2353 9.99912L15.2849 9.99977L14.9039 10.8982L14.8484 11.0504L14.8409 11.075C14.6155 11.8081 14.8083 12.6356 15.3848 13.1827L15.8641 13.6376C15.8014 13.8408 15.7098 14.0495 15.5847 14.2646C15.4588 14.4811 15.3177 14.6721 15.1615 14.8399L14.6283 14.6621L14.4736 14.6199L14.4461 14.614Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.5 2C9.433 2 11 3.567 11 5.5C11 7.433 9.433 9 7.5 9C5.567 9 4 7.433 4 5.5C4 3.567 5.567 2 7.5 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 4C15.8807 4 17 5.11929 17 6.5C17 7.88071 15.8807 9 14.5 9C13.1193 9 12 7.88071 12 6.5C12 5.11929 13.1193 4 14.5 4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8345 11.2649L16.2337 10.3236C16.4209 9.88219 16.8693 9.64207 17.3091 9.73369L17.4031 9.75845L17.9029 9.91817C18.3986 10.0765 18.7781 10.5011 18.9007 11.0343C19.192 12.3013 18.8425 13.8439 17.8522 15.6622C16.8634 17.4777 15.7796 18.5694 14.6009 18.9371C14.1432 19.0798 13.6515 18.9761 13.2816 18.6656L13.1839 18.5758L12.8043 18.1947C12.4753 17.8644 12.4075 17.3419 12.6281 16.9331L12.6842 16.8409L13.2563 16.0003C13.4815 15.6695 13.8666 15.513 14.2377 15.5921L14.3384 15.6195L15.3947 15.9718C15.8162 15.6528 16.1677 15.2513 16.4491 14.7673C16.6904 14.3524 16.8481 13.9319 16.9225 13.5057L16.9527 13.2922L16.0732 12.4574C15.7835 12.1824 15.6782 11.7542 15.7967 11.3688L15.8345 11.2649Z\"\n    })));\n  },\n  displayName: 'ContactGroupCallIcon'\n});\n//# sourceMappingURL=ContactGroupCallIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ContactGroupIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M12.4735 8.01419C12.9863 8.01419 13.409 8.40023 13.4668 8.89757L13.4735 9.01419V13.3816C13.4735 15.3059 11.9135 16.8658 9.98922 16.8658C8.12905 16.8658 6.60934 15.4081 6.51009 13.5727L6.50494 13.3816V9.01419C6.50494 8.50135 6.89098 8.07868 7.38832 8.02092L7.50494 8.01419H12.4735ZM12.4735 9.01419H7.50494V13.3816C7.50494 14.7536 8.61719 15.8658 9.98922 15.8658C11.3064 15.8658 12.3841 14.8408 12.4682 13.5449L12.4735 13.3816V9.01419ZM5.77285 8.01359C5.63086 8.25885 5.53947 8.53706 5.51295 8.83394L5.50494 9.01419H3.01562V12.7533C3.01562 13.7785 3.84671 14.6096 4.8719 14.6096C5.14311 14.6096 5.40074 14.5514 5.63299 14.4469C5.71225 14.7755 5.82882 15.0906 5.97728 15.387C5.63765 15.5306 5.264 15.6096 4.8719 15.6096C3.35076 15.6096 2.10735 14.4205 2.02047 12.9211L2.01562 12.7533V9.01419C2.01562 8.50135 2.40167 8.07868 2.899 8.02092L3.01562 8.01419L5.77285 8.01359ZM14.2056 8.01359L16.99 8.01419C17.5028 8.01419 17.9255 8.40023 17.9832 8.89757L17.99 9.01419V12.7541C17.99 14.3311 16.7115 15.6096 15.1345 15.6096C14.7336 15.6096 14.3519 15.527 14.0057 15.3778C14.1539 15.0801 14.2697 14.7647 14.3491 14.435C14.5875 14.5472 14.8537 14.6096 15.1345 14.6096C16.1104 14.6096 16.9104 13.8561 16.9844 12.8991L16.99 12.7541V9.01419H14.4735L14.468 8.86493C14.4453 8.55642 14.3525 8.26737 14.2056 8.01359ZM9.98735 2.98914C11.2175 2.98914 12.2147 3.98636 12.2147 5.2165C12.2147 6.44664 11.2175 7.44386 9.98735 7.44386C8.75721 7.44386 7.75999 6.44664 7.75999 5.2165C7.75999 3.98636 8.75721 2.98914 9.98735 2.98914ZM14.9745 3.61727C16.0312 3.61727 16.8878 4.47388 16.8878 5.53056C16.8878 6.58725 16.0312 7.44386 14.9745 7.44386C13.9178 7.44386 13.0612 6.58725 13.0612 5.53056C13.0612 4.47388 13.9178 3.61727 14.9745 3.61727ZM5.01595 3.61727C6.07264 3.61727 6.92925 4.47388 6.92925 5.53056C6.92925 6.58725 6.07264 7.44386 5.01595 7.44386C3.95927 7.44386 3.10266 6.58725 3.10266 5.53056C3.10266 4.47388 3.95927 3.61727 5.01595 3.61727ZM9.98735 3.98914C9.3095 3.98914 8.75999 4.53864 8.75999 5.2165C8.75999 5.89435 9.3095 6.44386 9.98735 6.44386C10.6652 6.44386 11.2147 5.89435 11.2147 5.2165C11.2147 4.53864 10.6652 3.98914 9.98735 3.98914ZM14.9745 4.61727C14.4701 4.61727 14.0612 5.02616 14.0612 5.53056C14.0612 6.03496 14.4701 6.44386 14.9745 6.44386C15.4789 6.44386 15.8878 6.03496 15.8878 5.53056C15.8878 5.02616 15.4789 4.61727 14.9745 4.61727ZM5.01595 4.61727C4.51155 4.61727 4.10266 5.02616 4.10266 5.53056C4.10266 6.03496 4.51155 6.44386 5.01595 6.44386C5.52035 6.44386 5.92925 6.03496 5.92925 5.53056C5.92925 5.02616 5.52035 4.61727 5.01595 4.61727Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M12.4735 8.01419C12.9863 8.01419 13.409 8.40023 13.4668 8.89757L13.4735 9.01419V13.3816C13.4735 15.3059 11.9135 16.8658 9.98922 16.8658C8.12905 16.8658 6.60934 15.4081 6.51009 13.5727L6.50494 13.3816V9.01419C6.50494 8.50135 6.89098 8.07868 7.38832 8.02092L7.50494 8.01419H12.4735ZM5.77285 8.01359C5.63086 8.25885 5.53947 8.53706 5.51295 8.83394L5.50494 9.01419V13.3816L5.50982 13.5926C5.5396 14.2354 5.7047 14.8428 5.97728 15.387C5.63765 15.5306 5.264 15.6096 4.8719 15.6096C3.35076 15.6096 2.10735 14.4205 2.02047 12.9211L2.01562 12.7533V9.01419C2.01562 8.50135 2.40167 8.07868 2.899 8.02092L3.01562 8.01419L5.77285 8.01359ZM14.2056 8.01359L16.99 8.01419C17.5028 8.01419 17.9255 8.40023 17.9832 8.89757L17.99 9.01419V12.7541C17.99 14.3311 16.7115 15.6096 15.1345 15.6096C14.7336 15.6096 14.3519 15.527 14.0057 15.3778C14.2679 14.8512 14.4294 14.2666 14.4657 13.6485L14.4735 13.3816V9.01419L14.468 8.86493C14.4453 8.55642 14.3525 8.26737 14.2056 8.01359ZM9.98735 2.98914C11.2175 2.98914 12.2147 3.98636 12.2147 5.2165C12.2147 6.44664 11.2175 7.44386 9.98735 7.44386C8.75721 7.44386 7.75999 6.44664 7.75999 5.2165C7.75999 3.98636 8.75721 2.98914 9.98735 2.98914ZM14.9745 3.61727C16.0312 3.61727 16.8878 4.47388 16.8878 5.53056C16.8878 6.58725 16.0312 7.44386 14.9745 7.44386C13.9178 7.44386 13.0612 6.58725 13.0612 5.53056C13.0612 4.47388 13.9178 3.61727 14.9745 3.61727ZM5.01595 3.61727C6.07264 3.61727 6.92925 4.47388 6.92925 5.53056C6.92925 6.58725 6.07264 7.44386 5.01595 7.44386C3.95927 7.44386 3.10266 6.58725 3.10266 5.53056C3.10266 4.47388 3.95927 3.61727 5.01595 3.61727Z\"\n    }));\n  },\n  displayName: 'ContactGroupIcon'\n});\n//# sourceMappingURL=ContactGroupIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ContentIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 7C5 6.44772 5.44772 6 6 6H14C14.5523 6 15 6.44771 15 7V9C15 9.55228 14.5523 10 14 10H6C5.44772 10 5 9.55229 5 9V7ZM14 7H6V9H14V7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 11C11.4477 11 11 11.4477 11 12V13C11 13.5523 11.4477 14 12 14H14C14.5523 14 15 13.5523 15 13V12C15 11.4477 14.5523 11 14 11H12ZM12 12H14V13H12V12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 11.5C5 11.2239 5.22386 11 5.5 11H9.5C9.77614 11 10 11.2239 10 11.5C10 11.7761 9.77614 12 9.5 12H5.5C5.22386 12 5 11.7761 5 11.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 13C5.22386 13 5 13.2239 5 13.5C5 13.7761 5.22386 14 5.5 14H9.5C9.77614 14 10 13.7761 10 13.5C10 13.2239 9.77614 13 9.5 13H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34315 17 3 15.6569 3 14V6ZM6 4C4.89543 4 4 4.89543 4 6V14C4 15.1046 4.89543 16 6 16H14C15.1046 16 16 15.1046 16 14V6C16 4.89543 15.1046 4 14 4H6Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 7H6V9H14V7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 12H14V13H12V12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 3C4.34315 3 3 4.34315 3 6V14C3 15.6569 4.34315 17 6 17H14C15.6569 17 17 15.6569 17 14V6C17 4.34315 15.6569 3 14 3H6ZM5 7C5 6.44772 5.44772 6 6 6H14C14.5523 6 15 6.44772 15 7V9C15 9.55228 14.5523 10 14 10H6C5.44772 10 5 9.55229 5 9V7ZM12 11H14C14.5523 11 15 11.4477 15 12V13C15 13.5523 14.5523 14 14 14H12C11.4477 14 11 13.5523 11 13V12C11 11.4477 11.4477 11 12 11ZM5 11.5C5 11.2239 5.22386 11 5.5 11H9.5C9.77614 11 10 11.2239 10 11.5C10 11.7761 9.77614 12 9.5 12H5.5C5.22386 12 5 11.7761 5 11.5ZM5.5 13H9.5C9.77614 13 10 13.2239 10 13.5C10 13.7761 9.77614 14 9.5 14H5.5C5.22386 14 5 13.7761 5 13.5C5 13.2239 5.22386 13 5.5 13Z\"\n    })));\n  },\n  displayName: 'ContentIcon'\n});\n//# sourceMappingURL=ContentIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var CustomerHubIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8 13.9291C7.6734 13.9758 7.33952 14 7 14V16C7 17.1046 7.89543 18 9 18H16C17.1046 18 18 17.1046 18 16V11C18 9.89543 17.1046 9 16 9H13.7101C13.6074 9.34525 13.4787 9.67933 13.3264 10H16C16.5523 10 17 10.4477 17 11V11.6909L12.5 13.9409L10.6124 12.9971C10.2542 13.2133 9.87513 13.3983 9.47887 13.5484L12.2764 14.9472C12.4171 15.0175 12.5828 15.0175 12.7236 14.9472L17 12.809V16C17 16.5523 16.5523 17 16 17H9C8.44772 17 8 16.5523 8 16V13.9291Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 6C5 5.72386 5.22386 5.5 5.5 5.5H8.5C8.77614 5.5 9 5.72386 9 6C9 6.27614 8.77614 6.5 8.5 6.5H5.5C5.22386 6.5 5 6.27614 5 6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 7.5C5.22386 7.5 5 7.72386 5 8C5 8.27614 5.22386 8.5 5.5 8.5H7.5C7.77614 8.5 8 8.27614 8 8C8 7.72386 7.77614 7.5 7.5 7.5H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M1.00001 7C1.00001 3.68629 3.68631 1 7.00001 1C10.3137 1 13 3.68629 13 7C13 10.3137 10.3137 13 7.00001 13C5.90639 13 4.87989 12.707 3.99618 12.195L1.65813 12.9743C1.48217 13.033 1.2882 12.9894 1.15422 12.8612C1.02025 12.7329 0.968297 12.541 1.01925 12.3626L1.73086 9.87202C1.2648 9.01862 1.00001 8.03957 1.00001 7ZM7.00001 2C4.23859 2 2.00001 4.23858 2.00001 7C2.00001 7.93308 2.25513 8.80506 2.69913 9.55165C2.76952 9.67002 2.78797 9.81217 2.75014 9.94458L2.24119 11.7259L3.89938 11.1732C4.04199 11.1256 4.19843 11.1448 4.32536 11.2253C5.09854 11.7159 6.01533 12 7.00001 12C9.76144 12 12 9.76142 12 7C12 4.23858 9.76144 2 7.00001 2Z\"\n    }));\n  },\n  displayName: 'CustomerHubIcon'\n});\n//# sourceMappingURL=CustomerHubIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var DoorArrowLeftIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 2.5C5.17157 2.5 4.5 3.17157 4.5 4V16C4.5 16.8284 5.17157 17.5 6 17.5H9.88947C9.32692 16.6372 9 15.6068 9 14.5C9 11.4624 11.4624 9 14.5 9C14.8415 9 15.1757 9.03112 15.5 9.09069V4C15.5 3.17157 14.8284 2.5 14 2.5H6ZM8 10C8 10.5523 7.55228 11 7 11C6.44772 11 6 10.5523 6 10C6 9.44772 6.44772 9 7 9C7.55228 9 8 9.44772 8 10ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM12.1468 14.146L12.1443 14.1486C12.0974 14.196 12.062 14.2505 12.0379 14.3086C12.0139 14.3667 12.0004 14.4303 12 14.497L12 14.5L12 14.503C12.0004 14.5697 12.0139 14.6333 12.0379 14.6914C12.0623 14.7504 12.0985 14.8056 12.1464 14.8536L14.1464 16.8536C14.3417 17.0488 14.6583 17.0488 14.8536 16.8536C15.0488 16.6583 15.0488 16.3417 14.8536 16.1464L13.7071 15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H13.7071L14.8536 12.8536C15.0488 12.6583 15.0488 12.3417 14.8536 12.1464C14.6583 11.9512 14.3417 11.9512 14.1464 12.1464L12.1468 14.146Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 2C4.89543 2 4 2.89543 4 4V16C4 17.1046 4.89543 18 6 18H10.2572C10.0035 17.6929 9.78261 17.3578 9.59971 17H6C5.44772 17 5 16.5523 5 16V4C5 3.44772 5.44772 3 6 3H14C14.5523 3 15 3.44772 15 4V9.02242C15.3434 9.05337 15.6777 9.11588 16 9.20703V4C16 2.89543 15.1046 2 14 2H6ZM8 10C8 10.5523 7.55228 11 7 11C6.44772 11 6 10.5523 6 10C6 9.44771 6.44772 9 7 9C7.55228 9 8 9.44771 8 10ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM12.1468 14.146L12.1443 14.1486C12.0974 14.196 12.062 14.2505 12.0379 14.3086C12.0139 14.3667 12.0004 14.4303 12 14.497L12 14.5L12 14.503C12.0004 14.5697 12.0139 14.6333 12.0379 14.6914C12.0623 14.7504 12.0985 14.8056 12.1464 14.8536L14.1464 16.8536C14.3417 17.0488 14.6583 17.0488 14.8536 16.8536C15.0488 16.6583 15.0488 16.3417 14.8536 16.1464L13.7071 15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H13.7071L14.8536 12.8536C15.0488 12.6583 15.0488 12.3417 14.8536 12.1464C14.6583 11.9512 14.3417 11.9512 14.1464 12.1464L12.1468 14.146Z\"\n    })));\n  },\n  displayName: 'DoorArrowLeftIcon'\n});\n//# sourceMappingURL=DoorArrowLeftIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var DownloadIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.5 16.9989C15.7761 16.9989 16 17.2227 16 17.4989C16 17.7443 15.8231 17.9485 15.5899 17.9908L15.5 17.9989H4.5C4.22386 17.9989 4 17.775 4 17.4989C4 17.2534 4.17688 17.0493 4.41012 17.0069L4.5 16.9989H15.5ZM10.0001 2.0011C10.2456 2.0011 10.4497 2.1781 10.492 2.41137L10.5 2.50124L10.496 14.2951L14.1414 10.6468C14.3148 10.473 14.5842 10.4535 14.7792 10.5883L14.8485 10.6461C15.0222 10.8195 15.0418 11.0889 14.907 11.2839L14.8492 11.3532L10.3574 15.8532C10.285 15.9259 10.1957 15.9715 10.1021 15.9902L9.99608 16C9.83511 16 9.69192 15.9239 9.60051 15.8057L5.14386 11.3538C4.94846 11.1587 4.94823 10.8421 5.14336 10.6467C5.3168 10.473 5.58621 10.4535 5.78117 10.5884L5.85046 10.6462L9.496 14.2871L9.5 2.50095C9.50008 2.22481 9.724 2.0011 10.0001 2.0011Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M15.2444 16.4976C15.6586 16.4976 15.9944 16.8334 15.9944 17.2476C15.9944 17.6273 15.7123 17.9411 15.3462 17.9907L15.2444 17.9976H4.74976C4.33554 17.9976 3.99976 17.6618 3.99976 17.2476C3.99976 16.8679 4.28191 16.5541 4.64799 16.5044L4.74976 16.4976H15.2444ZM10.0034 1.99939C10.3831 1.99939 10.6969 2.28154 10.7465 2.64762L10.7534 2.74939L10.7528 12.9424L13.719 9.97181C13.985 9.7053 14.4016 9.68071 14.6955 9.89829L14.7796 9.97083C15.0461 10.2369 15.0707 10.6535 14.8532 10.9473L14.7806 11.0315L10.5378 15.2821L10.4671 15.3446L10.3762 15.4032L10.3397 15.4244L10.2486 15.4623L10.1281 15.4924L10.0588 15.5003L9.99876 15.5023C9.94864 15.5023 9.89776 15.4968 9.84804 15.4862L9.76716 15.4631C9.67115 15.4321 9.58404 15.3818 9.50989 15.3171L5.22032 11.0324C4.92721 10.7397 4.92688 10.2648 5.21956 9.9717C5.48564 9.70524 5.90228 9.68074 6.19605 9.89838L6.28022 9.97094L9.25276 12.9384L9.25338 2.74939C9.25338 2.33518 9.58917 1.99939 10.0034 1.99939Z\"\n    }));\n  },\n  displayName: 'DownloadIcon'\n});\n//# sourceMappingURL=DownloadIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var EmailIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.5 4C16.8807 4 18 5.11929 18 6.5V14.5C18 15.8807 16.8807 17 15.5 17H4.5C3.11929 17 2 15.8807 2 14.5V6.5C2 5.11929 3.11929 4 4.5 4H15.5ZM17 7.961L10.2535 11.931C10.1231 12.0077 9.96661 12.0205 9.82751 11.9693L9.74649 11.931L3 7.963V14.5C3 15.3284 3.67157 16 4.5 16H15.5C16.3284 16 17 15.3284 17 14.5V7.961ZM15.5 5H4.5C3.67157 5 3 5.67157 3 6.5V6.802L10 10.9199L17 6.801V6.5C17 5.67157 16.3284 5 15.5 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M18.0001 7.373V14.5C18.0001 15.8807 16.8808 17 15.5001 17H4.50008C3.11937 17 2 15.8807 2 14.5V7.373L9.74657 11.931C9.90304 12.023 10.0971 12.023 10.2536 11.931L18.0001 7.373ZM15.5001 4C16.7871 4 17.847 4.9726 17.9849 6.22293L10.0001 10.9199L2.01526 6.22293C2.15312 4.9726 3.21302 4 4.50008 4H15.5001Z\"\n    }));\n  },\n  displayName: 'EmailIcon'\n});\n//# sourceMappingURL=EmailIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var EmailWithDotIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M13.337 3.99963C13.1891 4.31079 13.0858 4.64722 13.0353 5.00068L5.01515 5.00102C4.295 5.00926 4.02592 5.06845 3.75054 5.21573C3.5174 5.34041 3.34041 5.5174 3.21573 5.75054C3.09272 5.98056 3.03115 6.20617 3.0094 6.69392L9.5 9.94098L13.8374 7.77175C14.0733 8.04801 14.3515 8.2871 14.6619 8.47903L9.72361 10.9472C9.611 11.0035 9.48243 11.0148 9.36344 10.981L9.27639 10.9472L3.00089 7.81L3.00102 12.9848C3.00925 13.705 3.06845 13.9741 3.21573 14.2495C3.34041 14.4826 3.5174 14.6596 3.75054 14.7843C4.00297 14.9193 4.25011 14.9803 4.84425 14.9958L5.20486 15H13.7951L14.1558 14.9958C14.7499 14.9803 14.997 14.9193 15.2495 14.7843C15.4826 14.6596 15.6596 14.4826 15.7843 14.2495C15.9193 13.997 15.9803 13.7499 15.9958 13.1558L16 12.7951L15.9991 8.96442C16.1627 8.98787 16.3299 9 16.5 9C16.6701 9 16.8373 8.98787 17.0009 8.96442L17 12.7951C17 13.9095 16.884 14.3136 16.6661 14.7211C16.4482 15.1285 16.1285 15.4482 15.7211 15.6661C15.3136 15.884 14.9095 16 13.7951 16H5.20486C4.09046 16 3.68635 15.884 3.27894 15.6661C2.87154 15.4482 2.5518 15.1285 2.33392 14.7211C2.13056 14.3408 2.01592 13.9634 2.00154 13.0088L2 7.20486C2 6.09046 2.11603 5.68635 2.33392 5.27894C2.5518 4.87154 2.87154 4.5518 3.27894 4.33392C3.65919 4.13056 4.03656 4.01592 4.99124 4.00154L13.337 3.99963ZM16.5 3C17.8807 3 19 4.11929 19 5.5C19 6.88071 17.8807 8 16.5 8C15.1193 8 14 6.88071 14 5.5C14 4.11929 15.1193 3 16.5 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M16.322 8.99555L16.5001 9L16.6831 8.9953L16.9208 8.97498L17.0011 8.96442L17.0001 12.7951C17.0001 13.9095 16.8841 14.3136 16.6662 14.7211C16.4483 15.1285 16.1286 15.4482 15.7212 15.6661C15.3138 15.884 14.9097 16 13.7953 16H5.20497C4.09057 16 3.68646 15.884 3.27905 15.6661C2.87164 15.4482 2.55191 15.1285 2.33403 14.7211C2.13067 14.3408 2.01603 13.9634 2.00165 13.0088L2 7.30863L9.27699 10.9472C9.41775 11.0176 9.58344 11.0176 9.7242 10.9472L14.6614 8.47867C14.9937 8.68424 15.363 8.83575 15.7569 8.92093L15.9992 8.96442L16.1272 8.98037L16.322 8.99555ZM4.99135 4.00154L13.3371 3.99963L13.287 4.10963L13.2177 4.28238C13.1809 4.38156 13.1486 4.48246 13.1209 4.58523L13.0694 4.80359L13.0528 4.89142L13.0355 5.00068C13.0121 5.16512 13.0001 5.33116 13.0001 5.5C13.0001 6.28733 13.2601 7.01393 13.6989 7.59867L13.8375 7.77175L9.50057 9.94098L2.2237 6.30278C2.16591 6.27389 2.1052 6.25723 2.04451 6.25184C2.09579 5.80189 2.19382 5.5411 2.33403 5.27894C2.55191 4.87154 2.87164 4.5518 3.27905 4.33392C3.6593 4.13056 4.03667 4.01592 4.99135 4.00154ZM16.5001 3C17.8808 3 19.0001 4.11929 19.0001 5.5C19.0001 6.88071 17.8808 8 16.5001 8C15.1194 8 14.0001 6.88071 14.0001 5.5C14.0001 4.11929 15.1194 3 16.5001 3Z\"\n    }));\n  },\n  displayName: 'EmailWithDotIcon'\n});\n//# sourceMappingURL=EmailWithDotIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var EmojiIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM7.15467 12.4273C8.66416 13.9463 11.0877 14.0045 12.6671 12.5961L12.8453 12.4273C13.04 12.2314 13.3566 12.2304 13.5524 12.4251C13.7265 12.5981 13.7467 12.8674 13.6123 13.0627L13.5547 13.1322L13.5323 13.1545C11.5691 15.1054 8.39616 15.0953 6.44533 13.1322C6.25069 12.9363 6.25169 12.6197 6.44757 12.4251C6.64344 12.2304 6.96002 12.2314 7.15467 12.4273ZM12.5 7.5C13.0523 7.5 13.5 7.94772 13.5 8.5C13.5 9.05228 13.0523 9.5 12.5 9.5C11.9477 9.5 11.5 9.05228 11.5 8.5C11.5 7.94772 11.9477 7.5 12.5 7.5ZM7.5 7.5C8.05228 7.5 8.5 7.94772 8.5 8.5C8.5 9.05228 8.05228 9.5 7.5 9.5C6.94772 9.5 6.5 9.05228 6.5 8.5C6.5 7.94772 6.94772 7.5 7.5 7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10ZM7.5 9.5C8.05228 9.5 8.5 9.05228 8.5 8.5C8.5 7.94772 8.05228 7.5 7.5 7.5C6.94772 7.5 6.5 7.94772 6.5 8.5C6.5 9.05228 6.94772 9.5 7.5 9.5ZM11.75 12.5C11.75 11.5335 10.9665 10.75 10 10.75C9.0335 10.75 8.25 11.5335 8.25 12.5C8.25 13.4665 9.0335 14.25 10 14.25C10.9665 14.25 11.75 13.4665 11.75 12.5ZM12.5 9.5C13.0523 9.5 13.5 9.05228 13.5 8.5C13.5 7.94772 13.0523 7.5 12.5 7.5C11.9477 7.5 11.5 7.94772 11.5 8.5C11.5 9.05228 11.9477 9.5 12.5 9.5Z\"\n    }));\n  },\n  displayName: 'EmojiIcon'\n});\n//# sourceMappingURL=EmojiIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var EmojiSadIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M7.5 9.5C8.05228 9.5 8.5 9.05228 8.5 8.5C8.5 7.94772 8.05228 7.5 7.5 7.5C6.94772 7.5 6.5 7.94772 6.5 8.5C6.5 9.05228 6.94772 9.5 7.5 9.5ZM13.5 8.5C13.5 9.05228 13.0523 9.5 12.5 9.5C11.9477 9.5 11.5 9.05228 11.5 8.5C11.5 7.94772 11.9477 7.5 12.5 7.5C13.0523 7.5 13.5 7.94772 13.5 8.5ZM13.5624 13.3904C13.3477 13.5621 13.035 13.5283 12.862 13.3153L12.8591 13.312C12.8552 13.3075 12.8476 13.2988 12.8362 13.2865C12.8134 13.2619 12.7755 13.2231 12.7222 13.1746C12.6155 13.0776 12.4477 12.9426 12.2153 12.8059C11.7535 12.5341 11.0282 12.25 10.0019 12.25C8.97555 12.25 8.24918 12.5342 7.78622 12.8061C7.55332 12.9429 7.38494 13.078 7.27783 13.1751C7.22431 13.2236 7.18628 13.2625 7.16335 13.2871C7.15188 13.2994 7.14422 13.3081 7.14031 13.3126L7.13743 13.316C6.96401 13.5287 6.65118 13.5619 6.43687 13.3898C6.22158 13.2169 6.18723 12.9022 6.36016 12.6869L6.74998 13C6.36016 12.6869 6.35998 12.6871 6.36016 12.6869L6.36088 12.686L6.36169 12.685L6.36361 12.6826L6.36861 12.6766L6.3833 12.6592C6.39519 12.6455 6.4113 12.6273 6.43168 12.6054C6.47243 12.5617 6.5304 12.5029 6.60614 12.4343C6.75752 12.297 6.98064 12.1195 7.27973 11.9439C7.88076 11.5908 8.78034 11.25 10.0019 11.25C11.2235 11.25 12.1222 11.5908 12.7225 11.9441C13.0212 12.1198 13.2439 12.2974 13.3949 12.4347C13.4705 12.5034 13.5284 12.5623 13.569 12.606C13.5893 12.6279 13.6054 12.6461 13.6173 12.6599L13.6319 12.6773L13.6369 12.6833L13.6389 12.6857L13.6397 12.6867C13.6398 12.6869 13.6404 12.6876 13.25 13L13.6404 12.6876C13.8129 12.9032 13.778 13.2179 13.5624 13.3904ZM10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2ZM3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10ZM7.5 9.5C8.05228 9.5 8.5 9.05228 8.5 8.5C8.5 7.94772 8.05228 7.5 7.5 7.5C6.94772 7.5 6.5 7.94772 6.5 8.5C6.5 9.05228 6.94772 9.5 7.5 9.5ZM13.5 8.5C13.5 7.94772 13.0523 7.5 12.5 7.5C11.9477 7.5 11.5 7.94772 11.5 8.5C11.5 9.05228 11.9477 9.5 12.5 9.5C13.0523 9.5 13.5 9.05228 13.5 8.5ZM13.5624 13.3904C13.9375 13.0391 13.6288 12.6737 13.6173 12.6599C13.6054 12.6461 13.5893 12.6279 13.569 12.606C13.5284 12.5623 13.4705 12.5034 13.3949 12.4347C13.2439 12.2974 13.0212 12.1198 12.7225 11.9441C12.1222 11.5908 11.2235 11.25 10.0019 11.25C8.78034 11.25 7.88076 11.5908 7.27973 11.9439C6.98064 12.1195 6.75752 12.297 6.60614 12.4343C6.5304 12.5029 6.47243 12.5617 6.43168 12.6054C6.4113 12.6273 6.39519 12.6455 6.3833 12.6592L6.36861 12.6766L6.36361 12.6826L6.36169 12.685L6.36088 12.686L6.36016 12.6869C6.36016 12.6869 6.36016 12.6869 6.74998 13L6.36016 12.6869C6.18723 12.9022 6.22158 13.2169 6.43687 13.3898C6.65118 13.5619 6.96401 13.5287 7.13743 13.316L7.14031 13.3126C7.14422 13.3081 7.15188 13.2994 7.16335 13.2871C7.18628 13.2625 7.22431 13.2236 7.27783 13.1751C7.38494 13.078 7.55332 12.9429 7.78622 12.8061C8.24918 12.5342 8.97555 12.25 10.0019 12.25C11.0282 12.25 11.7535 12.5341 12.2153 12.8059C12.4477 12.9426 12.6155 13.0776 12.7222 13.1746C12.7755 13.2231 12.8134 13.2619 12.8362 13.2865C12.8476 13.2988 12.8552 13.3075 12.8591 13.312L12.862 13.3153C13.035 13.5283 13.3477 13.5621 13.5624 13.3904Z\"\n    }));\n  },\n  displayName: 'EmojiSadIcon'\n});\n//# sourceMappingURL=EmojiSadIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var EmojiSurprisedIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M7.5 9.5C8.05228 9.5 8.5 9.05228 8.5 8.5C8.5 7.94772 8.05228 7.5 7.5 7.5C6.94772 7.5 6.5 7.94772 6.5 8.5C6.5 9.05228 6.94772 9.5 7.5 9.5ZM11.75 12.5C11.75 13.4665 10.9665 14.25 10 14.25C9.0335 14.25 8.25 13.4665 8.25 12.5C8.25 11.5335 9.0335 10.75 10 10.75C10.9665 10.75 11.75 11.5335 11.75 12.5ZM12.5 9.5C13.0523 9.5 13.5 9.05228 13.5 8.5C13.5 7.94772 13.0523 7.5 12.5 7.5C11.9477 7.5 11.5 7.94772 11.5 8.5C11.5 9.05228 11.9477 9.5 12.5 9.5ZM10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2ZM3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10ZM7.5 9.5C8.05228 9.5 8.5 9.05228 8.5 8.5C8.5 7.94772 8.05228 7.5 7.5 7.5C6.94772 7.5 6.5 7.94772 6.5 8.5C6.5 9.05228 6.94772 9.5 7.5 9.5ZM11.75 12.5C11.75 11.5335 10.9665 10.75 10 10.75C9.0335 10.75 8.25 11.5335 8.25 12.5C8.25 13.4665 9.0335 14.25 10 14.25C10.9665 14.25 11.75 13.4665 11.75 12.5ZM12.5 9.5C13.0523 9.5 13.5 9.05228 13.5 8.5C13.5 7.94772 13.0523 7.5 12.5 7.5C11.9477 7.5 11.5 7.94772 11.5 8.5C11.5 9.05228 11.9477 9.5 12.5 9.5Z\"\n    }));\n  },\n  displayName: 'EmojiSurprisedIcon'\n});\n//# sourceMappingURL=EmojiSurprisedIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ErrorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: classes.redPath,\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8.68404 2.85216C9.25393 1.816 10.7428 1.81599 11.3127 2.85216L17.8714 14.7771C18.4212 15.7768 17.698 17 16.5571 17H3.43964C2.29873 17 1.57549 15.7768 2.12531 14.7771L8.68404 2.85216ZM9.99835 6.75C10.4126 6.75 10.7484 7.08579 10.7484 7.5V11.5C10.7484 11.9142 10.4126 12.25 9.99835 12.25C9.58414 12.25 9.24835 11.9142 9.24835 11.5V7.5C9.24835 7.08579 9.58414 6.75 9.99835 6.75ZM10.7484 13.75C10.7484 14.1642 10.4126 14.5 9.99835 14.5C9.58414 14.5 9.24835 14.1642 9.24835 13.75C9.24835 13.3358 9.58414 13 9.99835 13C10.4126 13 10.7484 13.3358 10.7484 13.75Z\"\n    }));\n  },\n  displayName: 'ErrorIcon'\n});\n//# sourceMappingURL=ErrorIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ExcelColorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 32 32\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 29H28.5C28.775 29 29 28.775 29 28.5V9H24.5C23.673 9 23 8.327 23 7.5V3H9.5C9.225 3 9 3.225 9 3.5V28.5C9 28.775 9.225 29 9.5 29Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M28.293 8.00003L24 3.70703V7.50003C24 7.77503 24.225 8.00003 24.5 8.00003H28.293Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M29.56 7.854L24.146 2.439C23.8642 2.15891 23.4833 2.00117 23.086 2H9.5C8.673 2 8 2.673 8 3.5V28.5C8 29.327 8.673 30 9.5 30H28.5C29.327 30 30 29.327 30 28.5V8.914C30 8.514 29.844 8.137 29.56 7.854ZM24 3.707L28.293 8H24.5C24.2241 7.99945 24.0005 7.77591 24 7.5V3.707ZM9.5 29H28.5C28.775 29 29 28.775 29 28.5V9H24.5C23.673 9 23 8.327 23 7.5V3H9.5C9.225 3 9 3.225 9 3.5V28.5C9.00055 28.7759 9.22409 28.9995 9.5 29Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25 23H23C22.4477 23 22 22.5523 22 22C22 21.4477 22.4477 21 23 21H25C25.5523 21 26 21.4477 26 22C26 22.5523 25.5523 23 25 23Z\",\n      fill: \"#134A2C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M20 23H18C17.4477 23 17 22.5523 17 22C17 21.4477 17.4477 21 18 21H20C20.5523 21 21 21.4477 21 22C21 22.5523 20.5523 23 20 23Z\",\n      fill: \"#185C37\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25 19H23C22.4477 19 22 18.5523 22 18C22 17.4477 22.4477 17 23 17H25C25.5523 17 26 17.4477 26 18C26 18.5523 25.5523 19 25 19Z\",\n      fill: \"#21A366\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M20 19H18C17.4477 19 17 18.5523 17 18C17 17.4477 17.4477 17 18 17H20C20.5523 17 21 17.4477 21 18C21 18.5523 20.5523 19 20 19Z\",\n      fill: \"#107C41\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25 15H23C22.4477 15 22 14.5523 22 14C22 13.4477 22.4477 13 23 13H25C25.5523 13 26 13.4477 26 14C26 14.5523 25.5523 15 25 15Z\",\n      fill: \"#33C481\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M20 15H18C17.4477 15 17 14.5523 17 14C17 13.4477 17.4477 13 18 13H20C20.5523 13 21 13.4477 21 14C21 14.5523 20.5523 15 20 15Z\",\n      fill: \"#21A366\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 25H14.5C15.3284 25 16 24.3284 16 23.5V12.5C16 11.6716 15.3284 11 14.5 11H3.5C2.67157 11 2 11.6716 2 12.5V23.5C2 24.3284 2.67157 25 3.5 25Z\",\n      fill: \"#107C41\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 22L8.174 17.99L6.182 14H7.784L8.871 16.549C8.971 16.791 9.04 16.972 9.077 17.091H9.092C9.163 16.897 9.238 16.709 9.316 16.527L10.478 14H11.948L9.906 17.967L12 22H10.435L9.18 19.2C9.12023 19.0791 9.07008 18.9537 9.03 18.825H9.012C8.97608 18.9506 8.92749 19.0722 8.867 19.188L7.574 22H6Z\",\n      fill: \"#F9F7F7\"\n    }));\n  },\n  displayName: 'ExcelColorIcon'\n});\n//# sourceMappingURL=ExcelColorIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ExcelIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18 3H9C8.448 3 8 3.448 8 4V9L18 14L22 15.5L26 14V9L18 3Z\",\n      fill: \"#21A366\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 14H18V9.021H8V14Z\",\n      fill: \"#107C41\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M26 4V9H18V3H25C25.55 3 26 3.45 26 4Z\",\n      fill: \"#33C481\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18 14H8V19.019V19.061V24C8 24.552 8.448 25 9 25H25C25.552 25 26 24.552 26 24V19L18 14Z\",\n      fill: \"#185C37\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.5\",\n      d: \"M15.8332 8H8.00024V22H15.6042C16.3122 22 17.0002 21.288 17.0002 20.646V9.167C17.0002 8.525 16.4752 8 15.8332 8Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.833 20.9995H3.167C2.523 20.9995 2 20.4775 2 19.8325V8.1665C2 7.5225 2.523 7.0005 3.167 7.0005H14.833C15.477 7.0005 16 7.5225 16 8.1665V19.8325C16 20.4775 15.477 20.9995 14.833 20.9995Z\",\n      fill: \"#107C41\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.42676 18L8.01576 13.989L5.64476 10H7.55276L8.84676 12.55C8.96576 12.791 9.04776 12.972 9.09176 13.091H9.10876C9.19476 12.897 9.28376 12.709 9.37676 12.527L10.7598 10H12.5118L10.0798 13.967L12.5728 18H10.7098L9.21476 15.199C9.15176 15.095 9.09176 14.971 9.03576 14.826H9.01376C8.98776 14.915 8.93076 15.036 8.84076 15.188L7.30176 18H5.42676Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18 19H26V14H18V19Z\",\n      fill: \"#107C41\"\n    }));\n  },\n  displayName: 'ExcelIcon'\n});\n//# sourceMappingURL=ExcelIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ExpandIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      className: classes.svg,\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10.5 3L16.5428 3.00182L16.6281 3.01661L16.691 3.03779L16.767 3.07719L16.8221 3.11759L16.8824 3.17788L16.9112 3.21534L16.9533 3.2886L16.9834 3.37186L16.9979 3.45421L17 3.5V9.5C17 9.77614 16.7761 10 16.5 10C16.2545 10 16.0504 9.82312 16.0081 9.58988L16 9.5V4.706L4.706 16H9.5C9.74546 16 9.94961 16.1769 9.99194 16.4101L10 16.5C10 16.7455 9.82312 16.9496 9.58988 16.9919L9.5 17L3.47964 16.9996L3.4112 16.9921L3.30896 16.9622L3.23299 16.9228L3.17786 16.8824L3.11758 16.8221L3.08884 16.7847L3.04674 16.7114L3.01661 16.6281L3.01109 16.605C3.00383 16.5713 3 16.5361 3 16.5L3.00546 16.5739L3.00182 16.5428L3 10.5C3 10.2239 3.22386 10 3.5 10C3.74546 10 3.94961 10.1769 3.99194 10.4101L4 10.5V15.292L15.292 4H10.5C10.2545 4 10.0504 3.82312 10.0081 3.58988L10 3.5C10 3.22386 10.2239 3 10.5 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M16 3C16.5523 3 17 3.44772 17 4V9.25C17 9.66421 16.6642 10 16.25 10C15.8358 10 15.5 9.66421 15.5 9.25V5.559L5.559 15.5H9.25C9.66421 15.5 10 15.8358 10 16.25C10 16.6642 9.66421 17 9.25 17H4C3.44772 17 3 16.5523 3 16V10.75C3 10.3358 3.33579 10 3.75 10C4.16421 10 4.5 10.3358 4.5 10.75V14.439L14.439 4.5H10.75C10.3358 4.5 10 4.16421 10 3.75C10 3.33579 10.3358 3 10.75 3H16Z\"\n    }));\n  },\n  displayName: 'ExpandIcon'\n});\n//# sourceMappingURL=ExpandIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var EyeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.25909 11.6021C3.94254 8.32689 6.79437 6 10 6C13.2057 6 16.0574 8.32688 16.7409 11.6021C16.7974 11.8725 17.0622 12.0459 17.3325 11.9895C17.6029 11.933 17.7763 11.6682 17.7199 11.3979C16.9425 7.67312 13.6934 5 10 5C6.3066 5 3.05742 7.67311 2.28017 11.3979C2.22377 11.6682 2.39718 11.933 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 8C8.067 8 6.5 9.567 6.5 11.5C6.5 13.433 8.067 15 10 15C11.933 15 13.5 13.433 13.5 11.5C13.5 9.567 11.933 8 10 8ZM7.5 11.5C7.5 10.1193 8.61929 9 10 9C11.3807 9 12.5 10.1193 12.5 11.5C12.5 12.8807 11.3807 14 10 14C8.61929 14 7.5 12.8807 7.5 11.5Z\"\n    }));\n  },\n  displayName: 'EyeIcon'\n});\n//# sourceMappingURL=EyeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var EyeFriendlierIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.25909 11.6021C3.94254 8.32689 6.79437 6 10 6C13.2057 6 16.0574 8.32688 16.7409 11.6021C16.7974 11.8725 17.0622 12.0459 17.3325 11.9895C17.6029 11.933 17.7763 11.6682 17.7199 11.3979C16.9425 7.67312 13.6934 5 10 5C6.3066 5 3.05742 7.67311 2.28017 11.3979C2.22377 11.6682 2.39718 11.933 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 8C8.067 8 6.5 9.567 6.5 11.5C6.5 13.433 8.067 15 10 15C11.933 15 13.5 13.433 13.5 11.5C13.5 9.567 11.933 8 10 8ZM7.5 11.5C7.5 10.1193 8.61929 9 10 9C11.3807 9 12.5 10.1193 12.5 11.5C12.5 12.8807 11.3807 14 10 14C8.61929 14 7.5 12.8807 7.5 11.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.25909 11.6021C3.94254 8.32689 6.79437 6 10 6C13.2057 6 16.0574 8.32688 16.7409 11.6021C16.7974 11.8725 17.0622 12.0459 17.3325 11.9895C17.6029 11.933 17.7763 11.6682 17.7199 11.3979C16.9425 7.67312 13.6934 5 10 5C6.3066 5 3.05742 7.67311 2.28017 11.3979C2.22377 11.6682 2.39718 11.933 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.98953 8C11.9225 8 13.4895 9.567 13.4895 11.5C13.4895 13.433 11.9225 15 9.98953 15C8.05653 15 6.48953 13.433 6.48953 11.5C6.48953 9.567 8.05653 8 9.98953 8Z\"\n    })));\n  },\n  displayName: 'EyeFriendlierIcon'\n});\n//# sourceMappingURL=EyeFriendlierIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var EyeSlashIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L5.6453 6.35239C3.97044 7.49179 2.7234 9.27384 2.28017 11.3979C2.22377 11.6682 2.39718 11.9331 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021C3.6629 9.66699 4.82367 8.06291 6.36714 7.07422L7.95336 8.66045C7.07297 9.29611 6.5 10.3311 6.5 11.5C6.5 13.433 8.067 15 10 15C11.1689 15 12.2039 14.427 12.8396 13.5466L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L2.85355 2.14645ZM12.1194 12.8265C11.6773 13.5314 10.8934 14 10 14C8.61929 14 7.5 12.8807 7.5 11.5C7.5 10.6066 7.96863 9.82265 8.67348 9.38057L12.1194 12.8265Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.1235 8.00214L13.4979 11.3765C13.4342 9.54169 11.9583 8.06576 10.1235 8.00214Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 6C9.43016 6 8.87149 6.07353 8.33419 6.21285L7.53113 5.40979C8.31349 5.14331 9.14485 5 10 5C13.6934 5 16.9425 7.67312 17.7199 11.3979C17.7763 11.6682 17.6029 11.933 17.3325 11.9895C17.0622 12.0459 16.7974 11.8725 16.7409 11.6021C16.0574 8.32688 13.2057 6 10 6Z\"\n    }));\n  },\n  displayName: 'EyeSlashIcon'\n});\n//# sourceMappingURL=EyeSlashIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesAftereffectsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesAftereffectsIcon'\n});\n//# sourceMappingURL=FilesAftereffectsIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesCodeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 16H5.5C5.22386 16 5 15.7761 5 15.5C5 15.2239 5.22386 15 5.5 15H14.5C14.7761 15 15 15.2239 15 15.5C15 15.7761 14.7761 16 14.5 16Z\",\n      fill: \"#C8C6C4\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.0528 12.7764C12.9293 13.0234 13.0294 13.3237 13.2764 13.4472C13.5234 13.5707 13.8237 13.4706 13.9472 13.2236L13.0528 12.7764ZM14.5 11L14.9472 11.2236C15.0176 11.0828 15.0176 10.9172 14.9472 10.7764L14.5 11ZM13.9472 8.77639C13.8237 8.5294 13.5234 8.42929 13.2764 8.55279C13.0294 8.67628 12.9293 8.97662 13.0528 9.22361L13.9472 8.77639ZM6.94721 9.22361C7.07071 8.97662 6.9706 8.67628 6.72361 8.55279C6.47662 8.42929 6.17628 8.5294 6.05279 8.77639L6.94721 9.22361ZM5.5 11L5.05279 10.7764C4.9824 10.9172 4.9824 11.0828 5.05279 11.2236L5.5 11ZM6.05279 13.2236C6.17628 13.4706 6.47662 13.5707 6.72361 13.4472C6.9706 13.3237 7.07071 13.0234 6.94721 12.7764L6.05279 13.2236ZM13.9472 13.2236L14.9472 11.2236L14.0528 10.7764L13.0528 12.7764L13.9472 13.2236ZM14.9472 10.7764L13.9472 8.77639L13.0528 9.22361L14.0528 11.2236L14.9472 10.7764ZM6.05279 8.77639L5.05279 10.7764L5.94721 11.2236L6.94721 9.22361L6.05279 8.77639ZM5.05279 11.2236L6.05279 13.2236L6.94721 12.7764L5.94721 10.7764L5.05279 11.2236Z\",\n      fill: \"#69AFE5\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 8L9 14\",\n      stroke: \"#69AFE5\",\n      strokeLinecap: \"round\"\n    }));\n  },\n  displayName: 'FilesCodeIcon'\n});\n//# sourceMappingURL=FilesCodeIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesEmptyIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesEmptyIcon'\n});\n//# sourceMappingURL=FilesEmptyIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FilesErrorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 2C4.89543 2 4 2.89543 4 4V9.20703C4.32228 9.11588 4.65659 9.05337 5 9.02242V4C5 3.44772 5.44772 3 6 3H10V6.5C10 7.32843 10.6716 8 11.5 8H15V16C15 16.5523 14.5523 17 14 17H10.4003C10.2174 17.3578 9.99647 17.6929 9.74284 18H14C15.1046 18 16 17.1046 16 16V7.41421C16 7.01639 15.842 6.63486 15.5607 6.35355L11.6464 2.43934C11.3651 2.15804 10.9836 2 10.5858 2H6ZM14.7929 7H11.5C11.2239 7 11 6.77614 11 6.5V3.20711L14.7929 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14.5C10 16.9853 7.98528 19 5.5 19C3.01472 19 1 16.9853 1 14.5C1 12.0147 3.01472 10 5.5 10C7.98528 10 10 12.0147 10 14.5ZM5.5 12C5.22386 12 5 12.2239 5 12.5V14.5C5 14.7761 5.22386 15 5.5 15C5.77614 15 6 14.7761 6 14.5V12.5C6 12.2239 5.77614 12 5.5 12ZM5.5 17.125C5.84518 17.125 6.125 16.8452 6.125 16.5C6.125 16.1548 5.84518 15.875 5.5 15.875C5.15482 15.875 4.875 16.1548 4.875 16.5C4.875 16.8452 5.15482 17.125 5.5 17.125Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2V6.5C10 7.32843 10.6716 8 11.5 8H16V16.5C16 17.3284 15.3284 18 14.5 18H9.74284C10.5282 17.0491 11 15.8296 11 14.5C11 11.4624 8.53757 9 5.5 9C4.97999 9 4.47683 9.07217 4 9.20703V3.5C4 2.67157 4.67157 2 5.5 2H10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 2.25V6.5C11 6.77614 11.2239 7 11.5 7H15.75L11 2.25Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14.5C10 16.9853 7.98528 19 5.5 19C3.01472 19 1 16.9853 1 14.5C1 12.0147 3.01472 10 5.5 10C7.98528 10 10 12.0147 10 14.5ZM5.5 12C5.22386 12 5 12.2239 5 12.5V14.5C5 14.7761 5.22386 15 5.5 15C5.77614 15 6 14.7761 6 14.5V12.5C6 12.2239 5.77614 12 5.5 12ZM5.5 17.125C5.84518 17.125 6.125 16.8452 6.125 16.5C6.125 16.1548 5.84518 15.875 5.5 15.875C5.15482 15.875 4.875 16.1548 4.875 16.5C4.875 16.8452 5.15482 17.125 5.5 17.125Z\"\n    })));\n  },\n  displayName: 'FilesErrorIcon'\n});\n//# sourceMappingURL=FilesErrorIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesFlashIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesFlashIcon'\n});\n//# sourceMappingURL=FilesFlashIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesGenericColoredIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesGenericColoredIcon'\n});\n//# sourceMappingURL=FilesGenericColoredIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesGifIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesGifIcon'\n});\n//# sourceMappingURL=FilesGifIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesHtmlColoredIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M10 15.5C11.933 15.5 13.5 13.933 13.5 12C13.5 10.067 11.933 8.5 10 8.5C8.067 8.5 6.5 10.067 6.5 12C6.5 13.933 8.067 15.5 10 15.5Z\",\n      stroke: \"#69AFE5\",\n      fill: \"none\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M10 15.5C10.8284 15.5 11.5 13.933 11.5 12C11.5 10.067 10.8284 8.5 10 8.5C9.17157 8.5 8.5 10.067 8.5 12C8.5 13.933 9.17157 15.5 10 15.5Z\",\n      stroke: \"#69AFE5\",\n      fill: \"none\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 11H13V10H7V11ZM7 14H13V13H7V14Z\",\n      fill: \"#69AFE5\"\n    }));\n  },\n  displayName: 'FilesHtmlColoredIcon'\n});\n//# sourceMappingURL=FilesHtmlColoredIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesIllustratorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesIllustratorIcon'\n});\n//# sourceMappingURL=FilesIllustratorIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FilesImageIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 7.5C14 8.32843 13.3284 9 12.5 9C11.6716 9 11 8.32843 11 7.5C11 6.67157 11.6716 6 12.5 6C13.3284 6 14 6.67157 14 7.5ZM13 7.5C13 7.22386 12.7761 7 12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8C12.7761 8 13 7.77614 13 7.5ZM3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34315 17 3 15.6569 3 14V6ZM6 4C4.89543 4 4 4.89543 4 6V14C4 14.3726 4.10191 14.7215 4.27937 15.0201L8.94868 10.432C9.53227 9.85859 10.4677 9.85859 11.0513 10.432L15.7206 15.0201C15.8981 14.7215 16 14.3726 16 14V6C16 4.89543 15.1046 4 14 4H6ZM6 16H14C14.3692 16 14.7149 15.9 15.0118 15.7256L10.3504 11.1453C10.1559 10.9542 9.84409 10.9542 9.64956 11.1453L4.98824 15.7256C5.28505 15.9 5.63085 16 6 16Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 8C12.7761 8 13 7.77614 13 7.5C13 7.22386 12.7761 7 12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8ZM3 6C3 4.34315 4.34315 3 6 3H14C15.6569 3 17 4.34315 17 6V14C17 14.6495 16.7936 15.2509 16.4428 15.7419L11.0524 10.4345C10.4686 9.85964 9.53144 9.85964 8.94759 10.4345L3.55724 15.7419C3.20642 15.2509 3 14.6495 3 14V6ZM12.5 9C13.3284 9 14 8.32843 14 7.5C14 6.67157 13.3284 6 12.5 6C11.6716 6 11 6.67157 11 7.5C11 8.32843 11.6716 9 12.5 9ZM4.26544 16.448C4.75517 16.7956 5.35372 17 6 17H14C14.6463 17 15.2448 16.7956 15.7346 16.448L10.3508 11.1471C10.1562 10.9555 9.84381 10.9555 9.6492 11.1471L4.26544 16.448Z\"\n    })));\n  },\n  displayName: 'FilesImageIcon'\n});\n//# sourceMappingURL=FilesImageIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesIndesignIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesIndesignIcon'\n});\n//# sourceMappingURL=FilesIndesignIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesPdfColoredIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 10H5.5C5.22386 10 5 9.77614 5 9.5C5 9.22386 5.22386 9 5.5 9H14.5C14.7761 9 15 9.22386 15 9.5C15 9.77614 14.7761 10 14.5 10Z\",\n      fill: \"#C8C6C4\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M6 16V12C6 11.4477 6.44772 11 7 11H13C13.5523 11 14 11.4477 14 12V16C14 16.5523 13.5523 17 13 17H7C6.44772 17 6 16.5523 6 16ZM7.2 16H12.794C12.8468 16.0016 12.898 15.9816 12.9358 15.9447C12.9735 15.9077 12.9946 15.8569 12.994 15.804C12.988 15.126 12.996 12.872 13 12.194C13 12.084 12.91 12 12.8 12H7.2C7.09 12 7 12.09 7 12.2V15.8C7 15.9105 7.08954 16 7.2 16ZM4.75 16H3C2.44772 16 2 15.5523 2 15V13C2 12.4477 2.44772 12 3 12H4.75C4.88807 12 5 12.1119 5 12.25V15.75C5 15.8881 4.88807 16 4.75 16ZM15.25 16H17C17.5523 16 18 15.5523 18 15V13C18 12.4477 17.5523 12 17 12H15.25C15.1119 12 15 12.1119 15 12.25V15.75C15 15.8881 15.1119 16 15.25 16Z\",\n      fill: \"#D65532\"\n    }));\n  },\n  displayName: 'FilesPdfColoredIcon'\n});\n//# sourceMappingURL=FilesPdfColoredIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesPdfIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 10H5.5C5.22386 10 5 9.77614 5 9.5C5 9.22386 5.22386 9 5.5 9H14.5C14.7761 9 15 9.22386 15 9.5C15 9.77614 14.7761 10 14.5 10Z\",\n      fill: \"#C8C6C4\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M6 16V12C6 11.4477 6.44772 11 7 11H13C13.5523 11 14 11.4477 14 12V16C14 16.5523 13.5523 17 13 17H7C6.44772 17 6 16.5523 6 16ZM7.2 16H12.794C12.8468 16.0016 12.898 15.9816 12.9358 15.9447C12.9735 15.9077 12.9946 15.8569 12.994 15.804C12.988 15.126 12.996 12.872 13 12.194C13 12.084 12.91 12 12.8 12H7.2C7.09 12 7 12.09 7 12.2V15.8C7 15.9105 7.08954 16 7.2 16ZM4.75 16H3C2.44772 16 2 15.5523 2 15V13C2 12.4477 2.44772 12 3 12H4.75C4.88807 12 5 12.1119 5 12.25V15.75C5 15.8881 4.88807 16 4.75 16ZM15.25 16H17C17.5523 16 18 15.5523 18 15V13C18 12.4477 17.5523 12 17 12H15.25C15.1119 12 15 12.1119 15 12.25V15.75C15 15.8881 15.1119 16 15.25 16Z\",\n      fill: \"#D65532\"\n    }));\n  },\n  displayName: 'FilesPdfIcon'\n});\n//# sourceMappingURL=FilesPdfIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesPhotoshopIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesPhotoshopIcon'\n});\n//# sourceMappingURL=FilesPhotoshopIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesPictureColoredIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 17H16.5C16.775 17 17 16.775 17 16.5V3.5C17 3.225 16.775 3 16.5 3H3.5C3.225 3 3 3.225 3 3.5V16.5C3 16.775 3.225 17 3.5 17Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M11.6912 10.657L10.8132 11.943L9.12618 9.61698C8.93807 9.35762 8.63707 9.2041 8.31668 9.2041C7.99628 9.2041 7.69529 9.35762 7.50718 9.61698L5.11718 12.913C4.8965 13.2173 4.86517 13.6197 5.03607 13.9546C5.20697 14.2894 5.55124 14.5001 5.92718 14.5H14.0732C14.444 14.5001 14.7845 14.2949 14.9577 13.967C15.1308 13.6391 15.1083 13.2422 14.8992 12.936L13.3432 10.656C13.1569 10.383 12.8477 10.2197 12.5172 10.2197C12.1867 10.2197 11.8775 10.383 11.6912 10.656V10.657Z\",\n      stroke: \"#A6CCC3\",\n      fill: \"none\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M13.5 7.5C14.0523 7.5 14.5 7.05228 14.5 6.5C14.5 5.94772 14.0523 5.5 13.5 5.5C12.9477 5.5 12.5 5.94772 12.5 6.5C12.5 7.05228 12.9477 7.5 13.5 7.5Z\",\n      stroke: \"#FF9810\",\n      fill: \"none\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.5 18H16.5C17.327 18 18 17.327 18 16.5V3.5C18 2.673 17.327 2 16.5 2H3.5C2.673 2 2 2.673 2 3.5V16.5C2 17.327 2.673 18 3.5 18ZM3 3.5C3 3.22386 3.22386 3 3.5 3H16.5C16.7761 3 17 3.22386 17 3.5V16.5C17 16.7761 16.7761 17 16.5 17H3.5C3.22386 17 3 16.7761 3 16.5V3.5Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesPictureColoredIcon'\n});\n//# sourceMappingURL=FilesPictureColoredIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesSketchIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }));\n  },\n  displayName: 'FilesSketchIcon'\n});\n//# sourceMappingURL=FilesSketchIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesSoundIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 17H16.5C16.775 17 17 16.775 17 16.5V3.5C17 3.225 16.775 3 16.5 3H3.5C3.225 3 3 3.225 3 3.5V16.5C3 16.775 3.225 17 3.5 17Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.5 18H16.5C17.327 18 18 17.327 18 16.5V3.5C18 2.673 17.327 2 16.5 2H3.5C2.673 2 2 2.673 2 3.5V16.5C2 17.327 2.673 18 3.5 18ZM3 3.5C3 3.22386 3.22386 3 3.5 3H16.5C16.7761 3 17 3.22386 17 3.5V16.5C17 16.7761 16.7761 17 16.5 17H3.5C3.22386 17 3 16.7761 3 16.5V3.5Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M7.5 13.5C8.05228 13.5 8.5 13.0523 8.5 12.5C8.5 11.9477 8.05228 11.5 7.5 11.5C6.94772 11.5 6.5 11.9477 6.5 12.5C6.5 13.0523 6.94772 13.5 7.5 13.5Z\",\n      stroke: \"#69AFE5\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n      fill: \"none\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M12.5 12.5C13.0523 12.5 13.5 12.0523 13.5 11.5C13.5 10.9477 13.0523 10.5 12.5 10.5C11.9477 10.5 11.5 10.9477 11.5 11.5C11.5 12.0523 11.9477 12.5 12.5 12.5Z\",\n      stroke: \"#69AFE5\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n      fill: \"none\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.5 6.5H14C14 6.3502 13.9328 6.2083 13.817 6.11333C13.7012 6.01836 13.5488 5.98033 13.4019 6.00971L13.5 6.5ZM8.5 7.5L8.40194 7.00971C8.16823 7.05645 8 7.26166 8 7.5H8.5ZM14 11.5V6.5H13V11.5H14ZM13.4019 6.00971L8.40194 7.00971L8.59806 7.99029L13.5981 6.99029L13.4019 6.00971ZM8 7.5V12.5H9V7.5H8ZM13.4019 7.50971L8.40194 8.50971L8.59806 9.49029L13.5981 8.49029L13.4019 7.50971Z\",\n      fill: \"#69AFE5\"\n    }));\n  },\n  displayName: 'FilesSoundIcon'\n});\n//# sourceMappingURL=FilesSoundIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesTextColoredIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M5.444 9H14.556C14.801 9 15 8.776 15 8.5C15 8.224 14.801 8 14.555 8H5.444C5.199 8 5 8.224 5 8.5C5 8.776 5.2 9 5.444 9ZM14.556 11H5.444C5.2 11 5 10.776 5 10.5C5 10.224 5.199 10 5.444 10H14.555C14.801 10 15 10.224 15 10.5C15 10.776 14.801 11 14.556 11ZM5.444 13H14.556C14.801 13 15 12.776 15 12.5C15 12.224 14.801 12 14.555 12H5.444C5.199 12 5 12.224 5 12.5C5 12.776 5.2 13 5.444 13ZM5.444 15H14.556C14.801 15 15 14.776 15 14.5C15 14.224 14.801 14 14.555 14H5.444C5.199 14 5 14.224 5 14.5C5 14.776 5.2 15 5.444 15Z\",\n      fill: \"#BDBBB8\"\n    }));\n  },\n  displayName: 'FilesTextColoredIcon'\n});\n//# sourceMappingURL=FilesTextColoredIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesTxtIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 7H13.5C12.673 7 12 6.327 12 5.5V2H4V18H16V7Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6.00003V5.70703L13 2.70703V5.50003C13 5.77503 13.225 6.00003 13.5 6.00003H16Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.707 5L13 1.293C12.8125 1.10545 12.5582 1.00006 12.293 1H4C3.44772 1 3 1.44772 3 2V18C3 18.5523 3.44772 19 4 19H16C16.5523 19 17 18.5523 17 18V5.707C16.9999 5.4418 16.8945 5.18749 16.707 5ZM16 5.707V6H13.5C13.2241 5.99945 13.0006 5.77591 13 5.5V2.707L16 5.707ZM4 2.2V17.8C4 17.9105 4.08954 18 4.2 18H15.8C15.9105 18 16 17.9105 16 17.8V7H13.5C12.6716 7 12 6.32843 12 5.5V2H4.2C4.09 2 4 2.09 4 2.2Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M5.444 9H14.556C14.801 9 15 8.776 15 8.5C15 8.224 14.801 8 14.555 8H5.444C5.199 8 5 8.224 5 8.5C5 8.776 5.2 9 5.444 9ZM14.556 11H5.444C5.2 11 5 10.776 5 10.5C5 10.224 5.199 10 5.444 10H14.555C14.801 10 15 10.224 15 10.5C15 10.776 14.801 11 14.556 11ZM5.444 13H14.556C14.801 13 15 12.776 15 12.5C15 12.224 14.801 12 14.555 12H5.444C5.199 12 5 12.224 5 12.5C5 12.776 5.2 13 5.444 13ZM5.444 15H14.556C14.801 15 15 14.776 15 14.5C15 14.224 14.801 14 14.555 14H5.444C5.199 14 5 14.224 5 14.5C5 14.776 5.2 15 5.444 15Z\",\n      fill: \"#BDBBB8\"\n    }));\n  },\n  displayName: 'FilesTxtIcon'\n});\n//# sourceMappingURL=FilesTxtIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FilesUploadIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15 3.00122C15.2761 3.00122 15.5 2.77736 15.5 2.50122C15.5 2.25576 15.3231 2.05161 15.0899 2.00928L15 2.00122H4C3.72386 2.00122 3.5 2.22508 3.5 2.50122C3.5 2.74668 3.67688 2.95083 3.91012 2.99317L4 3.00122H15ZM9.50014 17.999C9.7456 17.999 9.9497 17.822 9.99197 17.5887L10 17.4989L9.996 5.70501L13.6414 9.35334C13.8148 9.52707 14.0842 9.5466 14.2792 9.41179L14.3485 9.354C14.5222 9.18059 14.5418 8.91118 14.407 8.71619L14.3492 8.64689L9.85745 4.14689C9.78495 4.07426 9.69568 4.02858 9.60207 4.00986L9.49608 4.00012C9.33511 4.00012 9.19192 4.07624 9.10051 4.19444L4.64386 8.64631C4.44846 8.84143 4.44823 9.15802 4.64336 9.35342C4.8168 9.52711 5.08621 9.54658 5.28117 9.41173L5.35046 9.35392L8.996 5.71301L9 17.4992C9.00008 17.7753 9.224 17.999 9.50014 17.999Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 2C4.08579 2 3.75 2.33579 3.75 2.75C3.75 3.16421 4.08579 3.5 4.5 3.5H15C15.4142 3.5 15.75 3.16421 15.75 2.75C15.75 2.33579 15.4142 2 15 2H4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.4963 17.3493C10.4466 17.7154 10.1328 17.9976 9.75311 17.9976C9.3389 17.9976 9.00311 17.6618 9.00311 17.2476L9.00249 7.05856L6.02995 10.026L5.94578 10.0986C5.65202 10.3162 5.23537 10.2917 4.96929 10.0253C4.67661 9.73215 4.67695 9.25728 4.97005 8.96459L9.25962 4.67989C9.33377 4.61512 9.42089 4.56485 9.5169 4.53385L9.59777 4.51072C9.64749 4.50019 9.69837 4.4947 9.74849 4.4947L9.80855 4.49661L9.87781 4.50451L9.99828 4.53462L10.0895 4.57254L10.1259 4.59371L10.2169 4.6523L10.2875 4.71481L14.5303 8.96546L14.6029 9.04964C14.8205 9.34345 14.7959 9.7601 14.5294 10.0261L14.4452 10.0987C14.1514 10.3162 13.7347 10.2917 13.4687 10.0251L10.5025 7.05456L10.5031 17.2476L10.4963 17.3493Z\"\n    })));\n  },\n  displayName: 'FilesUploadIcon'\n});\n//# sourceMappingURL=FilesUploadIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesVideoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 17H16.5C16.775 17 17 16.775 17 16.5V3.5C17 3.225 16.775 3 16.5 3H3.5C3.225 3 3 3.225 3 3.5V16.5C3 16.775 3.225 17 3.5 17Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.5 18H16.5C17.327 18 18 17.327 18 16.5V3.5C18 2.673 17.327 2 16.5 2H3.5C2.673 2 2 2.673 2 3.5V16.5C2 17.327 2.673 18 3.5 18ZM3 3.5C3 3.22386 3.22386 3 3.5 3H16.5C16.7761 3 17 3.22386 17 3.5V16.5C17 16.7761 16.7761 17 16.5 17H3.5C3.22386 17 3 16.7761 3 16.5V3.5Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M12.5 10L8.5 7.5V12.5L12.5 10Z\",\n      stroke: \"#69AFE5\",\n      strokeLinecap: \"round\",\n      strokeLinejoin: \"round\",\n      fill: \"none\"\n    }));\n  },\n  displayName: 'FilesVideoIcon'\n});\n//# sourceMappingURL=FilesVideoIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FilesZipIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n      id: \"FilesZipIconLinearGradient\",\n      x1: \"1\",\n      y1: \"5\",\n      x2: \"1\",\n      y2: \"17\",\n      gradientUnits: \"userSpaceOnUse\"\n    }, /*#__PURE__*/React.createElement(\"stop\", {\n      stopColor: \"white\",\n      stopOpacity: \"0.01\"\n    }), /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"0.999\",\n      stopColor: \"#FFD75E\",\n      stopOpacity: \"0.3\"\n    }))), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 5L8.586 3.586C8.21101 3.2109 7.70239 3.00011 7.172 3H2C1.44772 3 1 3.44772 1 4V16C1 16.5523 1.44772 17 2 17H18C18.5523 17 19 16.5523 19 16V6C19 5.44772 18.5523 5 18 5H10Z\",\n      fill: \"#FFB900\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 5L8.586 6.414C8.21101 6.7891 7.70239 6.99989 7.172 7H1V16C1 16.5523 1.44772 17 2 17H18C18.5523 17 19 16.5523 19 16V6C19 5.44772 18.5523 5 18 5H10Z\",\n      fill: \"#FFD75E\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 5L8.586 6.414C8.21101 6.7891 7.70239 6.99989 7.172 7H1V16C1 16.5523 1.44772 17 2 17H18C18.5523 17 19 16.5523 19 16V6C19 5.44772 18.5523 5 18 5H10Z\",\n      fill: \"url(#FilesZipIconLinearGradient)\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M1.99986 16.4999C1.62686 16.4999 1.28986 16.3579 1.02686 16.1329C1.08759 16.6252 1.50388 16.9961 1.99986 16.9999H17.9999C18.5049 16.9999 18.9049 16.6199 18.9729 16.1329C18.7109 16.3589 18.3729 16.4999 17.9999 16.4999H1.99986Z\",\n      fill: \"#E67628\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.4\",\n      d: \"M8.836 6.914L10.75 5H10L8.586 6.414C8.21101 6.7891 7.70239 6.99989 7.172 7H1V7.5H7.422C7.95239 7.49989 8.46101 7.2891 8.836 6.914Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M2.25 10H8.75C8.88807 10 9 10.1119 9 10.25V13.75C9 13.8881 8.88807 14 8.75 14H2.25C2.112 14 2 13.888 2 13.75V13H3V11H2V10.25C2 10.1119 2.11193 10 2.25 10ZM6 13H8V11H6V13ZM10.75 13H10.25C10.1119 13 10 12.8881 10 12.75V11.25C10 11.1119 10.1119 11 10.25 11H10.75C10.8881 11 11 11.1119 11 11.25V12.75C11 12.8881 10.8881 13 10.75 13ZM12.25 13H12.75C12.8881 13 13 12.8881 13 12.75V11.25C13 11.1119 12.8881 11 12.75 11H12.25C12.1119 11 12 11.1119 12 11.25V12.75C12 12.8881 12.1119 13 12.25 13ZM14.75 13H14.25C14.1119 13 14 12.8881 14 12.75V11.25C14 11.1119 14.1119 11 14.25 11H14.75C14.8881 11 15 11.1119 15 11.25V12.75C15 12.8881 14.8881 13 14.75 13ZM16.25 13H16.75C16.8881 13 17 12.8881 17 12.75V11.25C17 11.1119 16.8881 11 16.75 11H16.25C16.1119 11 16 11.1119 16 11.25V12.75C16 12.8881 16.1119 13 16.25 13ZM18.75 13H18.25C18.1119 13 18 12.8881 18 12.75V11.25C18 11.1119 18.1119 11 18.25 11H18.75C18.8881 11 19 11.1119 19 11.25V12.75C19 12.8881 18.8881 13 18.75 13ZM1 13H1.75C1.88807 13 2 12.8881 2 12.75V11.25C2 11.1119 1.88807 11 1.75 11H1V13Z\",\n      fill: \"#BF5712\"\n    }));\n  },\n  displayName: 'FilesZipIcon'\n});\n//# sourceMappingURL=FilesZipIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FilterIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M7.5 13H12.5C12.7761 13 13 13.2239 13 13.5C13 13.7455 12.8231 13.9496 12.5899 13.9919L12.5 14H7.5C7.22386 14 7 13.7761 7 13.5C7 13.2545 7.17688 13.0504 7.41012 13.0081L7.5 13H12.5H7.5ZM5.5 9H14.5C14.7761 9 15 9.22386 15 9.5C15 9.74546 14.8231 9.94961 14.5899 9.99194L14.5 10H5.5C5.22386 10 5 9.77614 5 9.5C5 9.25454 5.17688 9.05039 5.41012 9.00806L5.5 9H14.5H5.5ZM3.5 5H16.5C16.7761 5 17 5.22386 17 5.5C17 5.74546 16.8231 5.94961 16.5899 5.99194L16.5 6H3.5C3.22386 6 3 5.77614 3 5.5C3 5.25454 3.17688 5.05039 3.41012 5.00806L3.5 5H16.5H3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M12.25 13.5C12.6642 13.5 13 13.8358 13 14.25C13 14.6642 12.6642 15 12.25 15H7.75C7.33579 15 7 14.6642 7 14.25C7 13.8358 7.33579 13.5 7.75 13.5H12.25ZM14.25 9.25C14.6642 9.25 15 9.58579 15 10C15 10.4142 14.6642 10.75 14.25 10.75H5.75C5.33579 10.75 5 10.4142 5 10C5 9.58579 5.33579 9.25 5.75 9.25H14.25ZM16.25 5C16.6642 5 17 5.33579 17 5.75C17 6.16421 16.6642 6.5 16.25 6.5H3.75C3.33579 6.5 3 6.16421 3 5.75C3 5.33579 3.33579 5 3.75 5H16.25Z\"\n    }));\n  },\n  displayName: 'FilterIcon'\n});\n//# sourceMappingURL=FilterIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FlagIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4.5 13H15.5C15.8993 13 16.1375 12.5549 15.916 12.2226L13.1009 8L15.916 3.77735C16.1375 3.44507 15.8993 3 15.5 3H4C3.72386 3 3.5 3.22386 3.5 3.5V17.5C3.5 17.7761 3.72386 18 4 18C4.27614 18 4.5 17.7761 4.5 17.5V13ZM4.5 12V4H14.5657L12.084 7.72265C11.972 7.8906 11.972 8.1094 12.084 8.27735L14.5657 12H4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4.5 13H15.5C15.8993 13 16.1375 12.5549 15.916 12.2226L13.1009 8L15.916 3.77735C16.1375 3.44507 15.8993 3 15.5 3H4C3.72386 3 3.5 3.22386 3.5 3.5V17.5C3.5 17.7761 3.72386 18 4 18C4.27614 18 4.5 17.7761 4.5 17.5V13Z\"\n    })));\n  },\n  displayName: 'FlagIcon'\n});\n//# sourceMappingURL=FlagIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FluidIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 4H13.5C14.3284 4 15 4.67157 15 5.5V9H14V5.5C14 5.22386 13.7761 5 13.5 5H8V4ZM5 8V13.5C5 13.7761 5.22386 14 5.5 14H9V15H5.5C4.67157 15 4 14.3284 4 13.5V8H5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 3.5C2 2.67157 2.67157 2 3.5 2H5.5C6.32843 2 7 2.67157 7 3.5V5.54331C7 6.37174 6.32843 7.04331 5.5 7.04331H3.5C2.67157 7.04331 2 6.37174 2 5.54331V3.5ZM3.5 3C3.22386 3 3 3.22386 3 3.5V5.54331C3 5.81946 3.22386 6.04331 3.5 6.04331H5.5C5.77614 6.04331 6 5.81946 6 5.54331V3.5C6 3.22386 5.77614 3 5.5 3H3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.0039 11.5C10.0039 10.6716 10.6755 10 11.5039 10H16.5039C17.3323 10 18.0039 10.6716 18.0039 11.5V16.5C18.0039 17.3284 17.3323 18 16.5039 18H11.5039C10.6755 18 10.0039 17.3284 10.0039 16.5V11.5ZM11.5039 11C11.2278 11 11.0039 11.2239 11.0039 11.5V16.5C11.0039 16.7761 11.2278 17 11.5039 17H16.5039C16.78 17 17.0039 16.7761 17.0039 16.5V11.5C17.0039 11.2239 16.78 11 16.5039 11H11.5039Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 3.5C2 2.67158 2.67157 2 3.5 2H5.5C6.32843 2 7 2.67158 7 3.5V5.54332C7 6.37174 6.32843 7.04332 5.5 7.04332H3.5C2.67157 7.04332 2 6.37174 2 5.54332V3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 4H13.5C14.3284 4 15 4.67158 15 5.5V9H14V5.5C14 5.22386 13.7761 5 13.5 5H8V4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 8V13.5C5 13.7761 5.22386 14 5.5 14H9V15H5.5C4.67157 15 4 14.3284 4 13.5V8H5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.5039 10C10.6755 10 10.0039 10.6716 10.0039 11.5V16.5C10.0039 17.3284 10.6755 18 11.5039 18H16.5039C17.3323 18 18.0039 17.3284 18.0039 16.5V11.5C18.0039 10.6716 17.3323 10 16.5039 10H11.5039Z\"\n    })));\n  },\n  displayName: 'FluidIcon'\n});\n//# sourceMappingURL=FluidIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var FluidFileIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"0 0 32 32\",\n      role: \"presentation\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fill: \"#FFF\",\n      d: \"M4.5 28h23c.275 0 .5-.225.5-.5v-23c0-.275-.225-.5-.5-.5h-23c-.275 0-.5.225-.5.5v23c0 .275.225.5.5.5z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \".64\",\n      fill: \"#605E5C\",\n      d: \"M27.5 29h-23c-.827 0-1.5-.673-1.5-1.5v-23C3 3.673 3.673 3 4.5 3h23c.827 0 1.5.673 1.5 1.5v23c0 .827-.673 1.5-1.5 1.5zM4.5 4a.5.5 0 00-.5.5v23a.5.5 0 00.5.5h23a.5.5 0 00.5-.5v-23a.5.5 0 00-.5-.5h-23z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fill: \"#949494\",\n      d: \"M21 11.5V14h1v-2.5c0-.825-.675-1.5-1.5-1.5H14v1h6.5c.271 0 .5.229.5.5zM14 21h-2.5a.507.507 0 01-.5-.5V14h-1v6.5c0 .825.675 1.5 1.5 1.5H14v-1zM12 9v3H9V9h3m0-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fill: \"#1E8BCD\",\n      d: \"M22.5 24h-6c-.825 0-1.5-.675-1.5-1.5v-6c0-.825.675-1.5 1.5-1.5h6c.825 0 1.5.675 1.5 1.5v6c0 .825-.675 1.5-1.5 1.5z\"\n    }));\n  },\n  displayName: 'FluidFileIcon'\n});\n//# sourceMappingURL=FluidFileIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FontColorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M10.4642 2.3143C10.3883 2.12448 10.2045 2 10 2C9.79556 2 9.6117 2.12448 9.53577 2.3143L6.53577 9.8143C6.43322 10.0707 6.55792 10.3617 6.81432 10.4642C7.07071 10.5668 7.36169 10.4421 7.46425 10.1857L8.53707 7.50364H11.4629L12.5358 10.1857C12.6383 10.4421 12.9293 10.5668 13.1857 10.4642C13.4421 10.3617 13.5668 10.0707 13.4642 9.8143L10.4642 2.3143ZM10 3.84629L11.0629 6.50364H8.93707L10 3.84629Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M4.5 12C3.67157 12 3 12.6716 3 13.5V16.5C3 17.3284 3.67157 18 4.5 18H15.5C16.3284 18 17 17.3284 17 16.5V13.5C17 12.6716 16.3284 12 15.5 12H4.5ZM4 13.5C4 13.2239 4.22386 13 4.5 13H15.5C15.7761 13 16 13.2239 16 13.5V16.5C16 16.7761 15.7761 17 15.5 17H4.5C4.22386 17 4 16.7761 4 16.5V13.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M10.4642 2.3143C10.3883 2.12448 10.2045 2 10 2C9.79556 2 9.6117 2.12448 9.53577 2.3143L6.53577 9.8143C6.43322 10.0707 6.55792 10.3617 6.81432 10.4642C7.07071 10.5668 7.36169 10.4421 7.46425 10.1857L8.53707 7.50364H11.4629L12.5358 10.1857C12.6383 10.4421 12.9293 10.5668 13.1857 10.4642C13.4421 10.3617 13.5668 10.0707 13.4642 9.8143L10.4642 2.3143ZM10 3.84629L11.0629 6.50364H8.93707L10 3.84629Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 12C3.67157 12 3 12.6716 3 13.5V16.5C3 17.3284 3.67157 18 4.5 18H15.5C16.3284 18 17 17.3284 17 16.5V13.5C17 12.6716 16.3284 12 15.5 12H4.5Z\"\n    })));\n  },\n  displayName: 'FontColorIcon'\n});\n//# sourceMappingURL=FontColorIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FontSizeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M13.0001 3.5C13.2086 3.5 13.3951 3.62929 13.4683 3.82444L16.4642 11.8136C16.4671 11.8208 16.4698 11.828 16.4724 11.8354L17.9683 15.8244C18.0653 16.083 17.9343 16.3712 17.6757 16.4682C17.4171 16.5651 17.1289 16.4341 17.032 16.1756L15.6536 12.5H10.3466L8.9683 16.1756C8.89581 16.3689 8.71199 16.4977 8.50557 16.5C8.29914 16.5022 8.11256 16.3774 8.03589 16.1857L6.96162 13.5H4.03865L2.96437 16.1857C2.86181 16.4421 2.57083 16.5668 2.31444 16.4642C2.05805 16.3617 1.93334 16.0707 2.03589 15.8143L3.23157 12.8251C3.23426 12.8179 3.2371 12.8108 3.2401 12.8038L5.03589 8.3143C5.11183 8.12448 5.29568 8 5.50013 8C5.70459 8 5.88844 8.12448 5.96437 8.3143L7.76016 12.8038C7.76316 12.8108 7.76601 12.8179 7.7687 12.8251L8.48509 14.6161L9.52787 11.8354C9.53042 11.8281 9.53314 11.8208 9.53602 11.8136L12.532 3.82444C12.6052 3.62929 12.7917 3.5 13.0001 3.5ZM10.7216 11.5H15.2786L13.0001 5.424L10.7216 11.5ZM6.56162 12.5L5.50013 9.84629L4.43865 12.5H6.56162Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M13.007 3.00003C13.3239 3.0029 13.6049 3.20471 13.7088 3.50417L17.9588 15.7542C18.0945 16.1455 17.8874 16.5728 17.496 16.7086C17.1047 16.8443 16.6774 16.6372 16.5416 16.2458L15.2421 12.5H10.5849L9.20421 16.2586C9.09659 16.5516 8.81878 16.7473 8.50669 16.75C8.19459 16.7527 7.91345 16.5618 7.80078 16.2707L6.92178 14H4.2557L3.45703 16.2508C3.31851 16.6412 2.88976 16.8453 2.4994 16.7068C2.10903 16.5683 1.90487 16.1396 2.04338 15.7492L4.79338 7.99919C4.89826 7.70362 5.17598 7.50452 5.48957 7.50008C5.80317 7.49563 6.08641 7.68678 6.19963 7.97925L8.48183 13.8749L12.2962 3.49139C12.4055 3.19386 12.69 2.99716 13.007 3.00003ZM4.78796 12.5H6.34113L5.53078 10.4066L4.78796 12.5ZM12.98 5.98L14.7217 11H11.1359L12.98 5.98Z\"\n    }));\n  },\n  displayName: 'FontSizeIcon'\n});\n//# sourceMappingURL=FontSizeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var FormatIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M14.0872 6.70308C14.9271 5.85998 16.2664 5.81735 17.1568 6.57701L17.2869 6.69697L17.4134 6.83357C18.1376 7.68212 18.1376 8.93671 17.4134 9.78526L17.293 9.91574L10.4167 16.8183C10.2617 16.9739 10.0749 17.0931 9.86988 17.1682L9.71291 17.2161L6.62737 17.9764C6.28827 18.0599 5.98023 17.7813 6.00917 17.4498L6.0236 17.366L6.81558 14.2953C6.86895 14.0883 6.96574 13.8958 7.09885 13.7302L7.20537 13.6112L14.0872 6.70308ZM16.5811 7.40543C16.1201 6.94613 15.393 6.91684 14.898 7.31661L14.7957 7.40884L7.91383 14.317C7.87193 14.359 7.83804 14.408 7.8135 14.4616L7.7839 14.545L7.20061 16.805L9.47368 16.2452C9.51317 16.2354 9.55114 16.221 9.58682 16.2022L9.6385 16.1709L9.70829 16.1126L16.5845 9.20999C17.0806 8.71206 17.0806 7.90677 16.5811 7.40543ZM6.42419 2.22879L6.46607 2.31323L9.448 9.94224L8.676 10.7172L8.004 8.99824H4.007L2.96614 11.678C2.87719 11.9068 2.63835 12.0329 2.40561 11.9879L2.31893 11.9628C2.09015 11.8738 1.96399 11.635 2.00906 11.4023L2.03413 11.3156L5.53436 2.31403C5.6877 1.9197 6.21661 1.89109 6.42419 2.22879ZM6.00061 3.871L4.396 7.99824H7.614L6.00061 3.871Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M14.0872 6.70308C14.9271 5.85998 16.2664 5.81735 17.1568 6.57701L17.2869 6.69697L17.4134 6.83357C18.1376 7.68212 18.1376 8.93671 17.4134 9.78526L17.293 9.91574L10.4167 16.8183C10.2617 16.9739 10.0749 17.0931 9.86988 17.1682L9.71291 17.2161L6.62737 17.9764C6.28827 18.0599 5.98023 17.7813 6.00917 17.4498L6.0236 17.366L6.81558 14.2953C6.86895 14.0883 6.96574 13.8958 7.09885 13.7302L7.20537 13.6112L14.0872 6.70308ZM6.42419 2.22879L6.46607 2.31323L9.448 9.94224L8.676 10.7172L8.004 8.99824H4.007L2.96614 11.678C2.87719 11.9068 2.63835 12.0329 2.40561 11.9879L2.31893 11.9628C2.09015 11.8738 1.96399 11.635 2.00906 11.4023L2.03413 11.3156L5.53436 2.31403C5.6877 1.9197 6.21661 1.89109 6.42419 2.22879ZM6.00061 3.871L4.396 7.99824H7.614L6.00061 3.871Z\"\n    }));\n  },\n  displayName: 'FormatIcon'\n});\n//# sourceMappingURL=FormatIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var GalleryIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 5.5C3 4.11929 4.11929 3 5.5 3H14.5C15.8807 3 17 4.11929 17 5.5V14.5C17 15.8807 15.8807 17 14.5 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5ZM4 10.5V14.5C4 15.3284 4.67157 16 5.5 16H9.5V10.5H4ZM9.5 9.5V4H5.5C4.67157 4 4 4.67157 4 5.5V9.5H9.5ZM10.5 10.5V16H14.5C15.3284 16 16 15.3284 16 14.5V10.5H10.5ZM16 9.5V5.5C16 4.67157 15.3284 4 14.5 4H10.5V9.5H16Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 3C4.11929 3 3 4.11929 3 5.5V9.5H9.5V3H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 10.5H3V14.5C3 15.8807 4.11929 17 5.5 17H9.5V10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 10.5H17V14.5C17 15.8807 15.8807 17 14.5 17H10.5V10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 9.5V5.5C17 4.11929 15.8807 3 14.5 3H10.5V9.5H17Z\"\n    })));\n  },\n  displayName: 'GalleryIcon'\n});\n//# sourceMappingURL=GalleryIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var GalleryNewIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 5.5C3 4.11929 4.11929 3 5.5 3H14.5C15.8807 3 17 4.11929 17 5.5V14.5C17 15.8807 15.8807 17 14.5 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5ZM4 10.5V14.5C4 15.3284 4.67157 16 5.5 16H9.5V10.5H4ZM9.5 9.5V4H5.5C4.67157 4 4 4.67157 4 5.5V9.5H9.5ZM10.5 10.5V16H14.5C15.3284 16 16 15.3284 16 14.5V10.5H10.5ZM16 9.5V5.5C16 4.67157 15.3284 4 14.5 4H10.5V9.5H16Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 3C4.11929 3 3 4.11929 3 5.5V9.5H9.5V3H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 10.5H3V14.5C3 15.8807 4.11929 17 5.5 17H9.5V10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 10.5H17V14.5C17 15.8807 15.8807 17 14.5 17H10.5V10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 9.5V5.5C17 4.11929 15.8807 3 14.5 3H10.5V9.5H17Z\"\n    })));\n  },\n  displayName: 'GalleryNewIcon'\n});\n//# sourceMappingURL=GalleryNewIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var GalleryNewLargeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M17 5.5C17 4.11929 15.8807 3 14.5 3H5.5C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H14.5C15.8807 17 17 15.8807 17 14.5V5.5ZM4 14.5V13H7V16H5.5L5.35554 15.9931C4.59489 15.9204 4 15.2797 4 14.5ZM12 13H8V16H12V13ZM14.5 16H13V13H16V14.5L15.9931 14.6445C15.9204 15.4051 15.2797 16 14.5 16ZM12 8H8V12H12V8ZM13 8H16V12H13V8ZM12 4H8V7H12V4ZM13 4H14.5L14.6445 4.00687C15.4051 4.07955 16 4.7203 16 5.5V7H13V4ZM7 4H5.5C4.7203 4 4.07955 4.59489 4.00687 5.35554L4 5.5V7H7V4ZM7 8V12H4V8H7Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 17H14.5C15.8807 17 17 15.8807 17 14.5V13H13V17Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 12V8H17V12H13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 12H8V8H12V12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 13H12V17H8V13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 12V8H3V12H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 13H7V17H5.5C4.11929 17 3 15.8807 3 14.5V13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 7H17V5.5C17 4.11929 15.8807 3 14.5 3H13V7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3V7H8V3H12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 3V7H3V5.5C3 4.11929 4.11929 3 5.5 3H7Z\"\n    })));\n  },\n  displayName: 'GalleryNewLargeIcon'\n});\n//# sourceMappingURL=GalleryNewLargeIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var GeofenceArrivesIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 18 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M22.5,15H13.678l.878-.91a.5.5,0,1,0-.719-.7l-1.7,1.758a.5.5,0,0,0,0,.694l1.7,1.758a.5.5,0,1,0,.719-.7L13.678,16H22.5a.5.5,0,0,0,0-1Z\",\n      fillRule: \"evenodd\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.344,17.049a.53.53,0,0,0-.7.265,4.44,4.44,0,1,1-.009-3.648.53.53,0,1,0,.963-.442,5.5,5.5,0,1,0,.012,4.527A.531.531,0,0,0,18.344,17.049Z\",\n      fillRule: \"evenodd\"\n    }));\n  },\n  displayName: 'GeofenceArrivesIcon'\n});\n//# sourceMappingURL=GeofenceArrivesIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var GeofenceLeavesIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 18 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M22.86,15.153l-1.7-1.758a.5.5,0,0,0-.719.7l.878.91H12.5a.5.5,0,0,0,0,1h8.822l-.878.91a.5.5,0,0,0,.719.7l1.7-1.758A.5.5,0,0,0,22.86,15.153Z\",\n      fillRule: \"evenodd\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.344,17.049a.53.53,0,0,0-.7.265,4.44,4.44,0,1,1-.009-3.648.53.53,0,1,0,.963-.442,5.5,5.5,0,1,0,.012,4.527A.531.531,0,0,0,18.344,17.049Z\",\n      fillRule: \"evenodd\"\n    }));\n  },\n  displayName: 'GeofenceLeavesIcon'\n});\n//# sourceMappingURL=GeofenceLeavesIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var GeofenceArrivesOrLeavesIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 18 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M22.86,15.153l-1.7-1.758a.5.5,0,0,0-.719.7l.878.91H13.678l.878-.91a.5.5,0,1,0-.719-.7l-1.69,1.751h0l-.006.006a.373.373,0,0,0-.04.063.436.436,0,0,0-.062.473.518.518,0,0,0,.057.089.454.454,0,0,0,.045.069l1.7,1.758a.5.5,0,1,0,.719-.7L13.677,16h7.645l-.878.91a.5.5,0,0,0,.719.7l1.7-1.758A.5.5,0,0,0,22.86,15.153Z\",\n      fillRule: \"evenodd\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.344,17.049a.53.53,0,0,0-.7.265,4.44,4.44,0,1,1-.009-3.648.53.53,0,1,0,.963-.442,5.5,5.5,0,1,0,.012,4.527A.531.531,0,0,0,18.344,17.049Z\",\n      fillRule: \"evenodd\"\n    }));\n  },\n  displayName: 'GeofenceArrivesOrLeavesIcon'\n});\n//# sourceMappingURL=GeofenceArrivesOrLeavesIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var GiphyIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.4 3c1.386 0 2.52 1.187 2.596 2.682l.004.162v8.312c0 1.517-1.085 2.756-2.453 2.84L15.4 17H4.6c-1.386 0-2.52-1.187-2.596-2.682L2 14.156V5.844c0-1.517 1.085-2.756 2.452-2.84L4.6 3h10.8zm-.15 1H4.75c-.926 0-1.684.793-1.746 1.797L3 5.929v8.142c0 1.021.72 1.857 1.63 1.925l.12.004h10.5c.926 0 1.684-.793 1.746-1.796L17 14.07V5.93c0-1.021-.72-1.857-1.63-1.925L15.25 4zM6.851 7.002c.62 0 1.148.097 1.581.299.267.124.374.424.24.671a.562.562 0 01-.726.222c-.268-.125-.632-.192-1.095-.192-1.026 0-1.77.832-1.77 2 0 1.119.813 1.998 1.77 1.998.597 0 1.002-.351 1.06-.673l.008-.08v-.746L7.54 10.5C7.242 10.5 7 10.276 7 10c0-.245.191-.45.443-.492l.098-.008.918.001a.53.53 0 01.532.41l.009.09v1.246C9 12.124 8.114 13 6.851 13 5.256 13 4 11.642 4 10.001 4 8.32 5.177 7.002 6.851 7.002zM11 7a.5.5 0 01.492.41l.008.09v5a.5.5 0 01-.992.09l-.008-.09v-5A.5.5 0 0111 7zm4.5 0a.5.5 0 01.09.992L15.5 8H14v2h1.5a.5.5 0 01.09.992L15.5 11H14v1.5a.5.5 0 01-.992.09L13 12.5v-5a.5.5 0 01.5-.5h2z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M15.4 3c1.386 0 2.52 1.187 2.596 2.682l.004.162v8.312c0 1.517-1.085 2.756-2.453 2.84L15.4 17H4.6c-1.386 0-2.52-1.187-2.596-2.682L2 14.156V5.844c0-1.517 1.085-2.756 2.452-2.84L4.6 3h10.8zM6.851 7.002C5.177 7.002 4 8.32 4 10.002 4 11.641 5.256 13 6.851 13c1.205 0 2.068-.798 2.144-1.633l.005-.12v-1.246l-.009-.09a.522.522 0 00-.434-.402l-.098-.008-.918-.001-.098.008A.513.513 0 007 10c0 .245.191.45.443.492l.098.008.378.001v.746l-.007.08c-.06.322-.464.673-1.06.673-.958 0-1.77-.88-1.77-1.999 0-1.166.743-1.999 1.77-1.999.462 0 .826.067 1.094.192a.562.562 0 00.726-.222c.134-.247.027-.547-.24-.671-.433-.202-.96-.299-1.58-.299zM11 7a.5.5 0 00-.492.41l-.008.09v5l.008.09a.5.5 0 00.984 0l.008-.09v-5l-.008-.09A.5.5 0 0011 7zm4.5 0h-2a.5.5 0 00-.492.41L13 7.5v5l.008.09a.5.5 0 00.984 0L14 12.5V11h1.5l.09-.008a.5.5 0 000-.984L15.5 10H14V8h1.5l.09-.008a.5.5 0 000-.984L15.5 7z\"\n    }));\n  },\n  displayName: 'GiphyIcon'\n});\n//# sourceMappingURL=GiphyIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var GlassesIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.18603 4C6.60508 4 6.05284 4.2526 5.67294 4.69212L2.36157 8.52303C2.13613 8.78548 2 9.12688 2 9.5V12.5C2 13.8807 3.11929 15 4.5 15H6.5C7.88071 15 9 13.8807 9 12.5V11H11V12.5C11 13.8807 12.1193 15 13.5 15H15.5C16.8807 15 18 13.8807 18 12.5V9.5C18 9.07146 17.8203 8.6849 17.5321 8.41155L14.3274 4.69412C13.9475 4.25341 13.3945 4 12.8126 4H12C11.7238 4 11.5 4.22386 11.5 4.5C11.5 4.77614 11.7238 5 12 5H12.8126C13.1036 5 13.3801 5.1267 13.57 5.34706L15.8571 8H12.5C11.6716 8 11 8.67157 11 9.5V10H9V9.5C9 8.67157 8.32843 8 7.5 8H4.13547L6.42948 5.34606C6.61943 5.1263 6.89555 5 7.18603 5H7.99985C8.276 5 8.49985 4.77614 8.49985 4.5C8.49985 4.22386 8.276 4 7.99985 4H7.18603ZM8 9.5V12.5C8 13.3284 7.32843 14 6.5 14H4.5C3.67157 14 3 13.3284 3 12.5V9.5C3 9.22386 3.22386 9 3.5 9H7.5C7.77614 9 8 9.22386 8 9.5ZM12 12.5V9.5C12 9.22386 12.2239 9 12.5 9H16.5C16.62 9 16.7302 9.04229 16.8163 9.11278L16.8713 9.17647L16.877 9.17153C16.9536 9.25939 17 9.37427 17 9.5V12.5C17 13.3284 16.3284 14 15.5 14H13.5C12.6716 14 12 13.3284 12 12.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.18627 4C6.60533 4 6.05309 4.2526 5.67318 4.69212L2.37321 8.50985C2.14089 8.77402 2 9.12055 2 9.5V12.5C2 13.8807 3.11929 15 4.5 15H6.5C7.88071 15 9 13.8807 9 12.5V11H11V12.5C11 13.8807 12.1193 15 13.5 15H15.5C16.8807 15 18 13.8807 18 12.5V9.5C18 9.07146 17.8203 8.6849 17.5321 8.41155L14.3274 4.69412C13.9475 4.25341 13.3945 4 12.8126 4H12C11.7238 4 11.5 4.22386 11.5 4.5C11.5 4.77614 11.7238 5 12 5H12.8126C13.1036 5 13.3801 5.1267 13.57 5.34706L15.8571 8H12.5C11.6716 8 11 8.67157 11 9.5V10H9V9.5C9 8.67157 8.32843 8 7.5 8H4.13571L6.42973 5.34606C6.61968 5.1263 6.8958 5 7.18627 5H8.0001C8.27624 5 8.5001 4.77614 8.5001 4.5C8.5001 4.22386 8.27624 4 8.0001 4H7.18627Z\"\n    })));\n  },\n  displayName: 'GlassesIcon'\n});\n//# sourceMappingURL=GlassesIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var GridIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M7.5 11C8.32843 11 9 11.6716 9 12.5V16.5C9 17.3284 8.32843 18 7.5 18H3.5C2.67157 18 2 17.3284 2 16.5V12.5C2 11.6716 2.67157 11 3.5 11H7.5ZM16.5 11C17.3284 11 18 11.6716 18 12.5V16.5C18 17.3284 17.3284 18 16.5 18H12.5C11.6716 18 11 17.3284 11 16.5V12.5C11 11.6716 11.6716 11 12.5 11H16.5ZM7.5 12H3.5C3.22386 12 3 12.2239 3 12.5V16.5C3 16.7761 3.22386 17 3.5 17H7.5C7.77614 17 8 16.7761 8 16.5V12.5C8 12.2239 7.77614 12 7.5 12ZM16.5 12H12.5C12.2239 12 12 12.2239 12 12.5V16.5C12 16.7761 12.2239 17 12.5 17H16.5C16.7761 17 17 16.7761 17 16.5V12.5C17 12.2239 16.7761 12 16.5 12ZM7.5 2C8.32843 2 9 2.67157 9 3.5V7.5C9 8.32843 8.32843 9 7.5 9H3.5C2.67157 9 2 8.32843 2 7.5V3.5C2 2.67157 2.67157 2 3.5 2H7.5ZM16.5 2C17.3284 2 18 2.67157 18 3.5V7.5C18 8.32843 17.3284 9 16.5 9H12.5C11.6716 9 11 8.32843 11 7.5V3.5C11 2.67157 11.6716 2 12.5 2H16.5ZM7.5 3H3.5C3.22386 3 3 3.22386 3 3.5V7.5C3 7.77614 3.22386 8 3.5 8H7.5C7.77614 8 8 7.77614 8 7.5V3.5C8 3.22386 7.77614 3 7.5 3ZM16.5 3H12.5C12.2239 3 12 3.22386 12 3.5V7.5C12 7.77614 12.2239 8 12.5 8H16.5C16.7761 8 17 7.77614 17 7.5V3.5C17 3.22386 16.7761 3 16.5 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M7.5 11C8.32843 11 9 11.6716 9 12.5V16.5C9 17.3284 8.32843 18 7.5 18H3.5C2.67157 18 2 17.3284 2 16.5V12.5C2 11.6716 2.67157 11 3.5 11H7.5ZM16.5 11C17.3284 11 18 11.6716 18 12.5V16.5C18 17.3284 17.3284 18 16.5 18H12.5C11.6716 18 11 17.3284 11 16.5V12.5C11 11.6716 11.6716 11 12.5 11H16.5ZM7.5 2C8.32843 2 9 2.67157 9 3.5V7.5C9 8.32843 8.32843 9 7.5 9H3.5C2.67157 9 2 8.32843 2 7.5V3.5C2 2.67157 2.67157 2 3.5 2H7.5ZM16.5 2C17.3284 2 18 2.67157 18 3.5V7.5C18 8.32843 17.3284 9 16.5 9H12.5C11.6716 9 11 8.32843 11 7.5V3.5C11 2.67157 11.6716 2 12.5 2H16.5Z\"\n    }));\n  },\n  displayName: 'GridIcon'\n});\n//# sourceMappingURL=GridIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var GroupVideoCallGridIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 5.5C3 4.11929 4.11929 3 5.5 3H14.5C15.8807 3 17 4.11929 17 5.5V14.5C17 15.8807 15.8807 17 14.5 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5ZM4 10.5V14.5C4 15.3284 4.67157 16 5.5 16H9.5V10.5H4ZM9.5 9.5V4H5.5C4.67157 4 4 4.67157 4 5.5V9.5H9.5ZM10.5 10.5V16H14.5C15.3284 16 16 15.3284 16 14.5V10.5H10.5ZM16 9.5V5.5C16 4.67157 15.3284 4 14.5 4H10.5V9.5H16Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 3C4.11929 3 3 4.11929 3 5.5V9.5H9.5V3H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 10.5H3V14.5C3 15.8807 4.11929 17 5.5 17H9.5V10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 10.5H17V14.5C17 15.8807 15.8807 17 14.5 17H10.5V10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 9.5V5.5C17 4.11929 15.8807 3 14.5 3H10.5V9.5H17Z\"\n    })));\n  },\n  displayName: 'GroupVideoCallGridIcon'\n});\n//# sourceMappingURL=GroupVideoCallGridIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var HandIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4 12.0198C4 13.0755 4.20666 14.1209 4.60833 15.0972L5.19297 16.5182C5.42166 17.0741 5.83945 17.5312 6.37252 17.8088C6.63864 17.9474 6.93427 18.0198 7.23432 18.0198H9.78C10.5528 18.0198 11.2667 17.6071 11.6524 16.9375C12.1515 16.071 12.6674 15.2341 13.3651 14.5074L14.6934 13.1237C15.1347 12.664 15.6581 12.2757 16.1758 11.8918C16.3759 11.7434 16.5751 11.5956 16.7684 11.4446C16.9146 11.3304 17 11.1553 17 10.9698C17 10.2163 16.4636 9.39514 15.7834 9.17982C14.8731 8.87353 13.9873 8.9671 13.1312 9.39514C13.0864 9.41755 13.0427 9.44115 13 9.46586V4.5C13 3.67157 12.3284 3 11.5 3C11.3049 3 11.1185 3.03726 10.9475 3.10504C10.7741 2.46823 10.1917 2 9.5 2C8.80827 2 8.22589 2.46823 8.05254 3.10504C7.88155 3.03726 7.69512 3 7.5 3C6.67157 3 6 3.67157 6 4.5V4.58535C5.84361 4.53008 5.67532 4.5 5.5 4.5C4.67157 4.5 4 5.17157 4 6V12.0198ZM8 4.5V8.5C8 8.77614 8.22386 9 8.5 9C8.77614 9 9 8.77614 9 8.5V3.5C9 3.22386 9.22386 3 9.5 3C9.77614 3 10 3.22386 10 3.5V8.5C10 8.77614 10.2239 9 10.5 9C10.7761 9 11 8.77614 11 8.5V4.5C11 4.22386 11.2239 4 11.5 4C11.7761 4 12 4.22386 12 4.5L12.0004 10.4997C11.995 10.6342 12.0437 10.7706 12.1464 10.8733C12.3417 11.0686 12.6583 11.0686 12.8536 10.8733L12.8618 10.865C13.0816 10.6453 13.2961 10.4307 13.5784 10.2896C14.2748 9.94137 15.8006 9.71523 15.9847 10.7879C15.8088 10.9253 15.6288 11.0602 15.4482 11.1956C14.9335 11.5813 14.4141 11.9706 13.972 12.4311L12.6437 13.8148C11.8897 14.6002 11.3255 15.5015 10.7859 16.4384C10.5787 16.7981 10.1951 17.0198 9.78 17.0198H7.23432C7.0951 17.0198 6.95793 16.9862 6.83446 16.9219C6.51056 16.7532 6.25671 16.4755 6.11776 16.1377L5.53312 14.7167C5.18111 13.8612 5 12.945 5 12.0198V6C5 5.72386 5.22386 5.5 5.5 5.5C5.77614 5.5 6 5.72386 6 6V9.5C6 9.77614 6.22386 10 6.5 10C6.77614 10 7 9.77614 7 9.5V4.5C7 4.22386 7.22386 4 7.5 4C7.77614 4 8 4.22386 8 4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M9 8.5V2.75C9 2.33579 9.33579 2 9.75 2C10.1642 2 10.5 2.33579 10.5 2.75V8.5C10.5 8.77614 10.7239 9 11 9C11.2761 9 11.5 8.77614 11.5 8.5V3.75C11.5 3.33579 11.8358 3 12.25 3C12.6642 3 13 3.33579 13 3.75V10.2498C13.6616 9.82409 14.3919 9.5 15 9.5C15.9711 9.5 16.7874 9.82415 16.9841 10.6155C16.9959 10.6631 17 10.7122 17 10.7611C17 10.9115 16.9292 11.0531 16.8089 11.1433L15.4965 12.1276C14.4341 12.9244 13.4334 13.9933 12.7355 15.1163C12.3578 15.7239 12.0174 16.3529 11.6818 16.9844C11.3217 17.6615 11.0938 18 10 18H6.95452C6 18 5.63707 17.467 5 16C4.36293 14.533 4 13.0556 4 12.5V5.25C4 4.83579 4.33579 4.5 4.75 4.5C5.16421 4.5 5.5 4.83579 5.5 5.25V9C5.5 9.27614 5.72386 9.5 6 9.5C6.27614 9.5 6.5 9.27614 6.5 9V3.75C6.5 3.33579 6.83579 3 7.25 3C7.66421 3 8 3.33579 8 3.75V8.5C8 8.77614 8.22386 9 8.5 9C8.77614 9 9 8.77614 9 8.5Z\"\n    }));\n  },\n  displayName: 'HandIcon'\n});\n//# sourceMappingURL=HandIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var HeadsetIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 8C4 4.68629 6.68629 2 10 2C13.3137 2 16 4.68629 16 8V11C16 12.1046 15.1046 13 14 13H13C12.4477 13 12 12.5523 12 12V9C12 8.44772 12.4477 8 13 8H15C15 5.23858 12.7614 3 10 3C7.23858 3 5 5.23858 5 8H7C7.55228 8 8 8.44772 8 9V12C8 12.5523 7.55228 13 7 13H5V14C5 15.1046 5.89543 16 7 16H8C8 14.8954 8.89543 14 10 14C11.1046 14 12 14.8954 12 16C12 17.1046 11.1046 18 10 18C9.25972 18 8.61337 17.5978 8.26756 17H7C5.34315 17 4 15.6569 4 14V8ZM15 9H13V12H14C14.5523 12 15 11.5523 15 11V9ZM5 12H7V9H5V12ZM9 16C9 16.5523 9.44772 17 10 17C10.5523 17 11 16.5523 11 16C11 15.4477 10.5523 15 10 15C9.44772 15 9 15.4477 9 16Z\"\n    }));\n  },\n  displayName: 'HeadsetIcon'\n});\n//# sourceMappingURL=HeadsetIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var HighlightIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 2C3.27614 2 3.5 2.22386 3.5 2.5V5.5C3.5 5.77614 3.72386 6 4 6H16C16.2761 6 16.5 5.77614 16.5 5.5V2.5C16.5 2.22386 16.7239 2 17 2C17.2761 2 17.5 2.22386 17.5 2.5V5.5C17.5 6.32843 16.8284 7 16 7H15.809L12.2236 14.1708C12.0615 14.4951 11.7914 14.7431 11.4695 14.8802C11.4905 15.0808 11.5 15.2891 11.5 15.5C11.5 16.0818 11.4278 16.6623 11.2268 17.1165C11.019 17.5862 10.6266 18 10 18C9.37343 18 8.98105 17.5862 8.77323 17.1165C8.57222 16.6623 8.5 16.0818 8.5 15.5C8.5 15.2891 8.50952 15.0808 8.53051 14.8802C8.20863 14.7431 7.93851 14.4951 7.77639 14.1708L4.19098 7H4C3.17157 7 2.5 6.32843 2.5 5.5V2.5C2.5 2.22386 2.72386 2 3 2ZM9.11803 14H10.882C11.0714 14 11.2445 13.893 11.3292 13.7236L14.691 7H5.30902L8.67082 13.7236C8.75552 13.893 8.92865 14 9.11803 14ZM9.52346 15C9.50787 15.1549 9.5 15.3225 9.5 15.5C9.5 16.0228 9.56841 16.4423 9.6877 16.7119C9.8002 16.9661 9.90782 17 10 17C10.0922 17 10.1998 16.9661 10.3123 16.7119C10.4316 16.4423 10.5 16.0228 10.5 15.5C10.5 15.3225 10.4921 15.1549 10.4765 15H9.52346Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M8.51937 15C8.50601 15.1646 8.5 15.3322 8.5 15.5C8.5 16.0818 8.57222 16.6623 8.77323 17.1165C8.98105 17.5862 9.37343 18 10 18C10.6266 18 11.019 17.5862 11.2268 17.1165C11.4278 16.6623 11.5 16.0818 11.5 15.5C11.5 15.3322 11.494 15.1646 11.4806 15H8.51937ZM2.5 5.5V2.5C2.5 2.22386 2.72386 2 3 2H17C17.2761 2 17.5 2.22386 17.5 2.5V5.5C17.5 6.32843 16.8284 7 16 7H4C3.17157 7 2.5 6.32843 2.5 5.5ZM4.75 8L7.47361 13.4472C7.643 13.786 7.98926 14 8.36803 14H11.632C12.0107 14 12.357 13.786 12.5264 13.4472L15.25 8H4.75Z\"\n    }));\n  },\n  displayName: 'HighlightIcon'\n});\n//# sourceMappingURL=HighlightIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var HorizontalRuleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M23.25,17H8.75C8.3359,17,8,16.6641,8,16.25s0.3359-0.75,0.75-0.75h14.5c0.4141,0,0.75,0.3359,0.75,0.75 S23.6641,17,23.25,17z M21,12.5c0-0.2764-0.2236-0.5-0.5-0.5h-9c-0.2764,0-0.5,0.2236-0.5,0.5s0.2236,0.5,0.5,0.5h9 C20.7764,13,21,12.7764,21,12.5z M21,9.5C21,9.2236,20.7764,9,20.5,9h-9C11.2236,9,11,9.2236,11,9.5s0.2236,0.5,0.5,0.5h9 C20.7764,10,21,9.7764,21,9.5z M21,23.5c0-0.2764-0.2236-0.5-0.5-0.5h-9c-0.2764,0-0.5,0.2236-0.5,0.5s0.2236,0.5,0.5,0.5h9 C20.7764,24,21,23.7764,21,23.5z M21,20.5c0-0.2764-0.2236-0.5-0.5-0.5h-9c-0.2764,0-0.5,0.2236-0.5,0.5s0.2236,0.5,0.5,0.5h9 C20.7764,21,21,20.7764,21,20.5z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M22.75,17.5H9.25C8.5596,17.5,8,16.9404,8,16.25S8.5596,15,9.25,15h13.5c0.6904,0,1.25,0.5596,1.25,1.25 S23.4404,17.5,22.75,17.5z M21,12.5c0-0.2764-0.2236-0.5-0.5-0.5h-9c-0.2764,0-0.5,0.2236-0.5,0.5s0.2236,0.5,0.5,0.5h9 C20.7764,13,21,12.7764,21,12.5z M21,9.5C21,9.2236,20.7764,9,20.5,9h-9C11.2236,9,11,9.2236,11,9.5s0.2236,0.5,0.5,0.5h9 C20.7764,10,21,9.7764,21,9.5z M21,23.5c0-0.2764-0.2236-0.5-0.5-0.5h-9c-0.2764,0-0.5,0.2236-0.5,0.5s0.2236,0.5,0.5,0.5h9 C20.7764,24,21,23.7764,21,23.5z M21,20.5c0-0.2764-0.2236-0.5-0.5-0.5h-9c-0.2764,0-0.5,0.2236-0.5,0.5s0.2236,0.5,0.5,0.5h9 C20.7764,21,21,20.7764,21,20.5z\"\n    })));\n  },\n  displayName: 'HorizontalRuleIcon'\n});\n//# sourceMappingURL=HorizontalRuleIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ImageAltTextIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg,\n      style: {\n        overflow: 'visible'\n      }\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 1C1.89542 1 1 1.89539 1 3V7C1 8.10461 1.89542 9 3 9H8C9.10458 9 10 8.10461 10 7V3C10 1.89539 9.10458 1 8 1H3ZM3.5 6H7.5C7.77615 6 8 6.22388 8 6.5C8 6.77612 7.77615 7 7.5 7H3.5C3.22385 7 3 6.77612 3 6.5C3 6.22388 3.22385 6 3.5 6ZM3 3.5C3 3.22388 3.22385 3 3.5 3H7.5C7.77615 3 8 3.22388 8 3.5C8 3.77612 7.77615 4 7.5 4H3.5C3.22385 4 3 3.77612 3 3.5ZM3 14V10H4V14C4 14.3727 4.1019 14.7214 4.27939 15.0201L8.94867 10.432C9.53226 9.85864 10.4677 9.85864 11.0513 10.432L15.7206 15.0201C15.8981 14.7214 16 14.3727 16 14V6C16 4.89539 15.1046 4 14 4H11V3H14C15.6569 3 17 4.34314 17 6V14C17 15.6569 15.6569 17 14 17H6C4.34314 17 3 15.6569 3 14ZM6 16H14C14.3691 16 14.7149 15.9 15.0117 15.7256L10.3504 11.1453C10.1559 10.9542 9.84409 10.9542 9.64957 11.1453L4.98825 15.7256C5.28506 15.9 5.63086 16 6 16ZM12.5 9C11.6716 9 11 8.32837 11 7.5C11 6.67163 11.6716 6 12.5 6C13.3284 6 14 6.67163 14 7.5C14 8.32837 13.3284 9 12.5 9ZM13 7.5C13 7.22388 12.7762 7 12.5 7C12.2238 7 12 7.22388 12 7.5C12 7.77612 12.2238 8 12.5 8C12.7762 8 13 7.77612 13 7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M1 3C1 1.89539 1.89542 1 3 1H8C9.10458 1 10 1.89539 10 3V7C10 8.10461 9.10458 9 8 9H3C1.89542 9 1 8.10461 1 7V3ZM3 6.5C3 6.77612 3.22385 7 3.5 7H7.5C7.77615 7 8 6.77612 8 6.5C8 6.22388 7.77615 6 7.5 6H3.5C3.22385 6 3 6.22388 3 6.5ZM3.5 3C3.22385 3 3 3.22388 3 3.5C3 3.77612 3.22385 4 3.5 4H7.5C7.77615 4 8 3.77612 8 3.5C8 3.22388 7.77615 3 7.5 3H3.5ZM12.5 8C12.7761 8 13 7.77614 13 7.5C13 7.22386 12.7761 7 12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8ZM3 10H8C9.65686 10 11 8.65691 11 7V3H14C15.6569 3 17 4.34315 17 6V14C17 14.6495 16.7936 15.2509 16.4428 15.7419L11.0524 10.4345C10.4686 9.85964 9.53144 9.85964 8.94759 10.4345L3.55724 15.7419C3.20642 15.2509 3 14.6495 3 14V10ZM12.5 9C13.3284 9 14 8.32843 14 7.5C14 6.67157 13.3284 6 12.5 6C11.6716 6 11 6.67157 11 7.5C11 8.32843 11.6716 9 12.5 9ZM4.26544 16.448C4.75517 16.7956 5.35372 17 6 17H14C14.6463 17 15.2448 16.7956 15.7346 16.448L10.3508 11.1471C10.1562 10.9555 9.84381 10.9555 9.6492 11.1471L4.26544 16.448Z\"\n    }));\n  },\n  displayName: 'ImageAltTextIcon'\n});\n//# sourceMappingURL=ImageAltTextIcon.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ImageLibraryIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M16,5.76392 C16.6138,6.31324 17,7.11152 17,8.00002 L17,12.5 C17,14.9853 14.9853,17 12.5,17 L8.00002,17 C7.11152,17 6.31324,16.6138 5.76392,16 L12.5,16 C14.3122,16 15.8027,14.6228 15.982,12.8579 C15.9939,12.7402 16,12.6208 16,12.5 L16,5.76392 Z M12,3 C13.6569,3 15,4.34315 15,6 L15,12 C15,13.6569 13.6569,15 12,15 L6,15 C4.34315,15 3,13.6569 3,12 L3,6 C3,4.34315 4.34315,3 6,3 L12,3 Z M8.3870765,10.3310166 L8.29287,10.4142 L4.98401,13.7231 C5.23214333,13.8696833 5.51469333,13.9642528 5.81663106,13.9917042 L6,14 L12,14 C12.3090833,14 12.6017778,13.9298611 12.8630949,13.8046875 L13.016,13.7231 L9.70708,10.4142 C9.3466,10.0537385 8.77936497,10.0260107 8.3870765,10.3310166 Z M12,4 L6,4 C4.94563773,4 4.08183483,4.81587733 4.00548573,5.85073759 L4,6 L4,12 C4,12.3090833 4.07011111,12.6017778 4.1953044,12.8630949 L4.27691,13.016 L7.58576,9.70712 C8.32570211,8.96718737 9.50118637,8.92824355 10.2869835,9.59028853 L10.4142,9.70712 L13.7231,13.016 C13.8696833,12.7678333 13.9642528,12.4852917 13.9917042,12.1833634 L14,12 L14,6 C14,4.94563773 13.18415,4.08183483 12.1492661,4.00548573 L12,4 Z M11.5,5.5 C12.0523,5.5 12.5,5.94772 12.5,6.5 C12.5,7.05228 12.0523,7.5 11.5,7.5 C10.9477,7.5 10.5,7.05228 10.5,6.5 C10.5,5.94772 10.9477,5.5 11.5,5.5 Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M16,5.76392 C16.5665846,6.27098462 16.9392379,6.99018083 16.9932166,7.79665533 L17,8.00002 L17,12.5 C17,14.9142914 15.0987811,16.8844901 12.7118372,16.9951021 L12.5,17 L8.00002,17 C7.17986615,17 6.43658615,16.6709302 5.89503331,16.1375337 L5.76392,16 L12.5,16 C14.3122,16 15.8027,14.6228 15.982,12.8579 L15.9954625,12.6801125 L16,12.5 L16,5.76392 Z M9.6128735,10.3310166 L9.70708,10.4142 L13.7382,14.4454 C13.3022889,14.7558 12.7798593,14.9525802 12.2141045,14.9924771 L12,15 L6,15 C5.42407111,15 4.88605235,14.8377086 4.42917224,14.5563896 L4.26173,14.4454 L8.29287,10.4142 C8.65335,10.0537385 9.22058503,10.0260107 9.6128735,10.3310166 Z M12,3 C13.597725,3 14.903664,4.24892392 14.9949075,5.82372764 L15,6 L15,12 C15,12.5759111 14.8377086,13.1139753 14.5563896,13.5708587 L14.4454,13.7383 L10.4142,9.70712 C9.67424842,8.96718737 8.49876366,8.92824355 7.71297498,9.59028853 L7.58576,9.70712 L3.55462,13.7383 C3.24419333,13.3023889 3.04741802,12.7798802 3.00752261,12.214108 L3,12 L3,6 C3,4.40232321 4.24892392,3.09633941 5.82372764,3.00509271 L6,3 L12,3 Z M11.5,5.5 C10.9477,5.5 10.5,5.94772 10.5,6.5 C10.5,7.05228 10.9477,7.5 11.5,7.5 C12.0523,7.5 12.5,7.05228 12.5,6.5 C12.5,5.94772 12.0523,5.5 11.5,5.5 Z\"\n    }));\n  },\n  displayName: 'ImageLibraryIcon'\n});\n//# sourceMappingURL=ImageLibraryIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ImageUnavailableIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L3.55462 4.26173C3.20539 4.75213 3 5.35207 3 5.99999V14C3 15.6568 4.34315 17 6 17H14C14.6479 17 15.2479 16.7946 15.7383 16.4454L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L2.85355 2.14645ZM9.41374 10.1208C9.24519 10.1923 9.08705 10.2961 8.94868 10.432L4.27937 15.0201C4.10191 14.7214 4 14.3726 4 14V5.99999C4 5.62909 4.10096 5.28177 4.2769 4.98401L9.41374 10.1208ZM6 16C5.63085 16 5.28505 15.9 4.98824 15.7256L9.64956 11.1453C9.84409 10.9542 10.1559 10.9542 10.3504 11.1453L15.0118 15.7256C14.7149 15.9 14.3692 16 14 16H6ZM16 5.99999V13.8786L16.8984 14.777C16.9647 14.5292 17 14.2687 17 14V5.99999C17 4.34313 15.6569 2.99999 14 2.99999H6C5.73127 2.99999 5.47078 3.03532 5.22295 3.1016L6.12134 3.99999H14C15.1046 3.99999 16 4.89542 16 5.99999ZM14 7.49999C14 6.67156 13.3284 5.99999 12.5 5.99999C11.6716 5.99999 11 6.67156 11 7.49999C11 8.32841 11.6716 8.99999 12.5 8.99999C13.3284 8.99999 14 8.32841 14 7.49999ZM13 7.49999C13 7.77613 12.7761 7.99999 12.5 7.99999C12.2239 7.99999 12 7.77613 12 7.49999C12 7.22384 12.2239 6.99999 12.5 6.99999C12.7761 6.99999 13 7.22384 13 7.49999Z\"\n    }));\n  },\n  displayName: 'ImageUnavailableIcon'\n});\n//# sourceMappingURL=ImageUnavailableIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var IndentIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 4.5C6 4.22386 6.22386 4 6.5 4H14.5C14.7761 4 15 4.22386 15 4.5C15 4.77614 14.7761 5 14.5 5H6.5C6.22386 5 6 4.77614 6 4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 9.5C6 9.22386 6.22386 9 6.5 9H17.5C17.7761 9 18 9.22386 18 9.5C18 9.77614 17.7761 10 17.5 10H6.5C6.22386 10 6 9.77614 6 9.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 14C6.22386 14 6 14.2239 6 14.5C6 14.7761 6.22386 15 6.5 15H12.5C12.7761 15 13 14.7761 13 14.5C13 14.2239 12.7761 14 12.5 14H6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 7.73226C2.65829 7.537 2.34171 7.537 2.14645 7.73226C1.95118 7.92752 1.95118 8.24411 2.14645 8.43937L3.20711 9.50003L2.14645 10.5607C1.95118 10.756 1.95118 11.0725 2.14645 11.2678C2.34171 11.4631 2.65829 11.4631 2.85355 11.2678L4.26777 9.85358C4.46303 9.65832 4.46303 9.34174 4.26777 9.14648L2.85355 7.73226Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 4.75C6 4.33579 6.33579 4 6.75 4H14.25C14.6642 4 15 4.33579 15 4.75C15 5.16421 14.6642 5.5 14.25 5.5H6.75C6.33579 5.5 6 5.16421 6 4.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.75 9C6.33579 9 6 9.33579 6 9.75C6 10.1642 6.33579 10.5 6.75 10.5H17.25C17.6642 10.5 18 10.1642 18 9.75C18 9.33579 17.6642 9 17.25 9H6.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.75 14C6.33579 14 6 14.3358 6 14.75C6 15.1642 6.33579 15.5 6.75 15.5H12.25C12.6642 15.5 13 15.1642 13 14.75C13 14.3358 12.6642 14 12.25 14H6.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.03033 7.71967C2.73744 7.42678 2.26256 7.42678 1.96967 7.71967C1.67678 8.01256 1.67678 8.48744 1.96967 8.78033L2.93934 9.75L1.96967 10.7197C1.67678 11.0126 1.67678 11.4874 1.96967 11.7803C2.26256 12.0732 2.73744 12.0732 3.03033 11.7803L4.53033 10.2803C4.82322 9.98744 4.82322 9.51256 4.53033 9.21967L3.03033 7.71967Z\"\n    })));\n  },\n  displayName: 'IndentIcon'\n});\n//# sourceMappingURL=IndentIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var InfoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.4921 8.91012C10.4497 8.67687 10.2456 8.49999 10.0001 8.49999C9.72397 8.49999 9.50011 8.72385 9.50011 8.99999V13.5021L9.50817 13.592C9.55051 13.8253 9.75465 14.0021 10.0001 14.0021C10.2763 14.0021 10.5001 13.7783 10.5001 13.5021V8.99999L10.4921 8.91012Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.7988 6.74999C10.7988 6.33578 10.463 5.99999 10.0488 5.99999C9.63461 5.99999 9.29883 6.33578 9.29883 6.74999C9.29883 7.16421 9.63461 7.49999 10.0488 7.49999C10.463 7.49999 10.7988 7.16421 10.7988 6.74999Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10ZM3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10ZM9.50806 8.91012C9.55039 8.67687 9.75454 8.49999 10 8.49999C10.2455 8.49999 10.4496 8.67687 10.4919 8.91012L10.5 8.99999V13.5021L10.4919 13.592C10.4496 13.8253 10.2455 14.0021 10 14.0021C9.75454 14.0021 9.55039 13.8253 9.50806 13.592L9.5 13.5021V8.99999L9.50806 8.91012ZM9.25 6.74999C9.25 6.33578 9.58579 5.99999 10 5.99999C10.4142 5.99999 10.75 6.33578 10.75 6.74999C10.75 7.16421 10.4142 7.49999 10 7.49999C9.58579 7.49999 9.25 7.16421 9.25 6.74999Z\"\n    }));\n  },\n  displayName: 'InfoIcon'\n});\n//# sourceMappingURL=InfoIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ItalicIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M16 3C16.2761 3 16.5 3.22386 16.5 3.5C16.5 3.77614 16.2761 4 16 4H12.843L8.227 16H11.5C11.7761 16 12 16.2239 12 16.5C12 16.7761 11.7761 17 11.5 17H4C3.72386 17 3.5 16.7761 3.5 16.5C3.5 16.2239 3.72386 16 4 16H7.156L11.771 4H8.5C8.22386 4 8 3.77614 8 3.5C8 3.22386 8.22386 3 8.5 3H16Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M8 3.25C8 2.83579 8.33579 2.5 8.75 2.5H16.25C16.6642 2.5 17 2.83579 17 3.25C17 3.66421 16.6642 4 16.25 4H13.0151L8.59202 15.5H11.25C11.6642 15.5 12 15.8358 12 16.25C12 16.6642 11.6642 17 11.25 17H3.75C3.33579 17 3 16.6642 3 16.25C3 15.8358 3.33579 15.5 3.75 15.5H6.9849L11.408 4H8.75C8.33579 4 8 3.66421 8 3.25Z\"\n    }));\n  },\n  displayName: 'ItalicIcon'\n});\n//# sourceMappingURL=ItalicIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var LeaveIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      style: {\n        overflow: 'visible'\n      },\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M9 2C6.79086 2 5 3.79086 5 6C5 8.20914 6.79086 10 9 10C11.2091 10 13 8.20914 13 6C13 3.79086 11.2091 2 9 2ZM6 6C6 4.34315 7.34315 3 9 3C10.6569 3 12 4.34315 12 6C12 7.65685 10.6569 9 9 9C7.34315 9 6 7.65685 6 6ZM4.00873 11C2.90315 11 2 11.8869 2 13C2 14.6912 2.83281 15.9663 4.13499 16.7966C5.41697 17.614 7.14526 18 9 18C9.41085 18 9.8155 17.9811 10.2105 17.9427C9.97298 17.6472 9.7654 17.3266 9.59233 16.9855C9.39798 16.9951 9.20041 17 9 17C7.26489 17 5.74318 16.636 4.67262 15.9534C3.62226 15.2837 3 14.3088 3 13C3 12.4467 3.44786 12 4.00873 12L9.59971 12C9.7826 11.6422 10.0035 11.3071 10.2572 11L4.00873 11ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM12.1468 14.146L12.1443 14.1486C12.0974 14.196 12.062 14.2505 12.0379 14.3086C12.0139 14.3667 12.0004 14.4303 12 14.497L12 14.5L12 14.503C12.0004 14.5697 12.0139 14.6333 12.0379 14.6914C12.0623 14.7504 12.0985 14.8056 12.1464 14.8536L14.1464 16.8536C14.3417 17.0488 14.6583 17.0488 14.8536 16.8536C15.0488 16.6583 15.0488 16.3417 14.8536 16.1464L13.7071 15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H13.7071L14.8536 12.8536C15.0488 12.6583 15.0488 12.3417 14.8536 12.1464C14.6583 11.9512 14.3417 11.9512 14.1464 12.1464L12.1468 14.146Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M9 2C6.79086 2 5 3.79086 5 6C5 8.20914 6.79086 10 9 10C11.2091 10 13 8.20914 13 6C13 3.79086 11.2091 2 9 2ZM4.00873 11C2.90315 11 2 11.8869 2 13C2 14.6912 2.83281 15.9663 4.13499 16.7966C5.41697 17.614 7.14526 18 9 18C9.41085 18 9.8155 17.9811 10.2105 17.9427C9.45316 17.0003 9 15.8031 9 14.5C9 13.1704 9.47182 11.9509 10.2572 11L4.00873 11ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM12.1468 14.146L12.1443 14.1486C12.0974 14.196 12.062 14.2505 12.0379 14.3086C12.0139 14.3667 12.0004 14.4303 12 14.497L12 14.5L12 14.503C12.0004 14.5697 12.0139 14.6333 12.0379 14.6914C12.0623 14.7504 12.0985 14.8056 12.1464 14.8536L14.1464 16.8536C14.3417 17.0488 14.6583 17.0488 14.8536 16.8536C15.0488 16.6583 15.0488 16.3417 14.8536 16.1464L13.7071 15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H13.7071L14.8536 12.8536C15.0488 12.6583 15.0488 12.3417 14.8536 12.1464C14.6583 11.9512 14.3417 11.9512 14.1464 12.1464L12.1468 14.146Z\"\n    }));\n  },\n  displayName: 'LeaveIcon'\n});\n//# sourceMappingURL=LeaveIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var LightningIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M6.19152 2.77054C6.32183 2.31445 6.7387 2 7.21304 2H12.4621C13.1873 2 13.6993 2.71043 13.47 3.39836L13.4675 3.40584L13.4674 3.40582L12.2061 7H14.7698C15.7162 7 16.1772 8.1436 15.5363 8.81137L15.5328 8.81508L15.5328 8.81506L6.85624 17.6726C6.10187 18.4551 4.79709 17.7329 5.061 16.6773L6.23072 11.9984H4.96344C4.2576 11.9984 3.74801 11.3228 3.94191 10.6442L6.19152 2.77054ZM7.21304 3C7.18518 3 7.1607 3.01847 7.15304 3.04526L4.90344 10.9189C4.89205 10.9587 4.92198 10.9984 4.96344 10.9984H6.8711C7.02507 10.9984 7.17045 11.0694 7.26521 11.1907C7.35996 11.3121 7.39352 11.4703 7.35617 11.6197L6.03114 16.9198C6.02722 16.9355 6.02752 16.9448 6.02795 16.949C6.02839 16.9534 6.02942 16.9568 6.031 16.9601C6.03456 16.9676 6.04387 16.9798 6.06149 16.9896C6.07911 16.9993 6.09441 17.0007 6.10265 16.9997C6.1063 16.9993 6.10973 16.9984 6.11368 16.9964C6.11748 16.9945 6.12551 16.9898 6.1367 16.9782L6.14026 16.9745L6.14028 16.9745L14.8159 8.11787C14.828 8.10484 14.8313 8.09481 14.8326 8.0864C14.8343 8.07504 14.8332 8.05898 14.826 8.04178C14.8188 8.0246 14.8086 8.01365 14.8009 8.00817C14.7956 8.00438 14.7877 8 14.7698 8H11.5007C11.3386 8 11.1865 7.9214 11.0928 7.78915C10.999 7.65689 10.9752 7.48739 11.0289 7.33443L12.5219 3.08022C12.5338 3.04042 12.504 3 12.4621 3H7.21304Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M7.21304 2C6.7387 2 6.32183 2.31445 6.19152 2.77054L3.94191 10.6442C3.74801 11.3228 4.2576 11.9984 4.96344 11.9984H6.23072L5.061 16.6773C4.79709 17.7329 6.10187 18.4551 6.85624 17.6726L15.5328 8.81506L15.5363 8.81137C16.1772 8.1436 15.7162 7 14.7698 7H12.2061L13.4674 3.40582L13.47 3.39836C13.6993 2.71043 13.1873 2 12.4621 2H7.21304Z\"\n    })));\n  },\n  displayName: 'LightningIcon'\n});\n//# sourceMappingURL=LightningIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var LikeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10.052 2.29429C10.3913 1.31699 11.6841 0.866721 12.4829 1.70385C12.6455 1.87427 12.8081 2.05843 12.9176 2.22265C13.2379 2.70316 13.3725 3.33595 13.4218 3.95232C13.4721 4.58045 13.438 5.25457 13.3738 5.86484C13.3093 6.47746 13.2129 7.03959 13.1328 7.44777C13.1294 7.46547 13.1259 7.48288 13.1225 7.5H14.006C15.8777 7.5 17.2924 9.19514 16.9576 11.0367L16.2737 14.7984C15.8017 17.3943 13.2078 19.0291 10.6622 18.3348L5.06251 16.8076C4.14894 16.5585 3.45455 15.8145 3.26885 14.886L2.91581 13.1208C2.63809 11.7322 3.69991 10.5624 4.82905 10.1161C5.15163 9.98861 5.44337 9.82679 5.66974 9.62597C7.37583 8.11245 7.99442 6.90287 9.05406 4.77695C9.4084 4.06605 9.77205 3.10054 10.052 2.29429ZM12.0165 7.87862L12.0169 7.87707L12.0187 7.86973L12.0262 7.83863C12.0328 7.81079 12.0426 7.76903 12.0549 7.71494C12.0793 7.60669 12.1135 7.4493 12.1515 7.25536C12.2277 6.86666 12.3188 6.33504 12.3793 5.76016C12.4401 5.18293 12.4685 4.5758 12.425 4.03206C12.3806 3.47655 12.2652 3.04684 12.0855 2.77735C12.0264 2.6887 11.9138 2.55604 11.7594 2.39421C11.5605 2.18576 11.1314 2.23428 10.9967 2.62228C10.7141 3.43609 10.3334 4.45194 9.94904 5.22305C8.88216 7.36349 8.19326 8.72408 6.33336 10.374C5.99304 10.6759 5.58878 10.8911 5.19665 11.0461C4.31631 11.3941 3.75035 12.1945 3.89639 12.9247L4.24943 14.6899C4.36085 15.247 4.77748 15.6934 5.32562 15.8428L10.9254 17.3701C12.9052 17.91 14.9227 16.6385 15.2898 14.6195L15.9738 10.8578C16.197 9.63009 15.2538 8.5 14.006 8.5H12.5015C12.3476 8.5 12.2022 8.42906 12.1074 8.30771C12.0127 8.18638 11.9792 8.02796 12.0165 7.87862C12.0165 7.87866 12.0165 7.87858 12.0165 7.87862Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M12.4829 1.70386C11.6841 0.866733 10.3913 1.317 10.052 2.2943C9.77205 3.10056 9.4084 4.06607 9.05406 4.77696C7.99442 6.90288 7.37583 8.11247 5.66974 9.62598C5.44337 9.8268 5.15163 9.98862 4.82905 10.1161C3.69991 10.5625 2.63809 11.7322 2.91581 13.1208L3.26885 14.886C3.45455 15.8145 4.14894 16.5585 5.06251 16.8076L10.6622 18.3348C13.2078 19.0291 15.8017 17.3943 16.2737 14.7984L16.9576 11.0367C17.2924 9.19515 15.8777 7.50001 14.006 7.50001H13.1225L13.1328 7.44778C13.2129 7.0396 13.3093 6.47747 13.3738 5.86485C13.438 5.25459 13.4721 4.58046 13.4218 3.95233C13.3725 3.33596 13.2379 2.70317 12.9176 2.22266C12.8081 2.05844 12.6455 1.87428 12.4829 1.70386Z\"\n    }));\n  },\n  displayName: 'LikeIcon'\n});\n//# sourceMappingURL=LikeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var LinkIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M8 6C8.27614 6 8.5 6.22386 8.5 6.5C8.5 6.74546 8.32312 6.94961 8.08988 6.99194L8 7H6C4.34315 7 3 8.34315 3 10C3 11.5906 4.23784 12.892 5.80275 12.9936L6 13H8C8.27614 13 8.5 13.2239 8.5 13.5C8.5 13.7455 8.32312 13.9496 8.08988 13.9919L8 14H6C3.79086 14 2 12.2091 2 10C2 7.8645 3.67346 6.11986 5.78053 6.00592L6 6H8ZM14 6C16.2091 6 18 7.79086 18 10C18 12.1355 16.3265 13.8801 14.2195 13.9941L14 14H12C11.7239 14 11.5 13.7761 11.5 13.5C11.5 13.2545 11.6769 13.0504 11.9101 13.0081L12 13H14C15.6569 13 17 11.6569 17 10C17 8.40942 15.7622 7.10795 14.1973 7.00638L14 7H12C11.7239 7 11.5 6.77614 11.5 6.5C11.5 6.25454 11.6769 6.05039 11.9101 6.00806L12 6H14ZM6 9.5H14C14.2761 9.5 14.5 9.72386 14.5 10C14.5 10.2455 14.3231 10.4496 14.0899 10.4919L14 10.5H6C5.72386 10.5 5.5 10.2761 5.5 10C5.5 9.75454 5.67688 9.55039 5.91012 9.50806L6 9.5H14H6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M14 6C16.2091 6 18 7.79086 18 10C18 12.1422 16.316 13.8911 14.1996 13.9951L14 14H12C11.5858 14 11.25 13.6642 11.25 13.25C11.25 12.8703 11.5322 12.5565 11.8982 12.5068L12 12.5H14C15.3807 12.5 16.5 11.3807 16.5 10C16.5 8.67452 15.4685 7.58996 14.1644 7.50532L14 7.5H12C11.5858 7.5 11.25 7.16421 11.25 6.75C11.25 6.3703 11.5322 6.05651 11.8982 6.00685L12 6H14ZM8 6C8.41421 6 8.75 6.33579 8.75 6.75C8.75 7.1297 8.46785 7.44349 8.10177 7.49315L8 7.5H6C4.61929 7.5 3.5 8.61929 3.5 10C3.5 11.3255 4.53154 12.41 5.83562 12.4947L6 12.5H8C8.41421 12.5 8.75 12.8358 8.75 13.25C8.75 13.6297 8.46785 13.9435 8.10177 13.9932L8 14H6C3.79086 14 2 12.2091 2 10C2 7.8578 3.68397 6.10892 5.80036 6.0049L6 6H8ZM6.25 9.25H13.75C14.1642 9.25 14.5 9.58579 14.5 10C14.5 10.3797 14.2178 10.6935 13.8518 10.7432L13.75 10.75H6.25C5.83579 10.75 5.5 10.4142 5.5 10C5.5 9.6203 5.78215 9.30651 6.14823 9.25685L6.25 9.25H13.75H6.25Z\"\n    }));\n  },\n  displayName: 'LinkIcon'\n});\n//# sourceMappingURL=LinkIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var LiveIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.35281 4.33358C4.53936 4.14767 4.83968 4.15776 5.02591 4.344C5.22983 4.54791 5.21706 4.88086 5.01461 5.08624C3.76882 6.35005 3 8.08528 3 10.0001C3 11.9902 3.83047 13.7863 5.16377 15.0608C5.37638 15.2641 5.39483 15.6053 5.18685 15.8132C5.00478 15.9953 4.71256 16.0093 4.52487 15.833C2.97073 14.3737 2 12.3002 2 10.0001C2 7.78604 2.89942 5.78206 4.35281 4.33358Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.9854 5.08624C14.7829 4.88086 14.7702 4.54791 14.9741 4.344C15.1603 4.15776 15.4606 4.14767 15.6472 4.33358C17.1006 5.78206 18 7.78604 18 10.0001C18 12.3002 17.0293 14.3737 15.4751 15.833C15.2874 16.0093 14.9952 15.9953 14.8132 15.8132C14.6052 15.6053 14.6236 15.2641 14.8362 15.0608C16.1695 13.7863 17 11.9902 17 10.0001C17 8.08528 16.2312 6.35005 14.9854 5.08624Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.13159 6.0903C6.31407 5.90973 6.60608 5.92403 6.78761 6.10556C6.99573 6.31368 6.97537 6.6551 6.7704 6.86631C5.98409 7.67655 5.5 8.78172 5.5 9.99995C5.5 11.2905 6.04324 12.4541 6.91351 13.2747C7.13387 13.4824 7.16356 13.8364 6.9494 14.0505C6.77419 14.2258 6.49437 14.2453 6.31064 14.0791C5.19861 13.0727 4.5 11.6179 4.5 9.99995C4.5 8.47068 5.12414 7.08719 6.13159 6.0903Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.2296 6.86631C13.0246 6.6551 13.0043 6.31368 13.2124 6.10556C13.3939 5.92403 13.6859 5.90973 13.8684 6.0903C14.8759 7.08718 15.5 8.47068 15.5 9.99995C15.5 11.6179 14.8014 13.0727 13.6894 14.0791C13.5056 14.2453 13.2258 14.2258 13.0506 14.0505C12.8364 13.8364 12.8661 13.4824 13.0865 13.2747C13.9568 12.4541 14.5 11.2905 14.5 9.99995C14.5 8.78172 14.0159 7.67655 13.2296 6.86631Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 8.75C9.30964 8.75 8.75 9.30964 8.75 10C8.75 10.6904 9.30964 11.25 10 11.25C10.6904 11.25 11.25 10.6904 11.25 10C11.25 9.30964 10.6904 8.75 10 8.75Z\"\n    }));\n  },\n  displayName: 'LiveIcon'\n});\n//# sourceMappingURL=LiveIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var LiveOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L4.00062 4.70774C2.75552 6.11809 2 7.97086 2 10.0001C2 12.3002 2.97073 14.3737 4.52487 15.833C4.71256 16.0093 5.00478 15.9953 5.18685 15.8132C5.39483 15.6053 5.37638 15.2641 5.16377 15.0608C3.83047 13.7863 3 11.9902 3 10.0001C3 8.24703 3.64442 6.64449 4.7093 5.41642L5.77334 6.48046C4.9783 7.4342 4.5 8.66122 4.5 9.99995C4.5 11.6179 5.19861 13.0727 6.31064 14.0791C6.49437 14.2453 6.77419 14.2258 6.9494 14.0506C7.16356 13.8364 7.13387 13.4824 6.91351 13.2747C6.04324 12.4541 5.5 11.2905 5.5 9.99995C5.5 8.93746 5.86823 7.96097 6.48402 7.19114L8.83609 9.54321C8.78052 9.68471 8.75 9.83879 8.75 10C8.75 10.6904 9.30964 11.25 10 11.25C10.1612 11.25 10.3153 11.2195 10.4568 11.1639L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1465L15.9995 15.2924C15.9994 15.2924 15.9995 15.2924 15.9995 15.2924L15.2908 14.5837C15.2908 14.5837 15.2908 14.5837 15.2908 14.5837L14.2266 13.5195C14.2266 13.5195 14.2266 13.5195 14.2266 13.5195L13.5159 12.8088C13.5159 12.8088 13.5159 12.8088 13.5159 12.8088L11.1639 10.4568C11.1639 10.4568 11.1639 10.4568 11.1639 10.4568L9.54321 8.83609C9.54322 8.83609 9.54321 8.83609 9.54321 8.83609L2.85355 2.14646Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.6178 14.4965C17.4901 13.2151 18 11.6671 18 10.0001C18 7.78604 17.1006 5.78206 15.6472 4.33358C15.4606 4.14767 15.1603 4.15776 14.9741 4.344C14.7702 4.54791 14.7829 4.88086 14.9854 5.08624C16.2312 6.35005 17 8.08529 17 10.0001C17 11.3902 16.5948 12.6856 15.8961 13.7748L16.6178 14.4965Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.803 12.6817C15.247 11.8883 15.5 10.9737 15.5 9.99995C15.5 8.47068 14.8759 7.08719 13.8684 6.0903C13.6859 5.90973 13.3939 5.92403 13.2124 6.10556C13.0043 6.31368 13.0246 6.6551 13.2296 6.86631C14.0159 7.67655 14.5 8.78172 14.5 9.99995C14.5 10.6947 14.3426 11.3526 14.0614 11.9401L14.803 12.6817Z\"\n    }));\n  },\n  displayName: 'LiveOffIcon'\n});\n//# sourceMappingURL=LiveOffIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var LocationIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 9C13 10.6569 11.6569 12 10 12C8.34315 12 7 10.6569 7 9C7 7.34315 8.34315 6 10 6C11.6569 6 13 7.34315 13 9ZM12 9C12 7.89543 11.1046 7 10 7C8.89543 7 8 7.89543 8 9C8 10.1046 8.89543 11 10 11C11.1046 11 12 10.1046 12 9Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.9497 13.955C17.6834 11.2201 17.6834 6.78601 14.9497 4.05115C12.2161 1.31628 7.78392 1.31628 5.05025 4.05115C2.31658 6.78601 2.31658 11.2201 5.05025 13.955L6.57128 15.4538L8.61408 17.4389L8.74691 17.5567C9.52168 18.1847 10.6562 18.1455 11.3861 17.4391L13.8223 15.0691L14.9497 13.955ZM5.75499 4.75619C8.09944 2.41072 11.9006 2.41072 14.245 4.75619C16.5294 7.04153 16.5879 10.7104 14.4207 13.0667L14.245 13.2499L12.9237 14.5539L10.6931 16.7225L10.6002 16.8021C10.2459 17.0699 9.7543 17.0698 9.40012 16.802L9.30713 16.7224L6.3263 13.817L5.75499 13.2499L5.57927 13.0667C3.41208 10.7104 3.47065 7.04153 5.75499 4.75619Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M14.9497 13.955C17.6834 11.2201 17.6834 6.78601 14.9497 4.05115C12.2161 1.31628 7.78392 1.31628 5.05025 4.05115C2.31658 6.78601 2.31658 11.2201 5.05025 13.955L6.57128 15.4538L8.61408 17.4389L8.74691 17.5567C9.52168 18.1847 10.6562 18.1455 11.3861 17.4391L13.8223 15.0691L14.9497 13.955ZM10 12C8.34315 12 7 10.6569 7 9C7 7.34315 8.34315 6 10 6C11.6569 6 13 7.34315 13 9C13 10.6569 11.6569 12 10 12Z\"\n    }));\n  },\n  displayName: 'LocationIcon'\n});\n//# sourceMappingURL=LocationIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var LockIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2C11.6569 2 13 3.34315 13 5V6H14C15.1046 6 16 6.89543 16 8V15C16 16.1046 15.1046 17 14 17H6C4.89543 17 4 16.1046 4 15V8C4 6.89543 4.89543 6 6 6H7V5C7 3.34315 8.34315 2 10 2ZM14 7H6C5.44772 7 5 7.44772 5 8V15C5 15.5523 5.44772 16 6 16H14C14.5523 16 15 15.5523 15 15V8C15 7.44772 14.5523 7 14 7ZM10 10.5C10.5523 10.5 11 10.9477 11 11.5C11 12.0523 10.5523 12.5 10 12.5C9.44772 12.5 9 12.0523 9 11.5C9 10.9477 9.44772 10.5 10 10.5ZM10 3C8.89543 3 8 3.89543 8 5V6H12V5C12 3.89543 11.1046 3 10 3Z\"\n    }));\n  },\n  displayName: 'LockIcon'\n});\n//# sourceMappingURL=LockIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MarkAsUnreadIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L4.89045 5.59754L2.36172 8.52303C2.13624 8.78549 2 9.12684 2 9.5V12.5C2 13.8807 3.11929 15 4.5 15H6.5C7.88071 15 9 13.8807 9 12.5V11H10.2929L11 11.7071V12.5C11 13.8807 12.1193 15 13.5 15H14.2929L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L2.85355 2.14645ZM7.29291 8H4.13561L5.59943 6.30652L7.29291 8ZM8 9.5V12.5C8 13.3284 7.32843 14 6.5 14H4.5C3.67157 14 3 13.3284 3 12.5V9.5C3 9.22386 3.22386 9 3.5 9H7.5C7.77614 9 8 9.22386 8 9.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 9.87866L11.095 8.97362C11.3081 8.40485 11.8568 8 12.5 8H15.8571L13.5701 5.34706C13.3801 5.1267 13.1036 5 12.8127 5H12C11.7239 5 11.5 4.77614 11.5 4.5C11.5 4.22386 11.7239 4 12 4H12.8127C13.3945 4 13.9476 4.25341 14.3275 4.69412L17.5324 8.41178C17.8204 8.68511 18 9.07158 18 9.5V12.5C18 13.4157 17.5077 14.2164 16.7733 14.6519L16.0264 13.905C16.5952 13.6919 17 13.1432 17 12.5V9.5C17 9.37429 16.9536 9.25941 16.877 9.17155L16.8713 9.17647L16.8165 9.1129C16.7303 9.04234 16.6201 9 16.5 9H12.5C12.2239 9 12 9.22386 12 9.5V9.87866Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.12331 5.00198L6.31908 4.19774C6.58658 4.06904 6.88245 4 7.18617 4H8C8.27614 4 8.5 4.22386 8.5 4.5C8.5 4.77614 8.27614 5 8 5H7.18617C7.16514 5 7.14417 5.00066 7.12331 5.00198Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L4.89045 5.59754L2.36172 8.52303C2.13624 8.78549 2 9.12684 2 9.5V12.5C2 13.8807 3.11929 15 4.5 15H6.5C7.88071 15 9 13.8807 9 12.5V11H10.2929L11 11.7071V12.5C11 13.8807 12.1193 15 13.5 15H14.2929L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L2.85355 2.14645ZM7.29291 8H4.13561L5.59943 6.30652L7.29291 8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.7733 14.6519L11.095 8.97362C11.3081 8.40485 11.8568 8 12.5 8H15.8571L13.5701 5.34706C13.3801 5.1267 13.1036 5 12.8127 5H12C11.7239 5 11.5 4.77614 11.5 4.5C11.5 4.22386 11.7239 4 12 4H12.8127C13.3945 4 13.9476 4.25341 14.3275 4.69412L17.5324 8.41178C17.8204 8.68511 18 9.07158 18 9.5V12.5C18 13.4157 17.5077 14.2164 16.7733 14.6519Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.31908 4.19774L7.12331 5.00198C7.14417 5.00066 7.16514 5 7.18617 5H8C8.27614 5 8.5 4.77614 8.5 4.5C8.5 4.22386 8.27614 4 8 4H7.18617C6.88245 4 6.58658 4.06904 6.31908 4.19774Z\"\n    })));\n  },\n  displayName: 'MarkAsUnreadIcon'\n});\n//# sourceMappingURL=MarkAsUnreadIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MeetingNewIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14.5 3C15.8807 3 17 4.11929 17 5.5V9.59971C16.6832 9.43777 16.3486 9.30564 16 9.20703V7H4V14.5C4 15.3284 4.67157 16 5.5 16H9.20703C9.30564 16.3486 9.43777 16.6832 9.59971 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5C3 4.11929 4.11929 3 5.5 3H14.5ZM14.5 4H5.5C4.67157 4 4 4.67157 4 5.5V6H16V5.5C16 4.67157 15.3284 4 14.5 4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 7V9.59971C16.2499 9.21628 15.4002 9 14.5 9C11.4624 9 9 11.4624 9 14.5C9 15.4002 9.21628 16.2499 9.59971 17H5.5C4.11929 17 3 15.8807 3 14.5V7H17Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 3C15.8807 3 17 4.11929 17 5.5V6H3V5.5C3 4.11929 4.11929 3 5.5 3H14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z\"\n    })));\n  },\n  displayName: 'MeetingNewIcon'\n});\n//# sourceMappingURL=MeetingNewIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MeetingTimeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 5.5C17 4.11929 15.8807 3 14.5 3H5.5C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H9.59971C9.43777 16.6832 9.30564 16.3486 9.20703 16H5.5C4.67157 16 4 15.3284 4 14.5V7H16V9.20703C16.3486 9.30564 16.6832 9.43777 17 9.59971V5.5ZM5.5 4H14.5C15.3284 4 16 4.67157 16 5.5V6H4V5.5C4 4.67157 4.67157 4 5.5 4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 19C16.9853 19 19 16.9853 19 14.5C19 12.0147 16.9853 10 14.5 10C12.0147 10 10 12.0147 10 14.5C10 16.9853 12.0147 19 14.5 19ZM14 12.5C14 12.2239 14.2239 12 14.5 12C14.7761 12 15 12.2239 15 12.5V14H16C16.2761 14 16.5 14.2239 16.5 14.5C16.5 14.7761 16.2761 15 16 15H14.5C14.2239 15 14 14.7761 14 14.5V12.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 5.5C17 4.11929 15.8807 3 14.5 3H5.5C4.11929 3 3 4.11929 3 5.5V6H17V5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 9.59971V7H3V14.5C3 15.8807 4.11929 17 5.5 17H9.59971C9.21628 16.2499 9 15.4002 9 14.5C9 11.4624 11.4624 9 14.5 9C15.4002 9 16.2499 9.21628 17 9.59971Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 19C16.9853 19 19 16.9853 19 14.5C19 12.0147 16.9853 10 14.5 10C12.0147 10 10 12.0147 10 14.5C10 16.9853 12.0147 19 14.5 19ZM14 12.5C14 12.2239 14.2239 12 14.5 12C14.7761 12 15 12.2239 15 12.5V14H16C16.2761 14 16.5 14.2239 16.5 14.5C16.5 14.7761 16.2761 15 16 15H14.5C14.2239 15 14 14.7761 14 14.5V12.5Z\"\n    })));\n  },\n  displayName: 'MeetingTimeIcon'\n});\n//# sourceMappingURL=MeetingTimeIcon.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MegaphoneIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M18 4.8016C18 3.81605 17.0658 3.09831 16.1135 3.35225L3.11351 6.81891C2.45688 6.99402 2 7.58869 2 8.26827V10.7792C2 11.4249 2.41315 11.9981 3.02566 12.2023L5 12.8604V13.75C5 15.5449 6.45507 17 8.25 17C9.62112 17 10.7932 16.1513 11.2709 14.9507L16.0257 16.5356C16.997 16.8594 18 16.1364 18 15.1126V4.8016ZM10.32 14.6337C9.97657 15.437 9.17866 16 8.25 16C7.00736 16 6 14.9926 6 13.75V13.1937L10.32 14.6337ZM16.3712 4.31848C16.6886 4.23384 17 4.47309 17 4.8016V15.1126C17 15.4538 16.6657 15.6948 16.3419 15.5869L3.34189 11.2536C3.13771 11.1855 3 10.9944 3 10.7792V8.26827C3 8.04174 3.15229 7.84352 3.37117 7.78515L16.3712 4.31848Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M16.1135 3.35225C17.0658 3.09831 18 3.81605 18 4.8016V15.1126C18 16.1364 16.997 16.8594 16.0257 16.5356L11.2709 14.9507C10.7932 16.1513 9.62112 17 8.25 17C6.45507 17 5 15.5449 5 13.75V12.8604L3.02566 12.2023C2.41315 11.9981 2 11.4249 2 10.7792V8.26827C2 7.58869 2.45688 6.99402 3.11351 6.81891L16.1135 3.35225ZM6 13.1937V13.75C6 14.9926 7.00736 16 8.25 16C9.17866 16 9.97657 15.437 10.32 14.6337L6 13.1937Z\"\n    }));\n  },\n  displayName: 'MegaphoneIcon'\n});\n//# sourceMappingURL=MegaphoneIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MentionIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 12.706 16.8584 14.5 15 14.5C13.7737 14.5 12.8595 13.7188 12.3795 12.4099C11.7837 13.3928 10.782 14 9.5 14C7.35907 14 6 12.3068 6 10C6 7.66322 7.31298 6 9.5 6C10.5517 6 11.4013 6.38463 12 7.04384L12 6.5C12 6.22386 12.2239 6 12.5 6C12.7455 6 12.9496 6.17688 12.9919 6.41012L13 6.5V10C13 12.2225 13.8129 13.5 15 13.5C16.1871 13.5 17 12.2225 17 10C17 6.13401 13.866 3 10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C10.8231 17 11.6261 16.8581 12.3832 16.584C12.6429 16.49 12.9296 16.6243 13.0236 16.8839C13.1176 17.1435 12.9833 17.4302 12.7237 17.5243C11.8578 17.8377 10.9396 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM9.5 7C7.92405 7 7 8.17054 7 10C7 11.7969 7.96568 13 9.5 13C11.0343 13 12 11.7969 12 10C12 8.17054 11.076 7 9.5 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10 1.75C14.5563 1.75 18.25 5.44365 18.25 10C18.25 12.8269 17.0262 14.75 15 14.75C13.7958 14.75 12.8751 14.0708 12.3262 12.9264C11.6738 13.7512 10.7016 14.25 9.5 14.25C7.20741 14.25 5.75 12.4342 5.75 10C5.75 7.53639 7.16021 5.75 9.5 5.75C10.3964 5.75 11.1564 6.01222 11.753 6.47429C11.7643 6.07167 12.0946 5.75 12.5 5.75C12.8797 5.75 13.1935 6.03215 13.2432 6.39823L13.25 6.5V10C13.25 12.1017 13.9808 13.25 15 13.25C16.0192 13.25 16.75 12.1017 16.75 10C16.75 6.27208 13.7279 3.25 10 3.25C6.27208 3.25 3.25 6.27208 3.25 10C3.25 13.7279 6.27208 16.75 10 16.75C10.794 16.75 11.5682 16.6132 12.2981 16.3489C12.6876 16.2079 13.1176 16.4093 13.2587 16.7988C13.3997 17.1883 13.1982 17.6183 12.8088 17.7593C11.9157 18.0827 10.9688 18.25 10 18.25C5.44365 18.25 1.75 14.5563 1.75 10C1.75 5.44365 5.44365 1.75 10 1.75ZM9.5 7.25C8.07681 7.25 7.25 8.29737 7.25 10C7.25 11.6694 8.11734 12.75 9.5 12.75C10.8827 12.75 11.75 11.6694 11.75 10C11.75 8.29737 10.9232 7.25 9.5 7.25Z\"\n    }));\n  },\n  displayName: 'MentionIcon'\n});\n//# sourceMappingURL=MentionIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MenuIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 5.5C2 5.22386 2.22386 5 2.5 5H17.5C17.7761 5 18 5.22386 18 5.5C18 5.77614 17.7761 6 17.5 6H2.5C2.22386 6 2 5.77614 2 5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 10.5C2 10.2239 2.22386 10 2.5 10H17.5C17.7761 10 18 10.2239 18 10.5C18 10.7761 17.7761 11 17.5 11H2.5C2.22386 11 2 10.7761 2 10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.5 15C2.22386 15 2 15.2239 2 15.5C2 15.7761 2.22386 16 2.5 16H17.5C17.7761 16 18 15.7761 18 15.5C18 15.2239 17.7761 15 17.5 15H2.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 5.25C2 4.83579 2.33579 4.5 2.75 4.5H17.25C17.6642 4.5 18 4.83579 18 5.25C18 5.66421 17.6642 6 17.25 6H2.75C2.33579 6 2 5.66421 2 5.25Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 10.25C2 9.83579 2.33579 9.5 2.75 9.5H17.25C17.6642 9.5 18 9.83579 18 10.25C18 10.6642 17.6642 11 17.25 11H2.75C2.33579 11 2 10.6642 2 10.25Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.75 14.5C2.33579 14.5 2 14.8358 2 15.25C2 15.6642 2.33579 16 2.75 16H17.25C17.6642 16 18 15.6642 18 15.25C18 14.8358 17.6642 14.5 17.25 14.5H2.75Z\"\n    })));\n  },\n  displayName: 'MenuIcon'\n});\n//# sourceMappingURL=MenuIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MergeCallsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"8 8 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M11.61,11a1.49,1.49,0,0,1,1,.38L16.68,15h4.6l-2.64-2.65A.5.5,0,0,1,19,11.5a.47.47,0,0,1,.35.15l3.5,3.5a.48.48,0,0,1,0,.7l-3.5,3.5a.47.47,0,0,1-.35.15.5.5,0,0,1-.35-.85L21.28,16h-4.6l-4.07,3.62a1.52,1.52,0,0,1-1,.38H9.49a.51.51,0,0,1-.5-.5C9,19,9.53,19,9.9,19s.95.07,1.43.07a1,1,0,0,0,.62-.15l3.79-3.38L12,12.12a1,1,0,0,0-.62-.15c-.48,0-.95.07-1.42.07S9,12,9,11.5a.51.51,0,0,1,.5-.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M11.61,10.5a2,2,0,0,1,1.33.51l3.94,3.49h3.2l-1.8-1.79A1,1,0,0,1,18,12a1,1,0,0,1,1-1,.94.94,0,0,1,.71.29l3.5,3.5a1,1,0,0,1,0,1.42l-3.5,3.5A.94.94,0,0,1,19,20a1,1,0,0,1-1-1,1,1,0,0,1,.29-.71l1.8-1.79h-3.2L12.94,20a1.94,1.94,0,0,1-1.33.51H9.49a1,1,0,0,1,0-2h2.12l3.37-3-3.37-3H9.49a1,1,0,0,1,0-2Z\"\n    }));\n  },\n  displayName: 'MergeCallsIcon'\n});\n//# sourceMappingURL=MergeCallsIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var MessageSeenIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.25909 11.6021C3.94254 8.32689 6.79437 6 10 6C13.2057 6 16.0574 8.32688 16.7409 11.6021C16.7974 11.8725 17.0622 12.0459 17.3325 11.9895C17.6029 11.933 17.7763 11.6682 17.7199 11.3979C16.9425 7.67312 13.6934 5 10 5C6.3066 5 3.05742 7.67311 2.28017 11.3979C2.22377 11.6682 2.39718 11.933 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.98953 8C11.9225 8 13.4895 9.567 13.4895 11.5C13.4895 13.433 11.9225 15 9.98953 15C8.05653 15 6.48953 13.433 6.48953 11.5C6.48953 9.567 8.05653 8 9.98953 8Z\"\n    }));\n  },\n  displayName: 'MessageSeenIcon'\n});\n//# sourceMappingURL=MessageSeenIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MicIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 13C11.6569 13 13 11.6569 13 10V5.00002C13 3.34316 11.6569 2.00002 10 2.00002C8.34315 2.00002 7 3.34316 7 5.00001V10C7 11.6569 8.34315 13 10 13ZM10 12C8.89543 12 8 11.1046 8 10V5.00001C8 3.89545 8.89543 3.00001 10 3.00002C11.1046 3.00002 12 3.89545 12 5.00002V10C12 11.1046 11.1046 12 10 12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 9.5C5.27614 9.5 5.5 9.72386 5.5 10C5.5 12.4853 7.51472 14.5 10 14.5C12.4853 14.5 14.5 12.4853 14.5 10C14.5 9.72386 14.7239 9.5 15 9.5C15.2761 9.5 15.5 9.72386 15.5 10C15.5 12.869 13.3033 15.225 10.5 15.4776V17.5C10.5 17.7761 10.2761 18 10 18C9.72386 18 9.5 17.7761 9.5 17.5V15.4776C6.69675 15.225 4.5 12.869 4.5 10C4.5 9.72386 4.72386 9.5 5 9.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 10C5.5 9.72386 5.27614 9.5 5 9.5C4.72386 9.5 4.5 9.72386 4.5 10C4.5 12.869 6.69675 15.225 9.5 15.4776V17.5C9.5 17.7761 9.72386 18 10 18C10.2761 18 10.5 17.7761 10.5 17.5V15.4776C13.3033 15.225 15.5 12.869 15.5 10C15.5 9.72386 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.72386 14.5 10C14.5 12.4853 12.4853 14.5 10 14.5C7.51472 14.5 5.5 12.4853 5.5 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 10.0008C12.9996 11.6573 11.6566 13 10 13C8.34315 13 7 11.6569 7 10V5.00002C7 3.34316 8.34315 2.00002 10 2.00002C11.6569 2.00002 13 3.34316 13 5.00002V10.0008Z\"\n    })));\n  },\n  displayName: 'MicIcon'\n});\n//# sourceMappingURL=MicIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MicOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 5v4.879l.898.898c.067-.248.102-.508.102-.777V5a3 3 0 00-5.998-.119L8 5.879V5a2 2 0 114 0zM7 7.707L2.146 2.854a.5.5 0 11.708-.708l15 15a.5.5 0 01-.708.708l-3.627-3.627a5.475 5.475 0 01-3.019 1.25V17.5a.5.5 0 01-1 0v-2.022A5.5 5.5 0 014.5 10a.5.5 0 011 0 4.5 4.5 0 007.309 3.516l-1.07-1.07A3 3 0 017 10V7.706zm4.016 4.016L8 8.707V10a2 2 0 003.016 1.723zM14.803 12.682l-.742-.742A4.481 4.481 0 0014.5 10a.5.5 0 011 0c0 .974-.253 1.888-.697 2.682z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 10c0 .27-.035.53-.102.777L7.002 4.881A3 3 0 0113 5v5zM7 7.707V10a3 3 0 004.738 2.445l1.07 1.07A4.5 4.5 0 015.5 10a.5.5 0 00-.999.001 5.5 5.5 0 005 5.478V17.5a.5.5 0 001 0v-2.022a5.475 5.475 0 003.02-1.251l3.626 3.627a.5.5 0 00.708-.707l-15-15a.5.5 0 10-.708.707L7 7.707zM14.803 12.682A5.474 5.474 0 0015.5 10a.5.5 0 00-1 0c0 .695-.157 1.353-.439 1.94l.742.742z\"\n    })));\n  },\n  displayName: 'MicOffIcon'\n});\n//# sourceMappingURL=MicOffIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MicrophoneDisabledIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 13C9.07028 13 9.14 12.9976 9.20907 12.9928C9.31908 12.6059 9.47039 12.2363 9.65793 11.8892C9.45189 11.961 9.2305 12 9 12C7.89543 12 7 11.1046 7 9.99998V5C7 3.89543 7.89543 3 9 3C10.1046 3 11 3.89543 11 5V9.99998C11 10.0924 10.9937 10.1833 10.9816 10.2724C11.2937 10.0124 11.6351 9.78627 12 9.59971V5C12 3.34315 10.6569 2 9 2C7.34315 2 6 3.34315 6 5V9.99998C6 11.6568 7.34315 13 9 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 9.99998C4.5 12.4853 6.51472 14.5 9 14.5C9 15.3189 9.179 16.0961 9.5 16.7945V17.5C9.5 17.7761 9.27614 18 9 18C8.72386 18 8.5 17.7761 8.5 17.5V15.4776C5.69675 15.2249 3.5 12.869 3.5 9.99998C3.5 9.72384 3.72386 9.49998 4 9.49998C4.27614 9.49998 4.5 9.72384 4.5 9.99998Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5C19 16.9853 16.9853 19 14.5 19ZM14.5 11C12.567 11 11 12.567 11 14.5C11 15.2862 11.2592 16.0118 11.6968 16.5961L16.5961 11.6968C16.0118 11.2592 15.2862 11 14.5 11ZM12.4039 17.3032C12.9882 17.7408 13.7138 18 14.5 18C16.433 18 18 16.433 18 14.5C18 13.7138 17.7408 12.9882 17.3032 12.4039L12.4039 17.3032Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.20907 12.9928C9.62981 11.513 10.6546 10.2875 12 9.59971V5C12 3.34315 10.6569 2 9 2C7.34315 2 6 3.34315 6 5V9.99998C6 11.6568 7.34315 13 9 13C9.07028 13 9.14 12.9976 9.20907 12.9928Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 17.5V16.7945C9.179 16.0961 9 15.319 9 14.5C6.51472 14.5 4.5 12.4853 4.5 9.99998C4.5 9.72384 4.27614 9.49998 4 9.49998C3.72386 9.49998 3.5 9.72384 3.5 9.99998C3.5 12.869 5.69675 15.2249 8.5 15.4776V17.5C8.5 17.7761 8.72386 18 9 18C9.27614 18 9.5 17.7761 9.5 17.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5C19 16.9853 16.9853 19 14.5 19ZM14.5 11C12.567 11 11 12.567 11 14.5C11 15.2862 11.2592 16.0118 11.6968 16.5961L16.5961 11.6968C16.0118 11.2592 15.2862 11 14.5 11ZM12.4039 17.3032C12.9882 17.7408 13.7138 18 14.5 18C16.433 18 18 16.433 18 14.5C18 13.7138 17.7408 12.9882 17.3032 12.4039L12.4039 17.3032Z\"\n    })));\n  },\n  displayName: 'MicrophoneDisabledIcon'\n});\n//# sourceMappingURL=MicrophoneDisabledIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var MicrosoftStreamIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 13.15v5.7L12 16l-4-2.85zM12 9v5.25L14.59 16 12 17.75V23l12-7-12-7z\"\n    })));\n  },\n  displayName: 'MicrosoftStreamIcon'\n});\n//# sourceMappingURL=MicrosoftStreamIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var NoPresenterIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.14618 7.8533C7.05247 8.04912 7 8.26843 7 8.5V9H8.29288L9.29288 10H3.49051C3.04042 10 2.8195 10.5482 3.14379 10.8603L6.84664 14.4239C6.94458 14.5182 6.99993 14.6482 6.99993 14.7842V16.5C6.99993 17.3284 7.6715 18 8.49993 18H11.4999C12.3284 18 12.9999 17.3284 12.9999 16.5V14.7842C12.9999 14.6482 13.0553 14.5182 13.1532 14.4239L13.4404 14.1475L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1465L7.8533 7.14618C7.85331 7.14618 7.8533 7.14618 7.8533 7.14618L2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L7.14618 7.8533Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.8561 10.8603L14.8817 12.7604L12.1213 10H16.5093C16.9594 10 17.1804 10.5482 16.8561 10.8603Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 9H11.1213L9.12134 7H11.5C12.3284 7 13 7.67157 13 8.5V9Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 6C11.1046 6 12 5.10457 12 4C12 2.89543 11.1046 2 10 2C8.89543 2 8 2.89543 8 4C8 5.10457 8.89543 6 10 6Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 8.5C7 8.26842 7.05248 8.0491 7.14619 7.85328L2.14645 2.85355C1.95118 2.65829 1.95118 2.34171 2.14645 2.14645C2.34171 1.95118 2.65829 1.95118 2.85355 2.14645L17.8536 17.1464C18.0488 17.3417 18.0488 17.6583 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L13.4404 14.1475L13.1532 14.4239C13.0553 14.5182 12.9999 14.6482 12.9999 14.7842V16.5C12.9999 17.3284 12.3284 18 11.4999 18H8.49993C7.6715 18 6.99993 17.3284 6.99993 16.5V14.7842C6.99993 14.6482 6.94458 14.5182 6.84664 14.4239L3.14379 10.8603C2.8195 10.5482 3.04042 10 3.49051 10H9.29291L8.2929 9L7 9V8.5ZM10.2929 11H4.73109L7.54008 13.7034C7.8339 13.9862 7.99993 14.3764 7.99993 14.7842V16.5C7.99993 16.7761 8.22378 17 8.49993 17H11.4999C11.7761 17 11.9999 16.7761 11.9999 16.5V14.7842C11.9999 14.3764 12.166 13.9862 12.4598 13.7034L12.7332 13.4403L10.2929 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 4C12 5.10457 11.1046 6 10 6C8.89543 6 8 5.10457 8 4C8 2.89543 8.89543 2 10 2C11.1046 2 12 2.89543 12 4ZM11 4C11 3.44772 10.5523 3 10 3C9.44772 3 9 3.44772 9 4C9 4.55229 9.44772 5 10 5C10.5523 5 11 4.55229 11 4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.1213 8H11.5C11.7761 8 12 8.22386 12 8.5V9H13V8.5C13 7.67157 12.3284 7 11.5 7H9.12134L10.1213 8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.8817 12.7604L14.1745 12.0531L15.2688 11H13.1213L12.1213 10H16.5093C16.9594 10 17.1804 10.5482 16.8561 10.8603L14.8817 12.7604Z\"\n    })));\n  },\n  displayName: 'NoPresenterIcon'\n});\n//# sourceMappingURL=NoPresenterIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var NotesIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.5 7C7.22386 7 7 7.22386 7 7.5C7 7.77614 7.22386 8 7.5 8H12.5C12.7761 8 13 7.77614 13 7.5C13 7.22386 12.7761 7 12.5 7H7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 10.5C7 10.2239 7.22386 10 7.5 10H12.5C12.7761 10 13 10.2239 13 10.5C13 10.7761 12.7761 11 12.5 11H7.5C7.22386 11 7 10.7761 7 10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.5 13C7.22386 13 7 13.2239 7 13.5C7 13.7761 7.22386 14 7.5 14H9.5C9.77614 14 10 13.7761 10 13.5C10 13.2239 9.77614 13 9.5 13H7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 2C6.22386 2 6 2.22386 6 2.5V3H5.5C4.67157 3 4 3.67157 4 4.5V16.5C4 17.3284 4.67157 18 5.5 18H11.5C11.6326 18 11.7598 17.9473 11.8536 17.8536L15.8536 13.8536C15.9473 13.7598 16 13.6326 16 13.5V4.5C16 3.67157 15.3284 3 14.5 3H14V2.5C14 2.22386 13.7761 2 13.5 2C13.2239 2 13 2.22386 13 2.5V3H10.5V2.5C10.5 2.22386 10.2761 2 10 2C9.72386 2 9.5 2.22386 9.5 2.5V3H7V2.5C7 2.22386 6.77614 2 6.5 2ZM14.5 4C14.7761 4 15 4.22386 15 4.5V13H12.5C11.6716 13 11 13.6716 11 14.5V17H5.5C5.22386 17 5 16.7761 5 16.5V4.5C5 4.22386 5.22386 4 5.5 4H14.5ZM14.2929 14L12 16.2929V14.5C12 14.2239 12.2239 14 12.5 14H14.2929Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 2.5C7 2.22386 6.77614 2 6.5 2C6.22386 2 6 2.22386 6 2.5V3H5.5C4.67157 3 4 3.67157 4 4.5V16.5C4 17.3284 4.67157 18 5.5 18H11V14.5C11 13.6716 11.6716 13 12.5 13H16V4.5C16 3.67157 15.3284 3 14.5 3H14V2.5C14 2.22386 13.7761 2 13.5 2C13.2239 2 13 2.22386 13 2.5V3H10.5V2.5C10.5 2.22386 10.2761 2 10 2C9.72386 2 9.5 2.22386 9.5 2.5V3H7V2.5ZM7 7.5C7 7.22386 7.22386 7 7.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H7.5C7.22386 8 7 7.77614 7 7.5ZM7.5 10H12.5C12.7761 10 13 10.2239 13 10.5C13 10.7761 12.7761 11 12.5 11H7.5C7.22386 11 7 10.7761 7 10.5C7 10.2239 7.22386 10 7.5 10ZM7 13.5C7 13.2239 7.22386 13 7.5 13H9.5C9.77614 13 10 13.2239 10 13.5C10 13.7761 9.77614 14 9.5 14H7.5C7.22386 14 7 13.7761 7 13.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.6892 14H12.5C12.2239 14 12 14.2239 12 14.5V17.6892C12.0513 17.6498 12.1002 17.6069 12.1464 17.5607L15.5607 14.1464C15.6069 14.1002 15.6498 14.0513 15.6892 14Z\"\n    })));\n  },\n  displayName: 'NotesIcon'\n});\n//# sourceMappingURL=NotesIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var NotificationsMutedIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.0044 7.56824C4.03648 6.75282 4.2411 5.98297 4.58356 5.29065L2.14645 2.85355C1.95118 2.65829 1.95118 2.34171 2.14645 2.14645C2.34171 1.95118 2.65829 1.95118 2.85355 2.14645L17.8536 17.1464C18.0488 17.3417 18.0488 17.6583 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L14.2972 15.0043L12.4996 15.004L12.4946 15.1653C12.4095 16.469 11.3252 17.5 10 17.5C8.67453 17.5 7.58998 16.4685 7.50533 15.1644L7.49962 15.004L3.99891 15.0046C3.91096 15.0046 3.82358 14.993 3.73902 14.9702L3.61456 14.9277C3.20378 14.7567 2.96181 14.3392 3.01221 13.8757L3.0333 13.7483L3.07572 13.6202L3.99902 11.401L4.0001 7.79281L4.0044 7.56824ZM13.299 14.0061L5.33843 6.04552C5.16766 6.46607 5.05719 6.91575 5.01715 7.38498L5.00393 7.59723L5.00002 7.80214V11.5L4.96161 11.6922L3.9989 14.0046L13.299 14.0061ZM11.4996 15.004H8.49962L8.50697 15.1454C8.57552 15.8581 9.14275 16.425 9.85556 16.4931L10 16.5C10.7797 16.5 11.4205 15.9051 11.4931 15.1445L11.4996 15.004Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.0384 11.6922L15.9133 13.7919L16.7653 14.644C16.9153 14.4691 17.0013 14.2458 17.0013 14.0046L16.9926 13.8733L16.9774 13.7871C16.9647 13.7302 16.947 13.6743 16.9244 13.6202L15.999 11.398L16 7.80214L15.9955 7.57762L15.9821 7.3554C15.7416 4.33488 13.1466 2 9.99766 2C8.3584 2 6.86951 2.63266 5.78523 3.66389L6.49193 4.3706C7.39369 3.52222 8.63126 3 9.99766 3C12.6947 3 14.8909 5.0349 14.996 7.60831L15.0001 7.81241L15 11.5L15.0384 11.6922Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.00433 7.56824C4.03641 6.7528 4.24104 5.98294 4.58352 5.29061L2.14645 2.85355C1.95118 2.65829 1.95118 2.34171 2.14645 2.14645C2.34171 1.95118 2.65829 1.95118 2.85355 2.14645L17.8536 17.1464C18.0488 17.3417 18.0488 17.6583 17.8536 17.8536C17.6583 18.0488 17.3417 18.0488 17.1464 17.8536L14.2975 15.0046H3.7513C3.6628 15.0046 3.575 14.9889 3.49197 14.9583C3.20507 14.8526 3.0163 14.5865 3.00952 14.2422L3.01412 14.1247L3.04756 13.9952L3.99895 11.411L4.00003 7.79281L4.00433 7.56824Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.999 14.2546C16.999 14.426 16.9411 14.5856 16.8357 14.7144L5.78519 3.66386C6.86947 2.63265 8.35835 2 9.99759 2C13.1465 2 15.7415 4.33488 15.9821 7.3554L15.9954 7.57762L15.9999 7.80214L15.9989 11.408L16.9527 13.9951L16.9783 14.0796L16.9938 14.1664L16.999 14.2546Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.4496 16.0016C12.2174 17.1419 11.2089 18 9.99995 18C8.79102 18 7.78251 17.1419 7.55027 16.0016H12.4496Z\"\n    })));\n  },\n  displayName: 'NotificationsMutedIcon'\n});\n//# sourceMappingURL=NotificationsMutedIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { iconClassNames } from '../utils/iconClassNames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var NumberListIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes,\n        rtl = _ref.rtl;\n    return rtl ? /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 1.5c0-.2-.2-.4-.4-.5-.2 0-.4.1-.5.3-.1 0-.1.1-.1.1-.1.1-.2.2-.3.4-.2.2-.5.5-.9.8-.3.1-.4.4-.2.6.1.3.4.4.6.2.3-.1.6-.3.8-.5v2.6c0 .3.2.5.5.5s.5-.2.5-.5v-4zM14.6 7.6c-.1.2-.1.6 0 .8.2.1.6.1.8 0v-.1s.1-.1.2-.1c.2-.1.4-.2.7-.2.2 0 .4.1.5.1.1.1.2.2.2.4s-.1.3-.2.4c-.2.2-.4.3-.6.4-.1 0-.1 0-.2.1-.3.1-.7.3-1 .7-.3.3-.5.8-.5 1.4 0 .3.2.5.5.5h2.5c.3 0 .5-.2.5-.5s-.2-.5-.5-.5h-1.9c0-.1.1-.2.2-.3.1-.1.4-.3.7-.4 0-.1.1-.1.1-.1.3-.1.6-.3.8-.5.4-.3.6-.7.6-1.2s-.2-.9-.6-1.2c-.3-.2-.7-.3-1.1-.3-.5 0-.9.2-1.2.3-.1.1-.2.2-.3.2l-.1.1h-.1zM15.8 15.5c0-.3.2-.5.5-.5s.5-.1.6-.2c.1-.1.1-.2.1-.3 0-.2-.2-.5-.7-.5-.5 0-.7.1-.8.2h-.1c-.1.3-.4.4-.6.2-.3-.1-.4-.4-.2-.6v-.1s0-.1.1-.1c0-.1.1-.2.3-.3.3-.2.7-.3 1.3-.3 1 0 1.7.7 1.7 1.5 0 .3-.1.7-.4 1 .3.3.4.7.4 1 0 .8-.7 1.5-1.7 1.5-.6 0-1-.1-1.3-.3-.2-.1-.3-.2-.3-.3-.1 0-.1-.1-.1-.1v-.1c-.2-.2-.1-.5.2-.6.2-.2.5-.1.6.2h.1c.1.1.3.2.8.2s.7-.3.7-.5c0-.1 0-.2-.1-.3-.1-.1-.3-.2-.6-.2s-.5-.2-.5-.5zM3.5 4c-.3 0-.5.2-.5.5s.2.5.5.5h8c.3 0 .5-.2.5-.5s-.2-.5-.5-.5h-8zM3.5 9c-.3 0-.5.2-.5.5s.2.5.5.5h8c.3 0 .5-.2.5-.5s-.2-.5-.5-.5h-8zM3.5 14c-.3 0-.5.2-.5.5s.2.5.5.5h8c.3 0 .5-.2.5-.5s-.2-.5-.5-.5h-8z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 1.5c0-.2-.2-.4-.4-.5-.2 0-.4.1-.5.3-.1 0-.1.1-.1.1-.1.1-.2.2-.3.4-.2.2-.5.5-.9.8-.3.1-.4.4-.2.6.1.3.4.4.6.2.3-.1.6-.3.8-.5v2.6c0 .3.2.5.5.5s.5-.2.5-.5v-4zM8.8 4c-.5 0-.8.3-.8.8 0 .4.3.7.8.7h7.5c.4 0 .7-.3.7-.7 0-.5-.3-.8-.7-.8H8.8zM8.8 9c-.5 0-.8.3-.8.8 0 .4.3.7.8.7h7.5c.4 0 .7-.3.7-.7 0-.5-.3-.8-.7-.8H8.8zM8 14.8c0-.5.3-.8.8-.8h7.5c.4 0 .7.3.7.8 0 .4-.3.7-.7.7H8.8c-.5 0-.8-.3-.8-.7zM2.6 7.6c-.1.2-.1.6 0 .8.2.1.6.1.8 0v-.1s.1-.1.2-.1c.2-.1.4-.2.7-.2.2 0 .4.1.5.1.1.1.2.2.2.4s-.1.3-.2.4c-.2.2-.4.3-.6.4-.1 0-.1 0-.2.1-.3.1-.7.3-1 .7-.3.3-.5.8-.5 1.4 0 .3.2.5.5.5h2.5c.3 0 .5-.2.5-.5s-.2-.5-.5-.5H3.6c0-.1.1-.2.2-.3.1-.1.4-.3.7-.4 0-.1.1-.1.1-.1.3-.1.6-.3.8-.5.4-.3.6-.7.6-1.2s-.2-.9-.6-1.2c-.3-.2-.7-.3-1.1-.3-.5 0-.9.2-1.2.3-.1.1-.2.2-.3.2l-.1.1h-.1zm.1 0h-.1.1zM3.8 15.5c0-.3.2-.5.5-.5s.5-.1.6-.2c.1-.1.1-.2.1-.3 0-.2-.2-.5-.7-.5-.5 0-.7.1-.8.2h-.1c-.1.3-.4.4-.6.2-.3-.1-.4-.4-.2-.6v-.1s0-.1.1-.1c0-.1.1-.2.3-.3.3-.2.7-.3 1.3-.3 1 0 1.7.7 1.7 1.5 0 .3-.1.7-.4 1 .3.3.4.7.4 1 0 .8-.7 1.5-1.7 1.5-.6 0-1-.1-1.3-.3-.2-.1-.3-.2-.3-.3-.1 0-.1-.1-.1-.1v-.1c-.2-.2-.1-.5.2-.6.2-.2.5-.1.6.2h.1c.1.1.3.2.8.2s.7-.3.7-.5c0-.1 0-.2-.1-.3-.1-.1-.3-.2-.6-.2s-.5-.2-.5-.5zm-.4-1.3z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 1.5c0-.2-.2-.4-.4-.5-.2 0-.4.1-.5.3-.1 0-.1.1-.1.1-.1.1-.2.2-.3.4-.2.2-.5.5-.9.8-.3.1-.4.4-.2.6.1.3.4.4.6.2.3-.1.6-.3.8-.5v2.6c0 .3.2.5.5.5s.5-.2.5-.5v-4zM14.6 7.6c-.1.2-.1.6 0 .8.2.1.6.1.8 0v-.1s.1-.1.2-.1c.2-.1.4-.2.7-.2.2 0 .4.1.5.1.1.1.2.2.2.4s-.1.3-.2.4c-.2.2-.4.3-.6.4-.1 0-.1 0-.2.1-.3.1-.7.3-1 .7-.3.3-.5.8-.5 1.4 0 .3.2.5.5.5h2.5c.3 0 .5-.2.5-.5s-.2-.5-.5-.5h-1.9c0-.1.1-.2.2-.3.1-.1.4-.3.7-.4 0-.1.1-.1.1-.1.3-.1.6-.3.8-.5.4-.3.6-.7.6-1.2s-.2-.9-.6-1.2c-.3-.2-.7-.3-1.1-.3-.5 0-.9.2-1.2.3-.1.1-.2.2-.3.2l-.1.1h-.1zM15.8 15.5c0-.3.2-.5.5-.5s.5-.1.6-.2c.1-.1.1-.2.1-.3 0-.2-.2-.5-.7-.5-.5 0-.7.1-.8.2h-.1c-.1.3-.4.4-.6.2-.3-.1-.4-.4-.2-.6v-.1s0-.1.1-.1c0-.1.1-.2.3-.3.3-.2.7-.3 1.3-.3 1 0 1.7.7 1.7 1.5 0 .3-.1.7-.4 1 .3.3.4.7.4 1 0 .8-.7 1.5-1.7 1.5-.6 0-1-.1-1.3-.3-.2-.1-.3-.2-.3-.3-.1 0-.1-.1-.1-.1v-.1c-.2-.2-.1-.5.2-.6.2-.2.5-.1.6.2h.1c.1.1.3.2.8.2s.7-.3.7-.5c0-.1 0-.2-.1-.3-.1-.1-.3-.2-.6-.2s-.5-.2-.5-.5zM3.8 4c-.5 0-.8.3-.8.8 0 .4.3.7.8.7h7.5c.4 0 .7-.3.7-.7 0-.5-.3-.8-.7-.8H3.8zM3.8 9c-.5 0-.8.3-.8.8 0 .4.3.7.8.7h7.5c.4 0 .7-.3.7-.7 0-.5-.3-.8-.7-.8H3.8zM3.8 14c-.5 0-.8.3-.8.8 0 .4.3.7.8.7h7.5c.4 0 .7-.3.7-.7 0-.5-.3-.8-.7-.8H3.8z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 1.5c0-.2-.2-.4-.4-.5-.2 0-.4.1-.5.3-.1 0-.1.1-.1.1-.1.1-.2.2-.3.4-.2.2-.5.5-.9.8-.3.1-.4.4-.2.6.1.3.4.4.6.2.3-.1.6-.3.8-.5v2.6c0 .3.2.5.5.5s.5-.2.5-.5v-4zM8.8 4c-.5 0-.8.3-.8.8 0 .4.3.7.8.7h7.5c.4 0 .7-.3.7-.7 0-.5-.3-.8-.7-.8H8.8zM8.8 9c-.5 0-.8.3-.8.8 0 .4.3.7.8.7h7.5c.4 0 .7-.3.7-.7 0-.5-.3-.8-.7-.8H8.8zM8 14.8c0-.5.3-.8.8-.8h7.5c.4 0 .7.3.7.8 0 .4-.3.7-.7.7H8.8c-.5 0-.8-.3-.8-.7zM2.6 7.6c-.1.2-.1.6 0 .8.2.1.6.1.8 0v-.1s.1-.1.2-.1c.2-.1.4-.2.7-.2.2 0 .4.1.5.1.1.1.2.2.2.4s-.1.3-.2.4c-.2.2-.4.3-.6.4-.1 0-.1 0-.2.1-.3.1-.7.3-1 .7-.3.3-.5.8-.5 1.4 0 .3.2.5.5.5h2.5c.3 0 .5-.2.5-.5s-.2-.5-.5-.5H3.6c0-.1.1-.2.2-.3.1-.1.4-.3.7-.4 0-.1.1-.1.1-.1.3-.1.6-.3.8-.5.4-.3.6-.7.6-1.2s-.2-.9-.6-1.2c-.3-.2-.7-.3-1.1-.3-.5 0-.9.2-1.2.3-.1.1-.2.2-.3.2l-.1.1h-.1zm.1 0h-.1.1zM3.8 15.5c0-.3.2-.5.5-.5s.5-.1.6-.2c.1-.1.1-.2.1-.3 0-.2-.2-.5-.7-.5-.5 0-.7.1-.8.2h-.1c-.1.3-.4.4-.6.2-.3-.1-.4-.4-.2-.6v-.1s0-.1.1-.1c0-.1.1-.2.3-.3.3-.2.7-.3 1.3-.3 1 0 1.7.7 1.7 1.5 0 .3-.1.7-.4 1 .3.3.4.7.4 1 0 .8-.7 1.5-1.7 1.5-.6 0-1-.1-1.3-.3-.2-.1-.3-.2-.3-.3-.1 0-.1-.1-.1-.1v-.1c-.2-.2-.1-.5.2-.6.2-.2.5-.1.6.2h.1c.1.1.3.2.8.2s.7-.3.7-.5c0-.1 0-.2-.1-.3-.1-.1-.3-.2-.6-.2s-.5-.2-.5-.5zm-.4-1.3z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 9C3.2 9 3 9.2 3 9.5 3 9.8 3.2 10 3.5 10H11.5C11.8 10 12 9.8 12 9.5 12 9.2 11.8 9 11.5 9H3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 14C3.2 14 3 14.2 3 14.5 3 14.8 3.2 15 3.5 15H11.5C11.8 15 12 14.8 12 14.5 12 14.2 11.8 14 11.5 14H3.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 1.5C17 1.3 16.8 1.1 16.6 1 16.4 1 16.2 1.1 16.1 1.3 16 1.3 16 1.4 16 1.4 15.9 1.5 15.8 1.6 15.7 1.8 15.5 2 15.2 2.3 14.8 2.6 14.5 2.7 14.4 3 14.6 3.2 14.7 3.5 15 3.6 15.2 3.4 15.5 3.3 15.8 3.1 16 2.9V5.5C16 5.8 16.2 6 16.5 6 16.8 6 17 5.8 17 5.5V1.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.6 7.6C14.5 7.8 14.5 8.2 14.6 8.4 14.8 8.5 15.2 8.5 15.4 8.4L15.4 8.4C15.4 8.3 15.4 8.3 15.4 8.3 15.4 8.3 15.5 8.2 15.6 8.2 15.8 8.1 16 8 16.3 8 16.5 8 16.7 8.1 16.8 8.1 16.9 8.2 17 8.3 17 8.5 17 8.7 16.9 8.8 16.8 8.9 16.6 9.1 16.4 9.2 16.2 9.3 16.1 9.3 16.1 9.3 16 9.4 15.7 9.5 15.3 9.7 15 10.1 14.7 10.4 14.5 10.9 14.5 11.5 14.5 11.8 14.7 12 15 12H17.5C17.8 12 18 11.8 18 11.5 18 11.2 17.8 11 17.5 11H15.6C15.6 10.9 15.7 10.8 15.8 10.7 15.9 10.6 16.2 10.4 16.5 10.3 16.5 10.2 16.6 10.2 16.6 10.2 16.9 10.1 17.2 9.9 17.4 9.7 17.8 9.4 18 9 18 8.5 18 8 17.8 7.6 17.4 7.3 17.1 7.1 16.7 7 16.3 7L16.3 7C15.8 7 15.4 7.2 15.1 7.3 15 7.4 14.9 7.5 14.8 7.5 14.7 7.6 14.7 7.6 14.7 7.6 14.7 7.6 14.7 7.6 14.7 7.6L14.7 7.6 14.6 7.6 14.6 7.6 14.6 7.6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8 15.5C15.8 15.2 16 15 16.3 15 16.6 15 16.8 14.9 16.9 14.8 17 14.7 17 14.6 17 14.5 17 14.3 16.8 14 16.3 14 15.8 14 15.6 14.1 15.5 14.2 15.5 14.2 15.4 14.2 15.4 14.2L15.4 14.2C15.4 14.2 15.4 14.2 15.4 14.2L15.4 14.2 15.4 14.2 15.4 14.2 15.4 14.2C15.4 14.2 15.4 14.2 15.4 14.2L15.4 14.2 15.4 14.2C15.3 14.5 15 14.6 14.8 14.4 14.5 14.3 14.4 14 14.6 13.8L14.6 13.8 14.6 13.8 14.6 13.8 14.6 13.8 14.6 13.7C14.6 13.7 14.6 13.7 14.6 13.7 14.6 13.7 14.6 13.6 14.7 13.6 14.7 13.5 14.8 13.4 15 13.3 15.3 13.1 15.7 13 16.3 13 17.3 13 18 13.7 18 14.5 18 14.8 17.9 15.2 17.6 15.5 17.9 15.8 18 16.2 18 16.5 18 17.3 17.3 18 16.3 18 15.7 18 15.3 17.9 15 17.7 14.8 17.6 14.7 17.5 14.7 17.4 14.6 17.4 14.6 17.3 14.6 17.3 14.6 17.3 14.6 17.3 14.6 17.3L14.6 17.2 14.6 17.2 14.6 17.2 14.6 17.2 14.6 17.2C14.4 17 14.5 16.7 14.8 16.6 15 16.4 15.3 16.5 15.4 16.8L15.4 16.8C15.4 16.8 15.5 16.8 15.5 16.8 15.6 16.9 15.8 17 16.3 17 16.8 17 17 16.7 17 16.5 17 16.4 17 16.3 16.9 16.2 16.8 16.1 16.6 16 16.3 16 16 16 15.8 15.8 15.8 15.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.8 4C3.3 4 3 4.3 3 4.8 3 5.2 3.3 5.5 3.8 5.5H11.3C11.7 5.5 12 5.2 12 4.8 12 4.3 11.7 4 11.3 4H3.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.8 9C3.3 9 3 9.3 3 9.8 3 10.2 3.3 10.5 3.8 10.5H11.3C11.7 10.5 12 10.2 12 9.8 12 9.3 11.7 9 11.3 9H3.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.8 14C3.3 14 3 14.3 3 14.8 3 15.2 3.3 15.5 3.8 15.5H11.3C11.7 15.5 12 15.2 12 14.8 12 14.3 11.7 14 11.3 14H3.8Z\"\n    }))) : /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 1.5C5 1.3 4.8 1.1 4.6 1 4.4 1 4.2 1.1 4.1 1.3 4 1.3 4 1.4 4 1.4 3.9 1.5 3.8 1.6 3.7 1.8 3.5 2 3.2 2.3 2.8 2.6 2.5 2.7 2.4 3 2.6 3.2 2.7 3.5 3 3.6 3.2 3.4 3.5 3.3 3.8 3.1 4 2.9V5.5C4 5.8 4.2 6 4.5 6 4.8 6 5 5.8 5 5.5V1.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.8 4C8.3 4 8 4.3 8 4.8 8 5.2 8.3 5.5 8.8 5.5H16.3C16.7 5.5 17 5.2 17 4.8 17 4.3 16.7 4 16.3 4H8.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.8 9C8.3 9 8 9.3 8 9.8 8 10.2 8.3 10.5 8.8 10.5H16.3C16.7 10.5 17 10.2 17 9.8 17 9.3 16.7 9 16.3 9H8.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 14.8C8 14.3 8.3 14 8.8 14H16.3C16.7 14 17 14.3 17 14.8 17 15.2 16.7 15.5 16.3 15.5H8.8C8.3 15.5 8 15.2 8 14.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.6 7.6C2.5 7.8 2.5 8.2 2.6 8.4 2.8 8.5 3.2 8.5 3.4 8.4L3.4 8.4C3.4 8.3 3.4 8.3 3.4 8.3 3.4 8.3 3.5 8.2 3.6 8.2 3.8 8.1 4 8 4.3 8 4.5 8 4.7 8.1 4.8 8.1 4.9 8.2 5 8.3 5 8.5 5 8.7 4.9 8.8 4.8 8.9 4.6 9.1 4.4 9.2 4.2 9.3 4.1 9.3 4.1 9.3 4 9.4 3.7 9.5 3.3 9.7 3 10.1 2.7 10.4 2.5 10.9 2.5 11.5 2.5 11.8 2.7 12 3 12H5.5C5.8 12 6 11.8 6 11.5 6 11.2 5.8 11 5.5 11H3.6C3.6 10.9 3.7 10.8 3.8 10.7 3.9 10.6 4.2 10.4 4.5 10.3 4.5 10.2 4.6 10.2 4.6 10.2 4.9 10.1 5.2 9.9 5.4 9.7 5.8 9.4 6 9 6 8.5 6 8 5.8 7.6 5.4 7.3 5.1 7.1 4.7 7 4.3 7L4.3 7C3.8 7 3.4 7.2 3.1 7.3 3 7.4 2.9 7.5 2.8 7.5 2.7 7.6 2.7 7.6 2.7 7.6 2.7 7.6 2.7 7.6 2.7 7.6L2.7 7.6 2.6 7.6 2.6 7.6 2.6 7.6ZM2.7 7.6L2.6 7.6C2.6 7.6 2.7 7.6 2.7 7.6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.8 15.5C3.8 15.2 4 15 4.3 15 4.6 15 4.8 14.9 4.9 14.8 5 14.7 5 14.6 5 14.5 5 14.3 4.8 14 4.3 14 3.8 14 3.6 14.1 3.5 14.2 3.5 14.2 3.4 14.2 3.4 14.2L3.4 14.2C3.3 14.5 3 14.6 2.8 14.4 2.5 14.3 2.4 14 2.6 13.8L2.6 13.8 2.6 13.8 2.6 13.8 2.6 13.8 2.6 13.7C2.6 13.7 2.6 13.7 2.6 13.7 2.6 13.7 2.6 13.6 2.7 13.6 2.7 13.5 2.8 13.4 3 13.3 3.3 13.1 3.7 13 4.3 13 5.3 13 6 13.7 6 14.5 6 14.8 5.9 15.2 5.6 15.5 5.9 15.8 6 16.2 6 16.5 6 17.3 5.3 18 4.3 18 3.7 18 3.3 17.9 3 17.7 2.8 17.6 2.7 17.5 2.7 17.4 2.6 17.4 2.6 17.3 2.6 17.3 2.6 17.3 2.6 17.3 2.6 17.3L2.6 17.2 2.6 17.2 2.6 17.2 2.6 17.2 2.6 17.2C2.4 17 2.5 16.7 2.8 16.6 3 16.4 3.3 16.5 3.4 16.8L3.4 16.8C3.4 16.8 3.5 16.8 3.5 16.8 3.6 16.9 3.8 17 4.3 17 4.8 17 5 16.7 5 16.5 5 16.4 5 16.3 4.9 16.2 4.8 16.1 4.6 16 4.3 16 4 16 3.8 15.8 3.8 15.5ZM3.4 14.2C3.4 14.2 3.4 14.2 3.4 14.2L3.4 14.2 3.4 14.2 3.4 14.2 3.4 14.2C3.4 14.2 3.4 14.2 3.4 14.2L3.4 14.2 3.4 14.2Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 1.5C5 1.3 4.8 1.1 4.6 1 4.4 1 4.2 1.1 4.1 1.3 4 1.3 4 1.4 4 1.4 3.9 1.5 3.8 1.6 3.7 1.8 3.5 2 3.2 2.3 2.8 2.6 2.5 2.7 2.4 3 2.6 3.2 2.7 3.5 3 3.6 3.2 3.4 3.5 3.3 3.8 3.1 4 2.9V5.5C4 5.8 4.2 6 4.5 6 4.8 6 5 5.8 5 5.5V1.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.8 4C8.3 4 8 4.3 8 4.8 8 5.2 8.3 5.5 8.8 5.5H16.3C16.7 5.5 17 5.2 17 4.8 17 4.3 16.7 4 16.3 4H8.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.8 9C8.3 9 8 9.3 8 9.8 8 10.2 8.3 10.5 8.8 10.5H16.3C16.7 10.5 17 10.2 17 9.8 17 9.3 16.7 9 16.3 9H8.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 14.8C8 14.3 8.3 14 8.8 14H16.3C16.7 14 17 14.3 17 14.8 17 15.2 16.7 15.5 16.3 15.5H8.8C8.3 15.5 8 15.2 8 14.8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.6 7.6C2.5 7.8 2.5 8.2 2.6 8.4 2.8 8.5 3.2 8.5 3.4 8.4L3.4 8.4C3.4 8.3 3.4 8.3 3.4 8.3 3.4 8.3 3.5 8.2 3.6 8.2 3.8 8.1 4 8 4.3 8 4.5 8 4.7 8.1 4.8 8.1 4.9 8.2 5 8.3 5 8.5 5 8.7 4.9 8.8 4.8 8.9 4.6 9.1 4.4 9.2 4.2 9.3 4.1 9.3 4.1 9.3 4 9.4 3.7 9.5 3.3 9.7 3 10.1 2.7 10.4 2.5 10.9 2.5 11.5 2.5 11.8 2.7 12 3 12H5.5C5.8 12 6 11.8 6 11.5 6 11.2 5.8 11 5.5 11H3.6C3.6 10.9 3.7 10.8 3.8 10.7 3.9 10.6 4.2 10.4 4.5 10.3 4.5 10.2 4.6 10.2 4.6 10.2 4.9 10.1 5.2 9.9 5.4 9.7 5.8 9.4 6 9 6 8.5 6 8 5.8 7.6 5.4 7.3 5.1 7.1 4.7 7 4.3 7L4.3 7C3.8 7 3.4 7.2 3.1 7.3 3 7.4 2.9 7.5 2.8 7.5 2.7 7.6 2.7 7.6 2.7 7.6 2.7 7.6 2.7 7.6 2.7 7.6L2.7 7.6 2.6 7.6 2.6 7.6 2.6 7.6ZM2.7 7.6L2.6 7.6C2.6 7.6 2.7 7.6 2.7 7.6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.8 15.5C3.8 15.2 4 15 4.3 15 4.6 15 4.8 14.9 4.9 14.8 5 14.7 5 14.6 5 14.5 5 14.3 4.8 14 4.3 14 3.8 14 3.6 14.1 3.5 14.2 3.5 14.2 3.4 14.2 3.4 14.2L3.4 14.2C3.3 14.5 3 14.6 2.8 14.4 2.5 14.3 2.4 14 2.6 13.8L2.6 13.8 2.6 13.8 2.6 13.8 2.6 13.8 2.6 13.7C2.6 13.7 2.6 13.7 2.6 13.7 2.6 13.7 2.6 13.6 2.7 13.6 2.7 13.5 2.8 13.4 3 13.3 3.3 13.1 3.7 13 4.3 13 5.3 13 6 13.7 6 14.5 6 14.8 5.9 15.2 5.6 15.5 5.9 15.8 6 16.2 6 16.5 6 17.3 5.3 18 4.3 18 3.7 18 3.3 17.9 3 17.7 2.8 17.6 2.7 17.5 2.7 17.4 2.6 17.4 2.6 17.3 2.6 17.3 2.6 17.3 2.6 17.3 2.6 17.3L2.6 17.2 2.6 17.2 2.6 17.2 2.6 17.2 2.6 17.2C2.4 17 2.5 16.7 2.8 16.6 3 16.4 3.3 16.5 3.4 16.8L3.4 16.8C3.4 16.8 3.5 16.8 3.5 16.8 3.6 16.9 3.8 17 4.3 17 4.8 17 5 16.7 5 16.5 5 16.4 5 16.3 4.9 16.2 4.8 16.1 4.6 16 4.3 16 4 16 3.8 15.8 3.8 15.5ZM3.4 14.2C3.4 14.2 3.4 14.2 3.4 14.2L3.4 14.2 3.4 14.2 3.4 14.2 3.4 14.2C3.4 14.2 3.4 14.2 3.4 14.2L3.4 14.2 3.4 14.2Z\"\n    })));\n  },\n  displayName: 'NumberListIcon'\n});\n//# sourceMappingURL=NumberListIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var OcrOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M2.41419 3.12131C2.15244 3.51653 2 3.99046 2 4.5V6.5C2 6.77614 2.22386 7 2.5 7C2.77614 7 3 6.77614 3 6.5V4.5C3 4.26843 3.05247 4.04912 3.14618 3.8533L9.5 10.2071V14H9C8.72386 14 8.5 14.2238 8.5 14.5C8.5 14.7761 8.72386 15 9 15H11C11.2761 15 11.5 14.7761 11.5 14.5C11.5 14.2238 11.2761 14 11 14H10.5V11.2071L16.016 16.7231C15.7182 16.899 15.3709 17 15 17H13.5C13.2239 17 13 17.2238 13 17.5C13 17.7761 13.2239 18 13.5 18H15C15.6479 18 16.2479 17.7946 16.7383 17.4454L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L17.4454 16.7383C17.4454 16.7383 17.4454 16.7383 17.4454 16.7383L16.7231 16.016C16.7231 16.016 16.7231 16.016 16.7231 16.016L6.03166 5.32453C6.03166 5.32452 6.03165 5.32454 6.03166 5.32453L3.85328 3.14619C3.85329 3.14619 3.85328 3.14619 3.85328 3.14619L3.12132 2.41419C3.12131 2.4142 3.12132 2.41419 3.12132 2.41419L2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L2.41419 3.12131ZM18 15C18 15.2687 17.9647 15.5292 17.8984 15.777L17 14.8787V13.5C17 13.2238 17.2239 13 17.5 13C17.7761 13 18 13.2238 18 13.5V15ZM10.5 6V8.37866L9.5 7.37866V6H8.12134L7.12134 5H13.5C13.7761 5 14 5.22385 14 5.5V6.5C14 6.77614 13.7761 7 13.5 7C13.2239 7 13 6.77614 13 6.5V6H10.5ZM6.5 3H5.12134L4.14618 2.02484C4.26177 2.00847 4.37989 2 4.5 2H6.5C6.77614 2 7 2.22386 7 2.5C7 2.77614 6.77614 3 6.5 3ZM5 17C3.89543 17 3 16.1046 3 15V13.5C3 13.2238 2.77614 13 2.5 13C2.22386 13 2 13.2238 2 13.5V15C2 16.6568 3.34315 18 5 18H6.5C6.77614 18 7 17.7761 7 17.5C7 17.2238 6.77614 17 6.5 17H5ZM17 4.5C17 3.67157 16.3284 3 15.5 3H13.5C13.2239 3 13 2.77614 13 2.5C13 2.22386 13.2239 2 13.5 2H15.5C16.8807 2 18 3.11929 18 4.5V6.5C18 6.77614 17.7761 7 17.5 7C17.2239 7 17 6.77614 17 6.5V4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M2.48413 3.19125C2.17878 3.63426 2 4.17125 2 4.75V6.25C2 6.66421 2.33579 7 2.75 7C3.16421 7 3.5 6.66421 3.5 6.25V4.75C3.5 4.58879 3.53052 4.4347 3.58609 4.29321L5.75 6.45712V6.75C5.75 7.16421 6.08579 7.49999 6.5 7.49999C6.58771 7.49999 6.67191 7.48494 6.75015 7.45727L9.25 9.95711V13.5H9C8.58579 13.5 8.25 13.8358 8.25 14.25C8.25 14.6642 8.58579 15 9 15H11C11.4142 15 11.75 14.6642 11.75 14.25C11.75 13.8358 11.4142 13.5 11 13.5H10.75V11.4571L15.7068 16.4139C15.5653 16.4695 15.4112 16.5 15.25 16.5H13.75C13.3358 16.5 13 16.8358 13 17.25C13 17.6642 13.3358 18 13.75 18H15.25C15.8287 18 16.3657 17.8212 16.8088 17.5159L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L17.5159 16.8088C17.5159 16.8088 17.5159 16.8088 17.5159 16.8088L16.4139 15.7068C16.4139 15.7068 16.4139 15.7068 16.4139 15.7068L5.94866 5.24154C5.94866 5.24154 5.94867 5.24153 5.94866 5.24154L4.29319 3.5861C4.29318 3.5861 4.2932 3.5861 4.29319 3.5861L3.19125 2.48412C3.19125 2.48412 3.19124 2.48413 3.19125 2.48412L2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L2.48413 3.19125ZM18 15.25C18 15.4453 17.9796 15.6358 17.9409 15.8196L16.5 14.3787V13.75C16.5 13.3358 16.8358 13 17.25 13C17.6642 13 18 13.3358 18 13.75V15.25ZM10.75 6.5V8.62866L9.25 7.12866V6.5H8.62134L7.12134 5H13.5C13.9142 5 14.25 5.33578 14.25 5.75V6.75C14.25 7.16421 13.9142 7.49999 13.5 7.49999C13.0858 7.49999 12.75 7.16421 12.75 6.75V6.5H10.75ZM6.25 3.5H5.62134L4.1804 2.05906C4.36418 2.02036 4.55471 2 4.75 2H6.25C6.66421 2 7 2.33579 7 2.75C7 3.16421 6.66421 3.5 6.25 3.5ZM4.75 16.5C4.05964 16.5 3.5 15.9403 3.5 15.25V13.75C3.5 13.3358 3.16421 13 2.75 13C2.33579 13 2 13.3358 2 13.75V15.25C2 16.7688 3.23122 18 4.75 18H6.25C6.66421 18 7 17.6642 7 17.25C7 16.8358 6.66421 16.5 6.25 16.5H4.75ZM16.5 4.75C16.5 4.05964 15.9404 3.5 15.25 3.5H13.75C13.3358 3.5 13 3.16421 13 2.75C13 2.33579 13.3358 2 13.75 2H15.25C16.7688 2 18 3.23122 18 4.75V6.25C18 6.66421 17.6642 7 17.25 7C16.8358 7 16.5 6.66421 16.5 6.25V4.75Z\"\n    }));\n  },\n  displayName: 'OcrOffIcon'\n});\n//# sourceMappingURL=OcrOffIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var OcrOnIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4.5 3C3.67157 3 3 3.67157 3 4.5V6.5C3 6.77614 2.77614 7 2.5 7C2.22386 7 2 6.77614 2 6.5V4.5C2 3.11929 3.11929 2 4.5 2H6.5C6.77614 2 7 2.22386 7 2.5C7 2.77614 6.77614 3 6.5 3H4.5ZM5 17C3.89543 17 3 16.1046 3 15V13.5C3 13.2239 2.77614 13 2.5 13C2.22386 13 2 13.2239 2 13.5V15C2 16.6569 3.34315 18 5 18H6.5C6.77614 18 7 17.7761 7 17.5C7 17.2239 6.77614 17 6.5 17H5ZM17 4.5C17 3.67157 16.3284 3 15.5 3H13.5C13.2239 3 13 2.77614 13 2.5C13 2.22386 13.2239 2 13.5 2H15.5C16.8807 2 18 3.11929 18 4.5V6.5C18 6.77614 17.7761 7 17.5 7C17.2239 7 17 6.77614 17 6.5V4.5ZM15 17C16.1046 17 17 16.1046 17 15V13.5C17 13.2239 17.2239 13 17.5 13C17.7761 13 18 13.2239 18 13.5V15C18 16.6569 16.6569 18 15 18H13.5C13.2239 18 13 17.7761 13 17.5C13 17.2239 13.2239 17 13.5 17H15ZM6.5 5C6.22386 5 6 5.22386 6 5.5V6.5C6 6.77614 6.22386 7 6.5 7C6.77614 7 7 6.77614 7 6.5V6H9.5V14H9C8.72386 14 8.5 14.2239 8.5 14.5C8.5 14.7761 8.72386 15 9 15H11C11.2761 15 11.5 14.7761 11.5 14.5C11.5 14.2239 11.2761 14 11 14H10.5V6H13V6.5C13 6.77614 13.2239 7 13.5 7C13.7761 7 14 6.77614 14 6.5V5.5C14 5.22386 13.7761 5 13.5 5H6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4.75 3.5C4.05964 3.5 3.5 4.05964 3.5 4.75V6.25C3.5 6.66421 3.16421 7 2.75 7C2.33579 7 2 6.66421 2 6.25V4.75C2 3.23122 3.23122 2 4.75 2H6.25C6.66421 2 7 2.33579 7 2.75C7 3.16421 6.66421 3.5 6.25 3.5H4.75ZM4.75 16.5C4.05964 16.5 3.5 15.9404 3.5 15.25V13.75C3.5 13.3358 3.16421 13 2.75 13C2.33579 13 2 13.3358 2 13.75V15.25C2 16.7688 3.23122 18 4.75 18H6.25C6.66421 18 7 17.6642 7 17.25C7 16.8358 6.66421 16.5 6.25 16.5H4.75ZM16.5 4.75C16.5 4.05964 15.9404 3.5 15.25 3.5H13.75C13.3358 3.5 13 3.16421 13 2.75C13 2.33579 13.3358 2 13.75 2H15.25C16.7688 2 18 3.23122 18 4.75V6.25C18 6.66421 17.6642 7 17.25 7C16.8358 7 16.5 6.66421 16.5 6.25V4.75ZM15.25 16.5C15.9404 16.5 16.5 15.9404 16.5 15.25V13.75C16.5 13.3358 16.8358 13 17.25 13C17.6642 13 18 13.3358 18 13.75V15.25C18 16.7688 16.7688 18 15.25 18H13.75C13.3358 18 13 17.6642 13 17.25C13 16.8358 13.3358 16.5 13.75 16.5H15.25ZM6.5 5C6.08579 5 5.75 5.33579 5.75 5.75V6.75C5.75 7.16421 6.08579 7.5 6.5 7.5C6.91421 7.5 7.25 7.16421 7.25 6.75V6.5H9.25V13.5H9C8.58579 13.5 8.25 13.8358 8.25 14.25C8.25 14.6642 8.58579 15 9 15H11C11.4142 15 11.75 14.6642 11.75 14.25C11.75 13.8358 11.4142 13.5 11 13.5H10.75V6.5H12.75V6.75C12.75 7.16421 13.0858 7.5 13.5 7.5C13.9142 7.5 14.25 7.16421 14.25 6.75V5.75C14.25 5.33579 13.9142 5 13.5 5H6.5Z\"\n    }));\n  },\n  displayName: 'OcrOnIcon'\n});\n//# sourceMappingURL=OcrOnIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var OneNoteColorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 32 32\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M9.5 30H26.5C27.327 30 28 29.327 28 28.5V3.5C28 2.673 27.327 2 26.5 2H9.5C8.673 2 8 2.673 8 3.5V28.5C8 29.327 8.673 30 9.5 30ZM9 3.5C9 3.22386 9.22386 3 9.5 3H26.5C26.7761 3 27 3.22386 27 3.5V28.5C27 28.7761 26.7761 29 26.5 29H9.5C9.22386 29 9 28.7761 9 28.5V3.5Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M29 19H28V13H29C29.5523 13 30 13.4477 30 14V18C30 18.5523 29.5523 19 29 19Z\",\n      fill: \"#9332BF\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M29 12H28V6H29C29.5523 6 30 6.44772 30 7V11C30 11.5523 29.5523 12 29 12Z\",\n      fill: \"#AE4BD5\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M29 26H28V20H29C29.5523 20 30 20.4477 30 21V25C30 25.5523 29.5523 26 29 26Z\",\n      fill: \"#7719AA\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 29H26.5C26.7761 29 27 28.7761 27 28.5V3.5C27 3.22386 26.7761 3 26.5 3H9.5C9.22386 3 9 3.22386 9 3.5V28.5C9 28.7761 9.22386 29 9.5 29Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 25H14.5C15.3284 25 16 24.3284 16 23.5V12.5C16 11.6716 15.3284 11 14.5 11H3.5C2.67157 11 2 11.6716 2 12.5V23.5C2 24.3284 2.67157 25 3.5 25Z\",\n      fill: \"#7719AA\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.542 22H10.726C10.726 22 7.07301 16.464 7.00001 16.316V22H5.31201V14H7.37201L11.035 19.684C11.005 19.493 11.022 14.012 11.022 14.012L12.542 14V22Z\",\n      fill: \"white\"\n    }));\n  },\n  displayName: 'OneNoteColorIcon'\n});\n//# sourceMappingURL=OneNoteColorIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var OneNoteIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25 3.00011H9C8.448 3.00011 8 3.44811 8 4.00011V24.0001C8 24.5521 8.448 25.0001 9 25.0001H22.229C24.312 25.0001 26 23.3121 26 21.2291V4.00011C26 3.44811 25.552 3.00011 25 3.00011Z\",\n      fill: \"#CA64EA\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.75\",\n      d: \"M15.8332 8.00011H8.00024V22.0001H15.6042C16.3122 22.0001 17.0002 21.2871 17.0002 20.6461V9.16711C17.0002 8.52511 16.4752 8.00011 15.8332 8.00011Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.8334 20.9999H3.16637C2.52537 20.9999 2.00037 20.4749 2.00037 19.8329V8.16689C2.00037 7.52489 2.52537 6.99989 3.16637 6.99989H14.8334C15.4754 6.99989 16.0004 7.52489 16.0004 8.16689V19.8329C16.0004 20.4749 15.4754 20.9999 14.8334 20.9999Z\",\n      fill: \"#7719AA\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.79846 9.9998H7.50346L10.4435 15.1628C10.5965 15.3958 10.6985 15.7888 10.7745 15.9298H10.7965C10.7635 15.7338 10.7475 15.3798 10.7475 14.8678V9.9998H12.2015V17.9998H10.6055L7.55246 12.6788C7.40746 12.4538 7.30346 12.2698 7.24146 12.1288H7.21446C7.24346 12.3678 7.25846 12.7568 7.25846 13.2938V17.9998H5.79846V9.9998Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M20 13H26V7H20V13Z\",\n      fill: \"#AE4BD5\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M20 19H26V13H20V19Z\",\n      fill: \"#9332BF\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M20 19.0001V25.0001H25C25.552 25.0001 26 24.5521 26 24.0001V19.0001H20Z\",\n      fill: \"#7719AA\"\n    }));\n  },\n  displayName: 'OneNoteIcon'\n});\n//# sourceMappingURL=OneNoteIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var OneNoteMonoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.34,3a.68.68,0,0,1,.66.66V16.34a.68.68,0,0,1-.66.66H6.66A.68.68,0,0,1,6,16.34V14H2.66a.63.63,0,0,1-.46-.2.63.63,0,0,1-.2-.46V6.66a.63.63,0,0,1,.2-.46A.63.63,0,0,1,2.66,6H6V3.66A.68.68,0,0,1,6.66,3ZM5,9.34l1.89,3.28H8.12V7.38H7v3.35L5.14,7.38H3.88v5.24H5ZM17,16V14H15v2Zm0-3V11H15v2Zm0-3V8H15v2Zm0-3V4H7V6H9.34a.68.68,0,0,1,.66.66v6.68a.68.68,0,0,1-.66.66H7v2h7V7Z\"\n    }));\n  },\n  displayName: 'OneNoteMonoIcon'\n});\n//# sourceMappingURL=OneNoteMonoIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var OneDriveIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.5002 17L21.4542 12.262C20.6262 9.021 17.6872 6.625 14.1872 6.625C11.5692 6.625 9.26522 7.968 7.92322 10.002C8.00022 10 16.5002 17 16.5002 17Z\",\n      fill: \"#0364B8\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.1522 10.8938V10.8948C10.2362 10.3278 9.15624 9.9998 8.00024 9.9998C7.97424 9.9998 7.94924 10.0018 7.92324 10.0018C4.64524 10.0428 2.00024 12.7118 2.00024 15.9998C2.00024 17.2758 2.39924 18.4568 3.07824 19.4298L10.5002 18.4998L16.1902 13.9118L11.1522 10.8938Z\",\n      fill: \"#0078D4\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M21.4543 12.2622C21.3453 12.2552 21.2363 12.2502 21.1253 12.2502C20.4383 12.2502 19.7853 12.3922 19.1933 12.6492L19.1923 12.6482L16.1903 13.9112L19.5003 18.0002L25.4173 19.4382C25.7893 18.7502 26.0003 17.9622 26.0003 17.1252C26.0003 14.5432 23.9933 12.4312 21.4543 12.2622Z\",\n      fill: \"#1490DF\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.07825 19.4297C4.16225 20.9827 5.96225 21.9997 8.00025 21.9997H21.1252C22.9802 21.9997 24.5932 20.9637 25.4172 19.4387L16.1902 13.9117L3.07825 19.4297Z\",\n      fill: \"#28A8EA\"\n    }));\n  },\n  displayName: 'OneDriveIcon'\n});\n//# sourceMappingURL=OneDriveIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var OptionsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14.95 5C14.7184 3.85888 13.7095 3 12.5 3C11.2905 3 10.2816 3.85888 10.05 5H2.5C2.22386 5 2 5.22386 2 5.5C2 5.77614 2.22386 6 2.5 6H10.05C10.2816 7.14112 11.2905 8 12.5 8C13.7297 8 14.752 7.11217 14.961 5.94254C14.9575 5.96177 14.9539 5.98093 14.95 6H17.5C17.7761 6 18 5.77614 18 5.5C18 5.22386 17.7761 5 17.5 5H14.95ZM12.5 7C13.3284 7 14 6.32843 14 5.5C14 4.67157 13.3284 4 12.5 4C11.6716 4 11 4.67157 11 5.5C11 6.32843 11.6716 7 12.5 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M9.94999 14C9.71836 12.8589 8.70948 12 7.5 12C6.29052 12 5.28164 12.8589 5.05001 14H2.5C2.22386 14 2 14.2239 2 14.5C2 14.7761 2.22386 15 2.5 15H5.05001C5.28164 16.1411 6.29052 17 7.5 17C8.70948 17 9.71836 16.1411 9.94999 15H17.5C17.7761 15 18 14.7761 18 14.5C18 14.2239 17.7761 14 17.5 14H9.94999ZM7.5 16C8.32843 16 9 15.3284 9 14.5C9 13.6716 8.32843 13 7.5 13C6.67157 13 6 13.6716 6 14.5C6 15.3284 6.67157 16 7.5 16Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.25 5H14.8855C14.567 3.98572 13.6194 3.25 12.5 3.25C11.3806 3.25 10.433 3.98572 10.1145 5H2.75C2.33579 5 2 5.33579 2 5.75C2 6.16421 2.33579 6.5 2.75 6.5H10.1145C10.433 7.51428 11.3806 8.25 12.5 8.25C13.6194 8.25 14.567 7.51428 14.8855 6.5H17.25C17.6642 6.5 18 6.16421 18 5.75C18 5.33579 17.6642 5 17.25 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.75 13.5C2.33579 13.5 2 13.8358 2 14.25C2 14.6642 2.33579 15 2.75 15H5.11445C5.43302 16.0143 6.38059 16.75 7.5 16.75C8.61941 16.75 9.56698 16.0143 9.88555 15H17.25C17.6642 15 18 14.6642 18 14.25C18 13.8358 17.6642 13.5 17.25 13.5H9.88555C9.56698 12.4857 8.61941 11.75 7.5 11.75C6.38059 11.75 5.43302 12.4857 5.11445 13.5H2.75Z\"\n    })));\n  },\n  displayName: 'OptionsIcon'\n});\n//# sourceMappingURL=OptionsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var OutdentIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.00003 4.5C6.00003 4.22386 6.22389 4 6.50003 4H14.5C14.7762 4 15 4.22386 15 4.5C15 4.77614 14.7762 5 14.5 5H6.50003C6.22389 5 6.00003 4.77614 6.00003 4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.56066 7.73226C3.75592 7.537 4.0725 7.537 4.26777 7.73226C4.46303 7.92752 4.46303 8.24411 4.26777 8.43937L3.20711 9.50003L4.26777 10.5607C4.46303 10.756 4.46303 11.0725 4.26777 11.2678C4.0725 11.4631 3.75592 11.4631 3.56066 11.2678L2.14645 9.85358C1.95118 9.65832 1.95118 9.34174 2.14645 9.14648L3.56066 7.73226Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.50003 9C6.22389 9 6.00003 9.22386 6.00003 9.5C6.00003 9.77614 6.22389 10 6.50003 10H17.5C17.7762 10 18 9.77614 18 9.5C18 9.22386 17.7762 9 17.5 9H6.50003Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.00003 14.5C6.00003 14.2239 6.22389 14 6.50003 14H12.5C12.7762 14 13 14.2239 13 14.5C13 14.7761 12.7762 15 12.5 15H6.50003C6.22389 15 6.00003 14.7761 6.00003 14.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 4.75C6 4.33579 6.33579 4 6.75 4H14.25C14.6642 4 15 4.33579 15 4.75C15 5.16421 14.6642 5.5 14.25 5.5H6.75C6.33579 5.5 6 5.16421 6 4.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.75 9C6.33579 9 6 9.33579 6 9.75C6 10.1642 6.33579 10.5 6.75 10.5H17.25C17.6642 10.5 18 10.1642 18 9.75C18 9.33579 17.6642 9 17.25 9H6.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.75 14C6.33579 14 6 14.3358 6 14.75C6 15.1642 6.33579 15.5 6.75 15.5H12.25C12.6642 15.5 13 15.1642 13 14.75C13 14.3358 12.6642 14 12.25 14H6.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.46967 11.7803C3.76256 12.0732 4.23744 12.0732 4.53033 11.7803C4.82322 11.4874 4.82322 11.0126 4.53033 10.7197L3.56066 9.75L4.53033 8.78033C4.82322 8.48744 4.82322 8.01256 4.53033 7.71967C4.23744 7.42678 3.76256 7.42678 3.46967 7.71967L1.96967 9.21967C1.67678 9.51256 1.67678 9.98744 1.96967 10.2803L3.46967 11.7803Z\"\n    })));\n  },\n  displayName: 'OutdentIcon'\n});\n//# sourceMappingURL=OutdentIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var OpenOutsideIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.51562 6C9.23948 6 9.01562 6.22386 9.01562 6.5C9.01562 6.77614 9.23948 7 9.51562 7H12.2929L8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L13 7.70711V10.4844C13 10.7605 13.2239 10.9844 13.5 10.9844C13.7761 10.9844 14 10.7605 14 10.4844V6.5C14 6.22386 13.7761 6 13.5 6H9.51562ZM12.7656 17C14.0136 17 15.0481 16.0855 15.2354 14.8901C16.2572 14.5761 17 13.6248 17 12.5V5.5C17 4.11929 15.8807 3 14.5 3H7.5C6.36321 3 5.40363 3.75875 5.10007 4.79744C3.90947 4.98887 3 6.02104 3 7.26562V13.5C3 15.433 4.567 17 6.5 17H12.7656ZM4 7.26562C4 6.61252 4.4174 6.0569 5 5.85098V12.5C5 13.8807 6.11929 15 7.5 15H14.1803C13.9744 15.5826 13.4187 16 12.7656 16H6.5C5.11929 16 4 14.8807 4 13.5V7.26562ZM7.5 4H14.5C15.3284 4 16 4.67157 16 5.5V12.5C16 13.3284 15.3284 14 14.5 14H7.5C6.67157 14 6 13.3284 6 12.5V5.5C6 4.67157 6.67157 4 7.5 4Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.7656 17C13.9792 17 14.9909 16.1352 15.218 14.9883C16.22 14.8797 17 14.0309 17 13V5C17 3.89543 16.1046 3 15 3H7C5.95818 3 5.1024 3.79659 5.00854 4.81392C3.86317 5.04224 3 6.05313 3 7.26562V13.5C3 15.433 4.567 17 6.5 17H12.7656ZM4 7.26562C4 6.61252 4.4174 6.0569 5 5.85098V13C5 14.1046 5.89543 15 7 15H14.1803C13.9744 15.5826 13.4187 16 12.7656 16H6.5C5.11929 16 4 14.8807 4 13.5V7.26562ZM9.51562 6H13.5C13.7761 6 14 6.22386 14 6.5V10.4844C14 10.7605 13.7761 10.9844 13.5 10.9844C13.2239 10.9844 13 10.7605 13 10.4844V7.70711L8.85355 11.8536C8.65829 12.0488 8.34171 12.0488 8.14645 11.8536C7.95118 11.6583 7.95118 11.3417 8.14645 11.1464L12.2929 7H9.51562C9.23948 7 9.01562 6.77614 9.01562 6.5C9.01562 6.22386 9.23948 6 9.51562 6Z\"\n    })));\n  },\n  displayName: 'OpenOutsideIcon'\n});\n//# sourceMappingURL=OpenOutsideIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PanoramaIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 8.99994C11 9.55222 10.5523 9.99994 10 9.99994C9.44772 9.99994 9 9.55222 9 8.99994C9 8.44765 9.44772 7.99994 10 7.99994C10.5523 7.99994 11 8.44765 11 8.99994Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 9.99994C7 10.5522 6.55228 10.9999 6 10.9999C5.44772 10.9999 5 10.5522 5 9.99994C5 9.44765 5.44772 8.99994 6 8.99994C6.55228 8.99994 7 9.44765 7 9.99994Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 10.0002C15 10.5525 14.5523 11.0002 14 11.0002C13.4477 11.0002 13 10.5525 13 10.0002C13 9.4479 13.4477 9.00018 14 9.00018C14.5523 9.00018 15 9.4479 15 10.0002Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.96942 4.02062C2.93657 3.85398 2 4.65156 2 5.69778V14.3023C2 15.3485 2.93657 16.1461 3.96942 15.9794C7.96398 15.335 12.036 15.335 16.0306 15.9794C17.0634 16.1461 18 15.3485 18 14.3023V5.69777C18 4.65156 17.0634 3.85398 16.0306 4.02062C12.036 4.66507 7.96398 4.66507 3.96942 4.02062ZM3 5.69778C3 5.2674 3.38527 4.93931 3.81015 5.00785C7.91021 5.66933 12.0898 5.66933 16.1898 5.00785C16.6147 4.93931 17 5.2674 17 5.69777V14.3023C17 14.7326 16.6147 15.0607 16.1899 14.9922C16.1266 14.982 16.0633 14.9719 16 14.962V12.9997C16 12.4474 15.5523 11.9997 15 11.9997H13V14.612C12.6669 14.5863 12.3335 14.5648 12 14.5476V11.9999C12 11.4477 11.5523 10.9999 11 10.9999H9C8.44772 10.9999 8 11.4477 8 11.9999V14.5476C7.66647 14.5648 7.33311 14.5863 7 14.612V11.9999H5C4.44772 11.9999 4 12.4477 4 12.9999V14.962C3.9367 14.9719 3.87341 14.982 3.81015 14.9922C3.38527 15.0607 3 14.7326 3 14.3023V5.69778Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3.96942 4.02062C2.93657 3.85398 2 4.65156 2 5.69778V14.3023C2 15.3485 2.93657 16.1461 3.96942 15.9794C4.46874 15.8989 4.96927 15.8284 5.47071 15.768C8.98078 15.345 12.5353 15.4155 16.0306 15.9794C16.0951 15.9898 16.1593 15.9965 16.2229 15.9995C17.1768 16.0454 18 15.2831 18 14.3023V5.69777C18 4.65156 17.0634 3.85398 16.0306 4.02062C12.036 4.66507 7.96398 4.66507 3.96942 4.02062ZM16 14.962C15.0038 14.8064 14.003 14.6897 13 14.612V11.9998H15C15.5523 11.9998 16 12.4475 16 12.9998V14.962ZM12 14.5476C10.6676 14.4789 9.33245 14.4789 8 14.5476V12C8 11.4477 8.44772 11 9 11H11C11.5523 11 12 11.4477 12 12V14.5476ZM7 14.612C5.99697 14.6897 4.99621 14.8064 4 14.962V13C4 12.4477 4.44772 12 5 12H7V14.612ZM10 10C9.44772 10 9 9.55228 9 9C9 8.44772 9.44772 8 10 8C10.5523 8 11 8.44772 11 9C11 9.55228 10.5523 10 10 10ZM6.5 10C6.5 10.5523 6.05228 11 5.5 11C4.94772 11 4.5 10.5523 4.5 10C4.5 9.44772 4.94772 9 5.5 9C6.05228 9 6.5 9.44772 6.5 10ZM15.5 10.0003C15.5 10.5526 15.0523 11.0003 14.5 11.0003C13.9477 11.0003 13.5 10.5526 13.5 10.0003C13.5 9.44802 13.9477 9.00031 14.5 9.00031C15.0523 9.00031 15.5 9.44802 15.5 10.0003Z\"\n    }));\n  },\n  displayName: 'PanoramaIcon'\n});\n//# sourceMappingURL=PanoramaIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PanoramaOffIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M6 10.9999c.55228 0 1-.4477 1-.99997 0-.55229-.44772-1-1-1s-1 .44771-1 1c0 .55227.44772.99997 1 .99997zM2.85355 2.14645c-.19526-.19527-.51184-.19527-.7071 0-.19527.19526-.19527.51184 0 .7071l1.18477 1.18477C2.58037 4.20469 2 4.87419 2 5.69776v8.60454c0 1.0462.93657 1.8437 1.96942 1.6771a37.86227 37.86227 0 0111.16998-.1329l2.007 2.0071c.1953.1952.5119.1952.7072 0 .1952-.1953.1952-.5119 0-.7072l-1.1848-1.1847-6.1234-6.12344c0 .00001 0 0 0 0L9.16168 8.45454c0-.00001-.00001.00001 0 0L6.00519 5.29808c-.00001 0 .00001 0 0 0L4.86067 4.15353c.00001 0-.00001 0 0 0L2.85355 2.14645zM13 13.7071v.9049a38.8862 38.8862 0 00-1-.0644v-1.8405l1 1zm-2.7072-2.7072H9c-.55228 0-1 .4477-1 1v2.5477a38.8804 38.8804 0 00-1 .0644v-2.6121H5c-.55228 0-1 .4477-1 1v1.9621c-.0633.0099-.12659.02-.18985.0302C3.38527 15.0607 3 14.7326 3 14.3023V5.69776c0-.43037.38527-.75847.81015-.68992a38.8873 38.8873 0 00.57961.08903l5.90304 5.90303zm3.8282.9998L16 13.8786v-.8789c0-.5523-.4477-1-1-1h-.879zm2.7318 2.7318l.7094.7093c.2708-.2992.4378-.6967.4378-1.1385V5.69776c0-1.04621-.9366-1.84379-1.9694-1.67716a37.86285 37.86285 0 01-9.57121.31744l1.08847 1.08847a38.86251 38.86251 0 008.64194-.41867c.4249-.06855.8102.25955.8102.68992v8.60454c0 .1631-.0553.3115-.1472.4292zM14 11.0002c.5523 0 1-.4477 1-1 0-.55231-.4477-1.00003-1-1.00003s-1 .44772-1 1.00003c0 .5523.4477 1 1 1z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M2.85355 2.14645c-.19526-.19527-.51184-.19527-.7071 0-.19527.19526-.19527.51184 0 .7071l1.18479 1.18478C2.58038 4.20468 2 4.87419 2 5.69778v8.60452c0 1.0462.93657 1.8438 1.96942 1.6771.49932-.0805.99985-.151 1.50129-.2114a37.8594 37.8594 0 019.66869.0785l2.007 2.0071c.1953.1952.5119.1952.7072 0 .1952-.1953.1952-.5119 0-.7072L2.85355 2.14645zM13.9949 14.702c-.3314-.0343-.663-.0643-.9949-.09v-.9049l.9949.9949zM12 12.7071v1.8405a38.84187 38.84187 0 00-4 0V12c0-.5523.44772-1 1-1h1.2929L12 12.7071zM4 14.962V13c0-.5523.44772-1 1-1h2v2.612a38.91714 38.91714 0 00-3 .35zM5.5 11c-.55228 0-1-.4477-1-1 0-.55228.44772-1 1-1s1 .44772 1 1c0 .5523-.44772 1-1 1zm8.6212.9998L6.45939 4.33805a37.86331 37.86331 0 009.57121-.31743C17.0634 3.85398 18 4.65156 18 5.69778v8.60452c0 .4418-.167.8393-.4378 1.1385L16 13.8787v-.8789c0-.5523-.4477-1-1-1h-.8788zm.3788-.9995c.5523 0 1-.4477 1-1 0-.55228-.4477-.99999-1-.99999s-1 .44771-1 .99999c0 .5523.4477 1 1 1z\"\n    }));\n  },\n  displayName: 'PanoramaOffIcon'\n});\n//# sourceMappingURL=PanoramaOffIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ParticipantAddIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M9 2C6.79086 2 5 3.79086 5 6C5 8.20914 6.79086 10 9 10C11.2091 10 13 8.20914 13 6C13 3.79086 11.2091 2 9 2ZM6 6C6 4.34315 7.34315 3 9 3C10.6569 3 12 4.34315 12 6C12 7.65685 10.6569 9 9 9C7.34315 9 6 7.65685 6 6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.00873 11C2.90315 11 2 11.8869 2 13C2 14.6912 2.83281 15.9663 4.13499 16.7966C5.41697 17.614 7.14526 18 9 18C9.41085 18 9.8155 17.9811 10.2105 17.9427C9.97298 17.6472 9.7654 17.3266 9.59233 16.9855C9.39798 16.9951 9.20041 17 9 17C7.26489 17 5.74318 16.636 4.67262 15.9534C3.62226 15.2837 3 14.3088 3 13C3 12.4467 3.44786 12 4.00873 12L9.59971 12C9.7826 11.6422 10.0035 11.3071 10.2572 11L4.00873 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14.5 19C16.9853 19 19 16.9853 19 14.5C19 12.0147 16.9853 10 14.5 10C12.0147 10 10 12.0147 10 14.5C10 16.9853 12.0147 19 14.5 19ZM14.5 12C14.7761 12 15 12.2239 15 12.5V14H16.5C16.7761 14 17 14.2239 17 14.5C17 14.7761 16.7761 15 16.5 15H15V16.5C15 16.7761 14.7761 17 14.5 17C14.2239 17 14 16.7761 14 16.5V15H12.5C12.2239 15 12 14.7761 12 14.5C12 14.2239 12.2239 14 12.5 14H14V12.5C14 12.2239 14.2239 12 14.5 12Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 2C6.79086 2 5 3.79086 5 6C5 8.20914 6.79086 10 9 10C11.2091 10 13 8.20914 13 6C13 3.79086 11.2091 2 9 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.00873 11C2.90315 11 2 11.8869 2 13C2 14.6912 2.83281 15.9663 4.13499 16.7966C5.41697 17.614 7.14526 18 9 18C9.41085 18 9.8155 17.9811 10.2105 17.9427C9.45316 17.0003 9 15.8031 9 14.5C9 13.1704 9.47182 11.9509 10.2572 11L4.00873 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14.5 19C16.9853 19 19 16.9853 19 14.5C19 12.0147 16.9853 10 14.5 10C12.0147 10 10 12.0147 10 14.5C10 16.9853 12.0147 19 14.5 19ZM14.5 12C14.7761 12 15 12.2239 15 12.5V14H16.5C16.7761 14 17 14.2239 17 14.5C17 14.7761 16.7761 15 16.5 15H15V16.5C15 16.7761 14.7761 17 14.5 17C14.2239 17 14 16.7761 14 16.5V15H12.5C12.2239 15 12 14.7761 12 14.5C12 14.2239 12.2239 14 12.5 14H14V12.5C14 12.2239 14.2239 12 14.5 12Z\"\n    })));\n  },\n  displayName: 'ParticipantAddIcon'\n});\n//# sourceMappingURL=ParticipantAddIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ParticipantRemoveIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 6C5 3.79086 6.79086 2 9 2C11.2091 2 13 3.79086 13 6C13 8.20914 11.2091 10 9 10C6.79086 10 5 8.20914 5 6ZM9 3C7.34315 3 6 4.34315 6 6C6 7.65685 7.34315 9 9 9C10.6569 9 12 7.65685 12 6C12 4.34315 10.6569 3 9 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 13C2 11.8869 2.90315 11 4.00873 11L10.2572 11C10.0035 11.3071 9.7826 11.6422 9.59971 12L4.00873 12C3.44786 12 3 12.4467 3 13C3 14.3088 3.62226 15.2837 4.67262 15.9534C5.74318 16.636 7.26489 17 9 17C9.20041 17 9.39798 16.9951 9.59233 16.9855C9.7654 17.3266 9.97298 17.6472 10.2105 17.9427C9.8155 17.9811 9.41085 18 9 18C7.14526 18 5.41697 17.614 4.13499 16.7966C2.83281 15.9663 2 14.6912 2 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM16.3536 13.3536C16.5488 13.1583 16.5488 12.8417 16.3536 12.6464C16.1583 12.4512 15.8417 12.4512 15.6464 12.6464L14.5 13.7929L13.3536 12.6464C13.1583 12.4512 12.8417 12.4512 12.6464 12.6464C12.4512 12.8417 12.4512 13.1583 12.6464 13.3536L13.7929 14.5L12.6464 15.6464C12.4512 15.8417 12.4512 16.1583 12.6464 16.3536C12.8417 16.5488 13.1583 16.5488 13.3536 16.3536L14.5 15.2071L15.6464 16.3536C15.8417 16.5488 16.1583 16.5488 16.3536 16.3536C16.5488 16.1583 16.5488 15.8417 16.3536 15.6464L15.2071 14.5L16.3536 13.3536Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 6C5 3.79086 6.79086 2 9 2C11.2091 2 13 3.79086 13 6C13 8.20914 11.2091 10 9 10C6.79086 10 5 8.20914 5 6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 13C2 11.8869 2.90315 11 4.00873 11L10.2572 11C9.47182 11.9509 9 13.1704 9 14.5C9 15.8031 9.45316 17.0003 10.2105 17.9427C9.8155 17.9811 9.41085 18 9 18C7.14526 18 5.41697 17.614 4.13499 16.7966C2.83281 15.9663 2 14.6912 2 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM16.3536 13.3536C16.5488 13.1583 16.5488 12.8417 16.3536 12.6464C16.1583 12.4512 15.8417 12.4512 15.6464 12.6464L14.5 13.7929L13.3536 12.6464C13.1583 12.4512 12.8417 12.4512 12.6464 12.6464C12.4512 12.8417 12.4512 13.1583 12.6464 13.3536L13.7929 14.5L12.6464 15.6464C12.4512 15.8417 12.4512 16.1583 12.6464 16.3536C12.8417 16.5488 13.1583 16.5488 13.3536 16.3536L14.5 15.2071L15.6464 16.3536C15.8417 16.5488 16.1583 16.5488 16.3536 16.3536C16.5488 16.1583 16.5488 15.8417 16.3536 15.6464L15.2071 14.5L16.3536 13.3536Z\"\n    })));\n  },\n  displayName: 'ParticipantRemoveIcon'\n});\n//# sourceMappingURL=ParticipantRemoveIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PauseIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M4.5 2C3.67157 2 3 2.67157 3 3.5V16.5C3 17.3284 3.67157 18 4.5 18H6.5C7.32843 18 8 17.3284 8 16.5V3.5C8 2.67157 7.32843 2 6.5 2H4.5ZM4.5 3C4.22386 3 4 3.22386 4 3.5V16.5C4 16.7761 4.22386 17 4.5 17H6.5C6.77614 17 7 16.7761 7 16.5V3.5C7 3.22386 6.77614 3 6.5 3H4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M13.5 2C12.6716 2 12 2.67157 12 3.5V16.5C12 17.3284 12.6716 18 13.5 18H15.5C16.3284 18 17 17.3284 17 16.5V3.5C17 2.67157 16.3284 2 15.5 2H13.5ZM13.5 3C13.2239 3 13 3.22386 13 3.5V16.5C13 16.7761 13.2239 17 13.5 17H15.5C15.7761 17 16 16.7761 16 16.5V3.5C16 3.22386 15.7761 3 15.5 3H13.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3.5C12 2.67157 12.6716 2 13.5 2H15.5C16.3284 2 17 2.67157 17 3.5V16.5C17 17.3284 16.3284 18 15.5 18H13.5C12.6716 18 12 17.3284 12 16.5V3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 3.5C3 2.67157 3.67157 2 4.5 2H6.5C7.32843 2 8 2.67157 8 3.5V16.5C8 17.3284 7.32843 18 6.5 18H4.5C3.67157 18 3 17.3284 3 16.5V3.5Z\"\n    })));\n  },\n  displayName: 'PauseIcon'\n});\n//# sourceMappingURL=PauseIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PauseThickIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M4.5 2C3.67157 2 3 2.67157 3 3.5V16.5C3 17.3284 3.67157 18 4.5 18H6.5C7.32843 18 8 17.3284 8 16.5V3.5C8 2.67157 7.32843 2 6.5 2H4.5ZM4.5 3C4.22386 3 4 3.22386 4 3.5V16.5C4 16.7761 4.22386 17 4.5 17H6.5C6.77614 17 7 16.7761 7 16.5V3.5C7 3.22386 6.77614 3 6.5 3H4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M13.5 2C12.6716 2 12 2.67157 12 3.5V16.5C12 17.3284 12.6716 18 13.5 18H15.5C16.3284 18 17 17.3284 17 16.5V3.5C17 2.67157 16.3284 2 15.5 2H13.5ZM13.5 3C13.2239 3 13 3.22386 13 3.5V16.5C13 16.7761 13.2239 17 13.5 17H15.5C15.7761 17 16 16.7761 16 16.5V3.5C16 3.22386 15.7761 3 15.5 3H13.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3.5C12 2.67157 12.6716 2 13.5 2H15.5C16.3284 2 17 2.67157 17 3.5V16.5C17 17.3284 16.3284 18 15.5 18H13.5C12.6716 18 12 17.3284 12 16.5V3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 3.5C3 2.67157 3.67157 2 4.5 2H6.5C7.32843 2 8 2.67157 8 3.5V16.5C8 17.3284 7.32843 18 6.5 18H4.5C3.67157 18 3 17.3284 3 16.5V3.5Z\"\n    })));\n  },\n  displayName: 'PauseThickIcon'\n});\n//# sourceMappingURL=PauseThickIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var PhoneArrowIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.9258 2.07965L8.74987 2.04359C7.75107 1.87016 6.72763 2.22062 6.04034 2.98213C4.66849 4.50214 4 6.84793 4 10.0018C4 13.1505 4.66629 15.4938 6.03359 17.014C6.76386 17.826 7.8755 18.1724 8.93344 17.9177L9.58223 17.7616C10.6465 17.5054 11.3583 16.4955 11.2475 15.399L11.1064 14.0028C11.0117 13.066 10.3357 12.2938 9.42473 12.082L8.0191 11.7551L7.98727 11.7438L7.94847 11.6713C7.92398 11.6211 7.89063 11.5428 7.85658 11.4305C7.75953 11.1102 7.70708 10.6308 7.70708 10.0018C7.70708 9.15054 7.80469 8.58079 7.96075 8.32366C7.98858 8.27782 8.03354 8.24518 8.08553 8.23309L9.42436 7.92176C10.3355 7.70989 11.0117 6.9373 11.1061 6.00022L11.2475 4.59687C11.3582 3.49749 10.6421 2.48594 9.57412 2.23312L8.9258 2.07965ZM5.19141 10.0018C5.19141 7.11967 5.77987 5.05473 6.92194 3.78932C7.32738 3.34009 7.92779 3.12927 8.51743 3.22121L8.65321 3.24783L9.30154 3.4013C9.787 3.51622 10.1125 3.97601 10.0622 4.47573L9.92078 5.87908C9.87787 6.30503 9.57052 6.6562 9.15635 6.75251L7.81749 7.06384C7.45367 7.14846 7.13897 7.37691 6.94423 7.69776C6.64547 8.19001 6.51567 8.94768 6.51567 10.0018C6.51567 11.6063 6.81029 12.5785 7.60334 12.8791L7.71099 12.9135L9.15672 13.2512C9.57078 13.3475 9.87809 13.6985 9.92112 14.1243L10.0622 15.5205C10.1126 16.0189 9.78904 16.478 9.30528 16.5944L8.65649 16.7506C8.02173 16.9034 7.35474 16.6955 6.91658 16.2084C5.77804 14.9425 5.19141 12.8794 5.19141 10.0018Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.3536 5.64645C14.1583 5.45118 13.8417 5.45118 13.6464 5.64645C13.4512 5.84171 13.4512 6.15829 13.6464 6.35355L16.2929 9H10.5C10.2239 9 10 9.22386 10 9.5C10 9.77614 10.2239 10 10.5 10H16.2929L13.6464 12.6464C13.4512 12.8417 13.4512 13.1583 13.6464 13.3536C13.8417 13.5488 14.1583 13.5488 14.3536 13.3536L17.8536 9.85355C18.0488 9.65829 18.0488 9.34171 17.8536 9.14645L14.3536 5.64645Z\"\n    }));\n  },\n  displayName: 'PhoneArrowIcon'\n});\n//# sourceMappingURL=PhoneArrowIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PhoneClockIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2.00001C13.3317 1.99572 15.5858 3.2756 17.154 4.65976C17.8139 5.2422 18.116 6.11792 17.9594 6.94005L17.8015 7.76918C17.6535 8.54611 16.9272 9.06786 16.1042 8.98837L14.4666 8.8302C13.753 8.76127 13.2241 8.24008 13 7.50005C12.6957 6.4953 12.5 5.75009 12.5 5.75009C11.7522 5.44357 11.0138 5.25005 10 5.25005C8.98623 5.25005 8.26225 5.46492 7.5 5.75009C7.5 5.75009 7.29566 6.49597 7 7.50005C6.80244 8.17099 6.49595 8.75668 5.79708 8.82691L4.16895 8.99053C3.35656 9.07217 2.57765 8.55549 2.3467 7.78177L2.09921 6.95259C1.85286 6.12726 2.0727 5.25869 2.67633 4.67245C4.10141 3.28843 6.67315 2.00433 10 2.00001ZM13.4754 5.52689L13.5008 5.62157C13.5232 5.70474 13.5565 5.82664 13.5991 5.97972C13.6846 6.28606 13.8075 6.71629 13.9571 7.21019C14.0936 7.66095 14.3462 7.81391 14.5628 7.83483L16.2004 7.99301C16.5457 8.02635 16.7746 7.81599 16.8191 7.58206L16.9771 6.75293C17.0653 6.28943 16.8963 5.76613 16.4923 5.40948C15.0673 4.1517 13.0404 2.9961 10.0013 3.00001C6.92594 3.00401 4.60599 4.19238 3.37303 5.38982C3.04458 5.70881 2.9145 6.18768 3.05744 6.66657L3.30493 7.49575C3.39647 7.80242 3.72575 8.03003 4.06896 7.99554L5.69709 7.83193C5.73551 7.82807 5.74859 7.82034 5.7511 7.81886C5.75521 7.81649 5.77275 7.80572 5.80155 7.76923C5.8711 7.6811 5.9536 7.51349 6.04073 7.21759C6.18728 6.71989 6.31122 6.28611 6.39847 5.97694C6.44208 5.82241 6.47648 5.69914 6.49992 5.61474L6.52663 5.51827C6.62916 5.15132 6.98467 4.89552 7.14961 4.81349C7.96877 4.50703 8.81921 4.25005 10 4.25005C11.1653 4.25005 12.0327 4.47779 12.8793 4.8248C13.0313 4.88736 13.3617 5.10921 13.4672 5.4961L13.4691 5.50315L13.4754 5.52689Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 12C10 11.7239 9.77614 11.5 9.5 11.5C9.22386 11.5 9 11.7239 9 12V14.0001C9 14.2762 9.22386 14.5001 9.5 14.5001H11.0047C11.2809 14.5001 11.5047 14.2762 11.5047 14.0001C11.5047 13.7239 11.2809 13.5001 11.0047 13.5001H10V12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 13.5C5.5 11.0147 7.51472 9 10 9C12.4853 9 14.5 11.0147 14.5 13.5C14.5 15.9853 12.4853 18 10 18C7.51472 18 5.5 15.9853 5.5 13.5ZM10 10C8.067 10 6.5 11.567 6.5 13.5C6.5 15.433 8.067 17 10 17C11.933 17 13.5 15.433 13.5 13.5C13.5 11.567 11.933 10 10 10Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.8015 7.76906L17.9594 6.93993C18.116 6.1178 17.8139 5.24209 17.154 4.65965C15.5858 3.27548 13.3241 2.49957 9.99245 2.50386C6.6656 2.50818 4.10141 3.28832 2.67633 4.67234C2.0727 5.25858 1.85286 6.12714 2.09921 6.95248L2.3467 7.78165C2.57765 8.55537 3.35656 9.07205 4.16895 8.99042L5.79708 8.8268C6.49595 8.75657 6.80244 8.17088 7 7.49994C7.29566 6.49585 7.5 5.74998 7.5 5.74998C8.26225 5.46481 8.98623 5.24994 10 5.24994C11.0138 5.24994 11.7522 5.44346 12.5 5.74998C12.5 5.74998 12.6957 6.49518 13 7.49994C13.2241 8.23997 13.753 8.76115 14.4666 8.83008L16.1042 8.98826C16.9272 9.06774 17.6535 8.546 17.8015 7.76906Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 11.5C9.77614 11.5 10 11.7239 10 12V13.5001H11.0047C11.2809 13.5001 11.5047 13.7239 11.5047 14.0001C11.5047 14.2762 11.2809 14.5001 11.0047 14.5001H9.5C9.22386 14.5001 9 14.2762 9 14.0001V12C9 11.7239 9.22386 11.5 9.5 11.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 13.5C5.5 11.0147 7.51472 9 10 9C12.4853 9 14.5 11.0147 14.5 13.5C14.5 15.9853 12.4853 18 10 18C7.51472 18 5.5 15.9853 5.5 13.5ZM10 10C8.067 10 6.5 11.567 6.5 13.5C6.5 15.433 8.067 17 10 17C11.933 17 13.5 15.433 13.5 13.5C13.5 11.567 11.933 10 10 10Z\"\n    })));\n  },\n  displayName: 'PhoneClockIcon'\n});\n//# sourceMappingURL=PhoneClockIcon.js.map\n","import cx from 'classnames';\nimport * as React from 'react';\nimport { iconClassNames } from '../utils/iconClassNames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var PlayIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M17.2204 8.68703C18.2558 9.25661 18.2558 10.7434 17.2204 11.313L7.2234 16.812C6.22371 17.362 5 16.6393 5 15.4991L5 4.50093C5 3.36068 6.22371 2.63805 7.2234 3.18795L17.2204 8.68703ZM16.7381 10.4377C17.0833 10.2478 17.0833 9.7522 16.7381 9.56234L6.74113 4.06327C6.4079 3.87997 6 4.12084 6 4.50093L6 15.4991C6 15.8792 6.4079 16.12 6.74114 15.9367L16.7381 10.4377Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M17.2221 8.68458C18.2586 9.25438 18.2586 10.7437 17.2221 11.3135L7.22259 16.8105C6.22292 17.36 5 16.6367 5 15.496L5 4.50214C5 3.36137 6.22292 2.63812 7.22259 3.18766L17.2221 8.68458Z\"\n    }));\n  },\n  displayName: 'PlayIcon'\n});\n//# sourceMappingURL=PlayIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PlugsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 3.5C5 3.22386 4.77614 3 4.5 3C4.22386 3 4 3.22386 4 3.5V6.29289L2.14645 8.14645C2.05268 8.24021 2 8.36739 2 8.5V13.5C2 13.7761 2.22386 14 2.5 14H4V16.5C4 16.7761 4.22386 17 4.5 17C4.77614 17 5 16.7761 5 16.5V14H6V16.5C6 16.7761 6.22386 17 6.5 17C6.77614 17 7 16.7761 7 16.5V14H8.5C8.77614 14 9 13.7761 9 13.5V8.5C9 8.36739 8.94732 8.24021 8.85355 8.14645L7 6.29289V3.5C7 3.22386 6.77614 3 6.5 3C6.22386 3 6 3.22386 6 3.5V6.5C6 6.63261 6.05268 6.75979 6.14645 6.85355L8 8.70711V13H3V8.70711L4.85355 6.85355C4.94732 6.75979 5 6.63261 5 6.5V3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15 16.5V13.5C15 13.3674 15.0527 13.2402 15.1464 13.1464L17 11.2929V7H16.5C16.5001 7 16.4999 7 16.5 7L12.4993 7C12.4996 7 12.4991 7 12.4993 7H12V11.2929L13.8536 13.1464C13.9473 13.2402 14 13.3674 14 13.5V16.5C14 16.7761 13.7761 17 13.5 17C13.2239 17 13 16.7761 13 16.5V13.7071L11.1464 11.8536C11.0527 11.7598 11 11.6326 11 11.5V6.5C11 6.22386 11.2239 6 11.5 6H12V3.5C12 3.22386 12.2239 3 12.5 3H16.5C16.7761 3 17 3.22386 17 3.5V6H17.5C17.7761 6 18 6.22386 18 6.5V11.5C18 11.6326 17.9473 11.7598 17.8536 11.8536L16 13.7071V16.5C16 16.7761 15.7761 17 15.5 17C15.2239 17 15 16.7761 15 16.5ZM13 6H16V4H13V6Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 3C4.22386 3 4 3.22386 4 3.5V6.29289L2.14645 8.14645C2.05268 8.24021 2 8.36739 2 8.5V13.5C2 13.7761 2.22386 14 2.5 14H4V16.5C4 16.7761 4.22386 17 4.5 17C4.77614 17 5 16.7761 5 16.5V14H6V16.5C6 16.7761 6.22386 17 6.5 17C6.77614 17 7 16.7761 7 16.5V14H8.5C8.77614 14 9 13.7761 9 13.5V8.5C9 8.36739 8.94732 8.24021 8.85355 8.14645L7 6.29289V3.5C7 3.22386 6.77614 3 6.5 3H4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.5 17C15.7761 17 16 16.7761 16 16.5V13.7071L17.8536 11.8536C17.9473 11.7598 18 11.6326 18 11.5V6.5C18 6.22386 17.7761 6 17.5 6H17V3.5C17 3.22386 16.7761 3 16.5 3H12.5C12.2239 3 12 3.22386 12 3.5V6H11.5C11.2239 6 11 6.22386 11 6.5V11.5C11 11.6326 11.0527 11.7598 11.1464 11.8536L13 13.7071V16.5C13 16.7761 13.2239 17 13.5 17H15.5ZM13 6V4H16V6H13Z\"\n    })));\n  },\n  displayName: 'PlugsIcon'\n});\n//# sourceMappingURL=PlugsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PollIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 4C8 2.89543 8.89543 2 10 2C11.1046 2 12 2.89543 12 4V16C12 17.1046 11.1046 18 10 18C8.89543 18 8 17.1046 8 16V4ZM10 3C9.44772 3 9 3.44772 9 4V16C9 16.5523 9.44772 17 10 17C10.5523 17 11 16.5523 11 16V4C11 3.44772 10.5523 3 10 3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 12C2 10.8954 2.89543 10 4 10C5.10457 10 6 10.8954 6 12V16C6 17.1046 5.10457 18 4 18C2.89543 18 2 17.1046 2 16V12ZM4 11C3.44772 11 3 11.4477 3 12V16C3 16.5523 3.44772 17 4 17C4.55228 17 5 16.5523 5 16V12C5 11.4477 4.55228 11 4 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6C14.8954 6 14 6.89543 14 8V16C14 17.1046 14.8954 18 16 18C17.1046 18 18 17.1046 18 16V8C18 6.89543 17.1046 6 16 6ZM15 8C15 7.44772 15.4477 7 16 7C16.5523 7 17 7.44772 17 8V16C17 16.5523 16.5523 17 16 17C15.4477 17 15 16.5523 15 16V8Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2C8.89543 2 8 2.89543 8 4V16C8 17.1046 8.89543 18 10 18C11.1046 18 12 17.1046 12 16V4C12 2.89543 11.1046 2 10 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 10C2.89543 10 2 10.8954 2 12V16C2 17.1046 2.89543 18 4 18C5.10457 18 6 17.1046 6 16V12C6 10.8954 5.10457 10 4 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 6C14.8954 6 14 6.89543 14 8V16C14 17.1046 14.8954 18 16 18C17.1046 18 18 17.1046 18 16V8C18 6.89543 17.1046 6 16 6Z\"\n    })));\n  },\n  displayName: 'PollIcon'\n});\n//# sourceMappingURL=PollIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PopupIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.51562 6C9.23948 6 9.01562 6.22386 9.01562 6.5C9.01562 6.77614 9.23948 7 9.51562 7H12.2929L8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L13 7.70711V10.4844C13 10.7605 13.2239 10.9844 13.5 10.9844C13.7761 10.9844 14 10.7605 14 10.4844V6.5C14 6.22386 13.7761 6 13.5 6H9.51562Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M12.7656 17C14.0136 17 15.0481 16.0855 15.2354 14.8901C16.2572 14.5761 17 13.6248 17 12.5V5.5C17 4.11929 15.8807 3 14.5 3H7.5C6.36321 3 5.40363 3.75875 5.10007 4.79744C3.90947 4.98887 3 6.02104 3 7.26562V13.5C3 15.433 4.567 17 6.5 17H12.7656ZM4 7.26562C4 6.61252 4.4174 6.0569 5 5.85098V12.5C5 13.8807 6.11929 15 7.5 15H14.1803C13.9744 15.5826 13.4187 16 12.7656 16H6.5C5.11929 16 4 14.8807 4 13.5V7.26562ZM7.5 4C6.67157 4 6 4.67157 6 5.5V12.5C6 13.3284 6.67157 14 7.5 14H14.5C15.3284 14 16 13.3284 16 12.5V5.5C16 4.67157 15.3284 4 14.5 4H7.5Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M12.7656 17C13.9792 17 14.9909 16.1352 15.218 14.9883C16.22 14.8797 17 14.0309 17 13V5C17 3.89543 16.1046 3 15 3H7C5.95818 3 5.1024 3.79659 5.00854 4.81392C3.86317 5.04224 3 6.05313 3 7.26562V13.5C3 15.433 4.567 17 6.5 17H12.7656ZM4 7.26562C4 6.61252 4.4174 6.0569 5 5.85098V13C5 14.1046 5.89543 15 7 15H14.1803C13.9744 15.5826 13.4187 16 12.7656 16H6.5C5.11929 16 4 14.8807 4 13.5V7.26562ZM9.51562 6C9.23948 6 9.01562 6.22386 9.01562 6.5C9.01562 6.77614 9.23948 7 9.51562 7H12.2929L8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L13 7.70711V10.4844C13 10.7605 13.2239 10.9844 13.5 10.9844C13.7761 10.9844 14 10.7605 14 10.4844V6.5C14 6.22386 13.7761 6 13.5 6H9.51562Z\"\n    }));\n  },\n  displayName: 'PopupIcon'\n});\n//# sourceMappingURL=PopupIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var PowerPointColorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 32 32\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 29H28.5C28.775 29 29 28.775 29 28.5V9H24.5C23.673 9 23 8.327 23 7.5V3H9.5C9.225 3 9 3.225 9 3.5V28.5C9 28.775 9.225 29 9.5 29Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M28.293 8.00003L24 3.70703V7.50003C24 7.77503 24.225 8.00003 24.5 8.00003H28.293Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M29.56 7.854L24.146 2.439C23.8642 2.15891 23.4833 2.00117 23.086 2H9.5C8.673 2 8 2.673 8 3.5V28.5C8 29.327 8.673 30 9.5 30H28.5C29.327 30 30 29.327 30 28.5V8.914C30 8.514 29.844 8.137 29.56 7.854ZM24 3.707L28.293 8H24.5C24.2241 7.99945 24.0005 7.77591 24 7.5V3.707ZM9.5 29H28.5C28.775 29 29 28.775 29 28.5V9H24.5C23.673 9 23 8.327 23 7.5V3H9.5C9.225 3 9 3.225 9 3.5V28.5C9.00055 28.7759 9.22409 28.9995 9.5 29Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M21 18L20 17H18L17 18V20.973C17.911 22.197 19.357 23 21 23C22.3261 23 23.5979 22.4732 24.5355 21.5355C25.4732 20.5979 26 19.3261 26 18H21Z\",\n      fill: \"#ED6C47\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 15.027V18H21V13C19.357 13 17.911 13.803 17 15.027Z\",\n      fill: \"#FF8F6B\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M22 12C24.7614 12 27 14.2386 27 17H22V12Z\",\n      fill: \"#FFC7B5\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 25H14.5C15.3284 25 16 24.3284 16 23.5V12.5C16 11.6716 15.3284 11 14.5 11H3.5C2.67157 11 2 11.6716 2 12.5V23.5C2 24.3284 2.67157 25 3.5 25Z\",\n      fill: \"#C43E1C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M11.6392 14.66C11.1492 14.234 10.4452 14.02 9.52423 14.02H6.78223V22H7.96223L7.96723 19.184H9.43423C10.0212 19.184 10.5322 19.067 10.9782 18.842C11.4242 18.618 11.7732 18.309 12.0142 17.904C12.2562 17.5 12.3722 17.034 12.3722 16.514C12.3722 15.705 12.1272 15.087 11.6392 14.66ZM9.57723 18H7.96223V15H9.62423C10.6132 15 11.1612 15.66 11.1612 16.539C11.1612 16.992 10.9782 17.411 10.7202 17.647C10.4622 17.882 10.0802 18 9.57723 18Z\",\n      fill: \"white\"\n    }));\n  },\n  displayName: 'PowerPointColorIcon'\n});\n//# sourceMappingURL=PowerPointColorIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var PowerPointIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.9996 3C8.94963 3 3.99963 7.95 3.99963 14L18.8366 17.837L14.9996 3Z\",\n      fill: \"#ED6C47\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.9996 3C21.0496 3 25.9996 7.95 25.9996 14L20.4996 16.95L14.9996 14V3Z\",\n      fill: \"#FF8F6B\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.99963 14C3.99963 20.05 8.94963 25 14.9996 25C21.0496 25 25.9996 20.05 25.9996 14H3.99963Z\",\n      fill: \"#D35230\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.5\",\n      d: \"M16.9999 20.6458V9.1668C16.9999 8.5248 16.4749 7.9998 15.8329 7.9998H5.79988C4.66588 9.7288 3.99988 11.7898 3.99988 13.9998C3.99988 17.1478 5.34688 19.9898 7.48488 21.9998H15.6039C16.3129 21.9998 16.9999 21.2878 16.9999 20.6458Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.8334 21H3.16637C2.52537 21 2.00037 20.475 2.00037 19.833V8.167C2.00037 7.525 2.52537 7 3.16637 7H14.8334C15.4754 7 16.0004 7.525 16.0004 8.167V19.833C16.0004 20.475 15.4754 21 14.8334 21Z\",\n      fill: \"#C43E1C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M11.5962 10.6415C11.0882 10.2135 10.3562 9.9995 9.40021 9.9995H6.21521V17.9995H7.77721V15.3955H9.30021C9.91021 15.3955 10.4462 15.2835 10.9102 15.0585C11.3732 14.8335 11.7302 14.5185 11.9812 14.1135C12.2322 13.7075 12.3572 13.0195 12.3572 12.4995C12.3572 11.6885 12.1032 11.0695 11.5962 10.6415ZM9.12121 14.0095H7.77721V11.2385H9.17221C10.1982 11.2385 10.7112 11.6795 10.7112 12.5605C10.7112 13.0145 10.5782 13.4185 10.3102 13.6555C10.0422 13.8915 9.64621 14.0095 9.12121 14.0095Z\",\n      fill: \"white\"\n    }));\n  },\n  displayName: 'PowerPointIcon'\n});\n//# sourceMappingURL=PowerPointIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var PresenceAvailableIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 10 10\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.99769 0C2.23754 0 0 2.23754 0 4.99769C0 7.75784 2.23754 9.99538 4.99769 9.99538C7.75784 9.99538 9.99538 7.75784 9.99538 4.99769C9.99538 2.23754 7.75784 0 4.99769 0ZM1 4.99769C1 2.78983 2.78983 1 4.99769 1C7.20555 1 8.99538 2.78983 8.99538 4.99769C8.99538 7.20555 7.20555 8.99538 4.99769 8.99538C2.78983 8.99538 1 7.20555 1 4.99769Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.10355 3.39645C7.29882 3.59171 7.29882 3.90829 7.10355 4.10355L4.85355 6.35355C4.65829 6.54882 4.34171 6.54882 4.14645 6.35355L3.14645 5.35355C2.95118 5.15829 2.95118 4.84171 3.14645 4.64645C3.34171 4.45118 3.65829 4.45118 3.85355 4.64645L4.5 5.29289L6.39645 3.39645C6.59171 3.20118 6.90829 3.20118 7.10355 3.39645Z\"\n    }));\n  },\n  displayName: 'PresenceAvailableIcon'\n});\n//# sourceMappingURL=PresenceAvailableIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var PresenceStrokeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 10 10\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.99869 1C2.79027 1 1 2.79027 1 4.99869C1 7.2071 2.79027 8.99738 4.99869 8.99738C7.2071 8.99738 8.99738 7.2071 8.99738 4.99869C8.99738 2.79027 7.2071 1 4.99869 1ZM0 4.99869C0 2.23799 2.23799 0 4.99869 0C7.75939 0 9.99738 2.23799 9.99738 4.99869C9.99738 7.75939 7.75939 9.99738 4.99869 9.99738C2.23799 9.99738 0 7.75939 0 4.99869Z\"\n    }));\n  },\n  displayName: 'PresenceStrokeIcon'\n});\n//# sourceMappingURL=PresenceStrokeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var PresenterIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.9988 4C11.9988 5.10457 11.1033 6 9.99878 6C8.89421 6 7.99878 5.10457 7.99878 4C7.99878 2.89543 8.89421 2 9.99878 2C11.1033 2 11.9988 2.89543 11.9988 4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.99871 14.7842V16.5C6.99871 17.3284 7.67028 18 8.49871 18H11.4987C12.3271 18 12.9987 17.3284 12.9987 16.5V14.7842C12.9987 14.6482 13.054 14.5182 13.152 14.4239L16.8548 10.8603C17.1791 10.5482 16.9582 10 16.5081 10H3.48929C3.0392 10 2.81827 10.5482 3.14257 10.8603L6.84542 14.4239C6.94336 14.5182 6.99871 14.6482 6.99871 14.7842Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.49878 7C7.67035 7 6.99878 7.67157 6.99878 8.5V9H12.9988V8.5C12.9988 7.67157 12.3272 7 11.4988 7H8.49878Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.99878 6C11.1033 6 11.9988 5.10457 11.9988 4C11.9988 2.89543 11.1033 2 9.99878 2C8.89421 2 7.99878 2.89543 7.99878 4C7.99878 5.10457 8.89421 6 9.99878 6ZM9.99878 5C9.4465 5 8.99878 4.55228 8.99878 4C8.99878 3.44772 9.4465 3 9.99878 3C10.5511 3 10.9988 3.44772 10.9988 4C10.9988 4.55228 10.5511 5 9.99878 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.49878 8C8.22264 8 7.99878 8.22386 7.99878 8.5V9H6.99878V8.5C6.99878 7.67157 7.67035 7 8.49878 7H11.4988C12.3272 7 12.9988 7.67157 12.9988 8.5V9H11.9988V8.5C11.9988 8.22386 11.7749 8 11.4988 8H8.49878Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.99871 14.7842V16.5C6.99871 17.3284 7.67028 18 8.49871 18H11.4987C12.3271 18 12.9987 17.3284 12.9987 16.5V14.7842C12.9987 14.6482 13.054 14.5182 13.152 14.4239L16.8548 10.8603C17.1791 10.5482 16.9582 10 16.5081 10H3.48929C3.0392 10 2.81827 10.5482 3.14257 10.8603L6.84542 14.4239C6.94336 14.5182 6.99871 14.6482 6.99871 14.7842ZM7.99871 16.5V14.7842C7.99871 14.3764 7.83268 13.9862 7.53886 13.7034L4.72987 11H15.2675L12.4586 13.7034C12.1647 13.9862 11.9987 14.3764 11.9987 14.7842V16.5C11.9987 16.7761 11.7748 17 11.4987 17H8.49871C8.22256 17 7.99871 16.7761 7.99871 16.5Z\"\n    })));\n  },\n  displayName: 'PresenterIcon'\n});\n//# sourceMappingURL=PresenterIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var QnaIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.49182 4.90114C8.13381 4.9711 7.74292 5.20337 7.43377 5.74712C7.29728 5.98718 6.99204 6.07114 6.75198 5.93465C6.51193 5.79817 6.42797 5.49292 6.56445 5.25287C7.0053 4.47749 7.63231 4.0502 8.30001 3.9197C8.95292 3.7921 9.60198 3.95667 10.0922 4.28126C10.5758 4.6015 10.967 5.12423 10.9794 5.75187C10.9924 6.40602 10.5936 6.99672 9.86025 7.43036C9.36165 7.7252 9.16771 7.92513 9.08528 8.05795C9.01589 8.16975 8.99911 8.27172 8.99911 8.5C8.99911 8.77614 8.77525 9 8.49911 9C8.22297 9 7.99911 8.77614 7.99911 8.5C7.99911 8.22827 8.01301 7.88929 8.23562 7.53061C8.44519 7.19295 8.80457 6.89287 9.35125 6.5696C9.8862 6.25326 9.98319 5.95168 9.97961 5.77173C9.97551 5.56527 9.83768 5.31208 9.5401 5.11505C9.24908 4.92235 8.86462 4.82828 8.49182 4.90114Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.74902 11.5C9.16324 11.5 9.49902 11.1642 9.49902 10.75C9.49902 10.3358 9.16324 10 8.74902 10C8.33481 10 7.99902 10.3358 7.99902 10.75C7.99902 11.1642 8.33481 11.5 8.74902 11.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.49921 1C4.90936 1 1.99921 3.91015 1.99921 7.5C1.99921 8.651 2.2988 9.73335 2.82446 10.6719L2.02872 12.7542C1.73544 13.5216 2.44142 14.2957 3.23254 14.0741L5.71992 13.3774C6.56313 13.7768 7.50574 14 8.49921 14C12.0891 14 14.9992 11.0899 14.9992 7.5C14.9992 3.91015 12.0891 1 8.49921 1ZM2.99921 7.5C2.99921 4.46243 5.46165 2 8.49921 2C11.5368 2 13.9992 4.46243 13.9992 7.5C13.9992 10.5376 11.5368 13 8.49921 13C7.59709 13 6.74706 12.7832 5.997 12.3993L5.82279 12.3101L2.96284 13.1111L3.93195 10.5753L3.80366 10.3655C3.2934 9.53135 2.99921 8.55079 2.99921 7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.4618 17C9.49218 17 7.72716 16.1239 6.53516 14.7402C7.09821 14.8926 7.68753 14.981 8.29486 14.9973C9.19026 15.629 10.2827 16 11.4618 16C12.3639 16 13.214 15.7832 13.964 15.3993L14.1382 15.3101L16.9982 16.1111L16.0291 13.5752L16.1574 13.3655C16.6676 12.5313 16.9618 11.5508 16.9618 10.5C16.9618 9.34552 16.6061 8.27414 15.9983 7.38943C15.9896 6.78165 15.9085 6.19137 15.7633 5.6268C17.1116 6.81779 17.9618 8.5596 17.9618 10.5C17.9618 11.651 17.6622 12.7333 17.1366 13.6719L17.9323 15.7542C18.2256 16.5216 17.5196 17.2957 16.7285 17.0741L14.2411 16.3774C13.3979 16.7768 12.4553 17 11.4618 17Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.49921 1C4.90936 1 1.99921 3.91015 1.99921 7.5C1.99921 8.65101 2.2988 9.73335 2.82446 10.6719L2.02872 12.7542C1.73544 13.5216 2.44142 14.2957 3.23254 14.0741L5.71992 13.3774C6.56313 13.7768 7.50574 14 8.49921 14C12.0891 14 14.9992 11.0899 14.9992 7.5C14.9992 3.91015 12.0891 1 8.49921 1ZM8.49182 4.90114C8.13381 4.9711 7.74292 5.20337 7.43377 5.74712C7.29728 5.98718 6.99204 6.07114 6.75198 5.93465C6.51193 5.79817 6.42797 5.49292 6.56445 5.25287C7.0053 4.47749 7.63231 4.0502 8.30001 3.9197C8.95292 3.7921 9.60198 3.95667 10.0922 4.28126C10.5758 4.6015 10.967 5.12423 10.9794 5.75187C10.9924 6.40602 10.5936 6.99672 9.86025 7.43036C9.36165 7.7252 9.16771 7.92513 9.08528 8.05795C9.01589 8.16975 8.99911 8.27172 8.99911 8.5C8.99911 8.77614 8.77525 9 8.49911 9C8.22297 9 7.99911 8.77614 7.99911 8.5C7.99911 8.22827 8.01301 7.88929 8.23562 7.53061C8.44519 7.19295 8.80457 6.89287 9.35125 6.5696C9.8862 6.25326 9.98319 5.95168 9.97961 5.77173C9.97551 5.56527 9.83768 5.31208 9.5401 5.11505C9.24908 4.92235 8.86462 4.82828 8.49182 4.90114ZM8.74902 11.5C8.33481 11.5 7.99902 11.1642 7.99902 10.75C7.99902 10.3358 8.33481 10 8.74902 10C9.16324 10 9.49902 10.3358 9.49902 10.75C9.49902 11.1642 9.16324 11.5 8.74902 11.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.53516 14.7402C7.72716 16.1239 9.49218 17 11.4618 17C12.4553 17 13.3979 16.7768 14.2411 16.3774L16.7285 17.0741C17.5196 17.2957 18.2256 16.5216 17.9323 15.7542L17.1366 13.6719C17.6622 12.7333 17.9618 11.651 17.9618 10.5C17.9618 8.5596 17.1116 6.81779 15.7633 5.6268C15.9085 6.19137 15.9896 6.78165 15.9983 7.38943C16.6061 8.27414 16.9618 9.34552 16.9618 10.5C16.9618 11.5508 16.6676 12.5313 16.1574 13.3655L16.0291 13.5752L16.9982 16.1111L14.1382 15.3101L13.964 15.3993C13.214 15.7832 12.3639 16 11.4618 16C10.2827 16 9.19026 15.629 8.29486 14.9973C7.68753 14.981 7.09821 14.8926 6.53516 14.7402Z\"\n    })));\n  },\n  displayName: 'QnaIcon'\n});\n//# sourceMappingURL=QnaIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var QuestionCircleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM10 13.5C10.4142 13.5 10.75 13.8358 10.75 14.25C10.75 14.6642 10.4142 15 10 15C9.58579 15 9.25 14.6642 9.25 14.25C9.25 13.8358 9.58579 13.5 10 13.5ZM10 5.5C11.3807 5.5 12.5 6.61929 12.5 8C12.5 8.72959 12.1848 9.40774 11.6513 9.8771L11.4967 10.0024L11.2782 10.1655L11.1906 10.2372C11.1348 10.2851 11.0835 10.3337 11.0346 10.3859C10.6963 10.7464 10.5 11.2422 10.5 12C10.5 12.2761 10.2761 12.5 10 12.5C9.72386 12.5 9.5 12.2761 9.5 12C9.5 10.988 9.79312 10.2475 10.3054 9.70162C10.4165 9.5832 10.532 9.47988 10.6609 9.37874L10.9076 9.19439L11.0256 9.09468C11.325 8.81435 11.5 8.42206 11.5 8C11.5 7.17157 10.8284 6.5 10 6.5C9.17157 6.5 8.5 7.17157 8.5 8C8.5 8.27614 8.27614 8.5 8 8.5C7.72386 8.5 7.5 8.27614 7.5 8C7.5 6.61929 8.61929 5.5 10 5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 13.5C9.58579 13.5 9.25 13.8358 9.25 14.25C9.25 14.6642 9.58579 15 10 15C10.4142 15 10.75 14.6642 10.75 14.25C10.75 13.8358 10.4142 13.5 10 13.5ZM10 5.5C8.61929 5.5 7.5 6.61929 7.5 8C7.5 8.27614 7.72386 8.5 8 8.5C8.27614 8.5 8.5 8.27614 8.5 8C8.5 7.17157 9.17157 6.5 10 6.5C10.8284 6.5 11.5 7.17157 11.5 8C11.5 8.36931 11.366 8.71582 11.132 8.98447L11.0256 9.09468L10.9076 9.19439L10.6609 9.37874C10.532 9.47988 10.4165 9.5832 10.3054 9.70162C9.79312 10.2475 9.5 10.988 9.5 12C9.5 12.2761 9.72386 12.5 10 12.5C10.2761 12.5 10.5 12.2761 10.5 12C10.5 11.2422 10.6963 10.7464 11.0346 10.3859L11.11 10.3099L11.1906 10.2372L11.2782 10.1655L11.4967 10.0024L11.6513 9.8771C12.1848 9.40774 12.5 8.72959 12.5 8C12.5 6.61929 11.3807 5.5 10 5.5Z\"\n    }));\n  },\n  displayName: 'QuestionCircleIcon'\n});\n//# sourceMappingURL=QuestionCircleIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var QuoteIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 6.5a2.5 2.5 0 10-1.174 2.12 8.802 8.802 0 01-.952 2.764c-.649 1.18-1.476 2.011-2.228 2.762a.5.5 0 00.708.708l.011-.012c.747-.747 1.664-1.664 2.386-2.976C8.48 10.538 9 8.83 9 6.5zM14.826 8.62A2.5 2.5 0 1116 6.5c0 2.33-.52 4.038-1.25 5.366-.721 1.312-1.638 2.23-2.384 2.976l-.012.012a.5.5 0 01-.708-.708c.752-.751 1.579-1.581 2.228-2.762a8.8 8.8 0 00.952-2.765z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.826 8.62a8.802 8.802 0 01-.952 2.764c-.649 1.18-1.476 2.011-2.228 2.762a.5.5 0 00.708.708l.011-.012c.747-.747 1.664-1.664 2.386-2.976C8.48 10.538 9 8.83 9 6.5a2.5 2.5 0 10-1.174 2.12zM8 6.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM14.826 8.62a8.8 8.8 0 01-.952 2.764c-.649 1.18-1.476 2.011-2.228 2.762a.5.5 0 00.708.708l.012-.012c.746-.747 1.663-1.664 2.385-2.976C15.48 10.538 16 8.83 16 6.5a2.5 2.5 0 10-1.174 2.12zM13.5 8a1.5 1.5 0 110-3 1.5 1.5 0 010 3z\"\n    })));\n  },\n  displayName: 'QuoteIcon'\n});\n//# sourceMappingURL=QuoteIcon.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RadioButtonIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M8,1A7,7,0,1,1,1,8,7.008,7.008,0,0,1,8,1M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8,1A7,7,0,1,1,1,8,7.008,7.008,0,0,1,8,1M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0Z\"\n    }), /*#__PURE__*/React.createElement(\"circle\", {\n      cx: \"8\",\n      cy: \"8\",\n      r: \"5\"\n    })));\n  },\n  displayName: 'RadioButtonIcon'\n});\n//# sourceMappingURL=RadioButtonIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ReadAloudIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18 4.5L18 10.2006C17.6975 10.0262 17.3425 9.96316 17 10.0207L17 4.5C17 4.22386 16.7761 4 16.5 4L12 4C11.1716 4 10.5 4.67157 10.5 5.5V12.0001C10.1158 12.0001 9.76538 12.1445 9.5 12.382V5.5C9.5 4.67157 8.82843 4 8 4H3.5C3.22386 4 3 4.22386 3 4.5V15.5C3 15.7761 3.22386 16 3.5 16H8C8.38625 16 8.7384 15.854 9.00428 15.6142C9.03166 15.9781 9.18888 16.3058 9.42976 16.5511C9.02459 16.834 8.53168 17 8 17H3.5C2.67157 17 2 16.3284 2 15.5V4.5C2 3.67157 2.67157 3 3.5 3H8C8.8178 3 9.54389 3.39267 10 3.99976C10.4561 3.39267 11.1822 3 12 3H16.5C17.3284 3 18 3.67157 18 4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.6913 11.0381C13.8782 11.1155 14 11.2978 14 11.5V17.5C14 17.7022 13.8782 17.8846 13.6913 17.962C13.5045 18.0393 13.2894 17.9966 13.1464 17.8536L11.2929 16H10.5C10.2239 16 10 15.7762 10 15.5V13.5C10 13.2239 10.2239 13 10.5 13H11.2929L13.1464 11.1465C13.2894 11.0035 13.5045 10.9607 13.6913 11.0381Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.1498 11.2C18.271 11.3617 18.4349 11.6531 18.5929 12.0745C18.848 12.7547 18.9998 13.564 18.9998 14.5C18.9998 15.436 18.848 16.2454 18.5929 16.9256C18.4349 17.347 18.271 17.6384 18.1498 17.8C17.9841 18.0209 17.6707 18.0657 17.4498 17.9C17.2534 17.7528 17.1962 17.4888 17.3023 17.2768L17.418 17.0948C17.4836 16.9827 17.5686 16.8092 17.6566 16.5745C17.8703 16.0047 17.9998 15.314 17.9998 14.5C17.9998 13.686 17.8703 12.9954 17.6566 12.4256C17.5686 12.1909 17.4836 12.0174 17.418 11.9052L17.3498 11.8C17.1841 11.5791 17.2289 11.2657 17.4498 11.1C17.6707 10.9343 17.9841 10.9791 18.1498 11.2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.7241 12.9669C16.6222 12.661 16.5194 12.4211 16.447 12.2764C16.3235 12.0294 16.0232 11.9293 15.7762 12.0528C15.5292 12.1763 15.4291 12.4766 15.5526 12.7236C15.6052 12.8289 15.6899 13.0266 15.7754 13.2831C15.9161 13.7051 15.9998 14.1236 15.9998 14.5C15.9998 14.8765 15.9161 15.295 15.7754 15.7169C15.7241 15.8709 15.6731 16.0036 15.6291 16.1079L15.5526 16.2764C15.4291 16.5234 15.5292 16.8237 15.7762 16.9472C16.0232 17.0707 16.3235 16.9706 16.447 16.7236C16.5194 16.5789 16.6222 16.3391 16.7241 16.0331C16.896 15.5176 16.9998 14.9986 16.9998 14.5C16.9998 14.0015 16.896 13.4825 16.7241 12.9669Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18 4.75L18 10.2006C17.5451 9.93832 16.9715 9.9279 16.5 10.2009L16.5 4.75C16.5 4.61193 16.3881 4.5 16.25 4.5L12 4.5C11.3096 4.5 10.75 5.05964 10.75 5.75V12.0001H10.5C9.97826 12.0001 9.51873 12.2665 9.25 12.6706V5.75C9.25 5.05964 8.69036 4.5 8 4.5H3.75C3.61193 4.5 3.5 4.61193 3.5 4.75V15.25C3.5 15.3881 3.61193 15.5 3.75 15.5H8C8.4089 15.5 8.77194 15.3037 9 15.0001V15.5001C9 15.9247 9.17641 16.308 9.45991 16.5809C9.03685 16.8465 8.53636 17 8 17H3.75C2.7835 17 2 16.2165 2 15.25V4.75C2 3.7835 2.7835 3 3.75 3H8C8.78802 3 9.49862 3.33145 10 3.86253C10.5014 3.33145 11.212 3 12 3H16.25C17.2165 3 18 3.7835 18 4.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.1329 11.2C18.2541 11.3616 18.418 11.653 18.5761 12.0744C18.8312 12.7546 18.9829 13.564 18.9829 14.5C18.9829 15.436 18.8312 16.2453 18.5761 16.9255C18.418 17.3469 18.2541 17.6383 18.1329 17.8C17.9672 18.0209 17.6538 18.0656 17.4329 17.9C17.2365 17.7527 17.1794 17.4887 17.2854 17.2767L17.4012 17.0948C17.4667 16.9826 17.5517 16.8091 17.6397 16.5744C17.8534 16.0046 17.9829 15.314 17.9829 14.5C17.9829 13.686 17.8534 12.9953 17.6397 12.4255C17.5517 12.1908 17.4667 12.0173 17.4012 11.9051L17.3329 11.8C17.1672 11.579 17.212 11.2656 17.4329 11.1C17.6538 10.9343 17.9672 10.979 18.1329 11.2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.6913 11.0381C13.8782 11.1155 14 11.2978 14 11.5V17.5C14 17.7022 13.8782 17.8846 13.6913 17.962C13.5045 18.0393 13.2894 17.9966 13.1464 17.8536L11.2929 16H10.5C10.2239 16 10 15.7762 10 15.5V13.5C10 13.2239 10.2239 13 10.5 13H11.2929L13.1464 11.1465C13.2894 11.0035 13.5045 10.9607 13.6913 11.0381Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.7073 12.9668C16.6053 12.6609 16.5025 12.4211 16.4301 12.2764C16.3066 12.0294 16.0063 11.9293 15.7593 12.0527C15.5123 12.1762 15.4122 12.4766 15.5357 12.7236C15.5883 12.8288 15.673 13.0265 15.7586 13.2831C15.8992 13.705 15.9829 14.1235 15.9829 14.5C15.9829 14.8764 15.8992 15.2949 15.7586 15.7168C15.7073 15.8708 15.6562 16.0035 15.6123 16.1078L15.5357 16.2764C15.4122 16.5233 15.5123 16.8237 15.7593 16.9472C16.0063 17.0707 16.3066 16.9706 16.4301 16.7236C16.5025 16.5788 16.6053 16.339 16.7073 16.0331C16.8791 15.5175 16.9829 14.9985 16.9829 14.5C16.9829 14.0014 16.8791 13.4824 16.7073 12.9668Z\"\n    })));\n  },\n  displayName: 'ReadAloudIcon'\n});\n//# sourceMappingURL=ReadAloudIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var RaiseHandColoredIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n      id: \"a\",\n      x1: \"14.98\",\n      y1: \"-2502.59\",\n      x2: \"14.98\",\n      y2: \"-2509.04\",\n      gradientTransform: \"matrix(1, 0, 0, -1, 0, -2486)\",\n      gradientUnits: \"userSpaceOnUse\"\n    }, /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"0\",\n      stopColor: \"#fdce4c\"\n    }), /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"0.25\",\n      stopColor: \"#fec342\"\n    }), /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"0.7\",\n      stopColor: \"#ffa528\"\n    }), /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"0.75\",\n      stopColor: \"#ffa225\"\n    }), /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"0.89\",\n      stopColor: \"#fda227\"\n    }), /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"0.96\",\n      stopColor: \"#f7a22e\"\n    }), /*#__PURE__*/React.createElement(\"stop\", {\n      offset: \"1\",\n      stopColor: \"#eda339\"\n    }))), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M22.43,16.09h0a1.83,1.83,0,0,0-1.25-1.25,3,3,0,0,0-2.3.34c.06-.91.16-2.44.27-4.06a1.77,1.77,0,0,0-.45-1.3,2,2,0,0,0-1.36-.64h-.19a1.94,1.94,0,0,0-3.4-.32,1.48,1.48,0,0,0-.55-.06,1.89,1.89,0,0,0-1.37.58,1.78,1.78,0,0,0-.5,1.28v.16h0a2,2,0,0,0-1.35.64,1.77,1.77,0,0,0-.45,1.3l.22,3.16,0,.93a9.94,9.94,0,0,0,.5,3.72,5.78,5.78,0,0,0,1,1.67l.11.14C11.72,24,13.68,24,14.53,24h.25c1,0,3-.13,3.29-2A11.14,11.14,0,0,0,20,19.44l.12-.2.06-.15a1.74,1.74,0,0,1,1-1C22.74,17.51,22.53,16.41,22.43,16.09Z\",\n      fill: \"#303030\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.25,10.18a.94.94,0,0,0-.76.37.29.29,0,0,0-.24,0c0-.22,0-.45,0-.68A.87.87,0,0,0,15.39,9a.89.89,0,0,0-.93.8v.55a.4.4,0,0,0-.24-.07l-.14,0a.92.92,0,0,0-.8-.5.86.86,0,0,0-.94.83c0,.39,0,.78,0,1.16A.42.42,0,0,0,12,12a1,1,0,0,0-.57-.19.87.87,0,0,0-.91.87l.22,3.18a.86.86,0,0,0,.9.76h5.31a.87.87,0,0,0,.9-.77c.13-1.6.24-3.22.32-4.82V11A.86.86,0,0,0,17.25,10.18Z\",\n      fill: \"#fdce4c\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.38,18.53c0-.76,1.07-1.8,1.61-2.23a2.56,2.56,0,0,1,1.49-.56c.47,0,1,.27,1,.8s-.43.51-.71.64a2.78,2.78,0,0,0-1.56,1.61,1.08,1.08,0,0,1-.95.61A.82.82,0,0,1,17.38,18.53Zm-.33,1.36\",\n      fill: \"#fdc443\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.12,17.18c-.15.09-.44,0-.37-.54s.06-.55.1-1.24c0-.18-7.17-.23-7.13.48,0,.42,0,.56,0,1a8.93,8.93,0,0,0,.44,3.35c.43,1.14,1.08,1.52,1.13,1.86.12.75,1,.91,2.22.92s2.42,0,2.55-1.25l.1-.32a10.1,10.1,0,0,0,2-2.65C19.27,18.73,18.12,17.18,18.12,17.18Z\",\n      fill: \"url(#a)\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.38,20.09c-.4,0-.45-.36-.45-.68a2.89,2.89,0,0,1,2.84-2.77c.35,0,1.3.17,1.3.63a.4.4,0,0,1-.41.38c-.23,0-.46-.25-.89-.25a2.1,2.1,0,0,0-2,2c0,.1,0,.2,0,.3A.4.4,0,0,1,14.38,20.09Z\",\n      fill: \"#8a5835\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.49,16a.41.41,0,0,1-.42-.36l-.14-3.44a.41.41,0,0,1,.45-.39.39.39,0,0,1,.39.36l.14,3.44A.41.41,0,0,1,12.49,16Z\",\n      fill: \"#8a5835\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.28,15.53a.39.39,0,0,1-.41-.37l-.07-4.5a.4.4,0,0,1,.42-.38.39.39,0,0,1,.41.37l.07,4.49A.42.42,0,0,1,14.28,15.53Z\",\n      fill: \"#8a5835\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.1,15.6a.39.39,0,0,1-.4-.39l.19-4.33a.41.41,0,0,1,.44-.37.41.41,0,0,1,.4.4l-.2,4.32A.4.4,0,0,1,16.1,15.6Z\",\n      fill: \"#8a5835\"\n    }));\n  },\n  displayName: 'RaiseHandColoredIcon'\n});\n//# sourceMappingURL=RaiseHandColoredIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RaiseHandDisabledIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 6c0-.361.128-.693.34-.952L2.147 2.854a.5.5 0 11.708-.708l15 15a.5.5 0 01-.708.708l-3.568-3.569-.213.222c-.698.727-1.213 1.564-1.713 2.43A2.16 2.16 0 019.78 18.02H7.234c-.3 0-.595-.073-.861-.211a2.548 2.548 0 01-1.18-1.29l-.585-1.422A8.088 8.088 0 014 12.02V6zm8.871 7.578L7 7.708V9.5a.5.5 0 01-1 0V6.707l-.942-.942A.498.498 0 005 6v6.02c0 .925.181 1.841.533 2.697l.585 1.42c.139.338.393.616.716.785.124.064.261.098.4.098H9.78a1.16 1.16 0 001.006-.582c.54-.936 1.104-1.838 1.858-2.623l.227-.237zM10 3.5v4.379l.909.909A.498.498 0 0011 8.5v-4a.5.5 0 011 0v5.379l.924.924c.199-.198.399-.386.654-.513.697-.349 2.223-.575 2.407.498-.176.137-.356.272-.537.408a15.22 15.22 0 00-1.182.949l.707.706c.375-.345.79-.653 1.203-.96.2-.148.4-.295.592-.446A.602.602 0 0017 10.97c0-.754-.536-1.575-1.217-1.79-.91-.306-1.796-.213-2.652.215a2.452 2.452 0 00-.131.07V4.5a1.5 1.5 0 00-2.053-1.395 1.5 1.5 0 00-2.894 0 1.5 1.5 0 00-1.958.869L7 4.879V4.5a.5.5 0 011 0v1.379l1 1V3.5a.5.5 0 011 0z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 5.25c0-.154.047-.297.126-.417l-1.98-1.98a.5.5 0 11.708-.707l15 15a.5.5 0 01-.708.708l-3.716-3.717c-.254.318-.488.646-.694.98a31.683 31.683 0 00-1.054 1.867C11.322 17.661 11.094 18 10 18H6.955C6 18 5.637 17.467 5 16s-1-2.944-1-3.5V5.25zm2.5 1.957l-1-1V9a.5.5 0 001 0V7.207zM8 3.75v2.129l-1.5-1.5V3.75a.75.75 0 011.5 0zM11.11 8.988l3.7 3.7c.224-.198.454-.386.686-.56l1.313-.985a.478.478 0 00.191-.382.605.605 0 00-.016-.145C16.787 9.824 15.971 9.5 15 9.5c-.608 0-1.338.324-2 .75v-6.5a.75.75 0 00-1.5 0V8.5a.5.5 0 01-.39.488zM9 6.879l1.5 1.5V2.75a.75.75 0 00-1.5 0v4.129z\"\n    })));\n  },\n  displayName: 'RaiseHandDisabledIcon'\n});\n//# sourceMappingURL=RaiseHandDisabledIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RaiseHandIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4 12.0198C4 13.0755 4.20666 14.1209 4.60833 15.0972L5.19297 16.5182C5.42166 17.0741 5.83945 17.5312 6.37252 17.8088C6.63864 17.9474 6.93427 18.0198 7.23432 18.0198H9.78C10.5528 18.0198 11.2667 17.6071 11.6524 16.9375C12.1515 16.071 12.6674 15.2341 13.3651 14.5074L14.6934 13.1237C15.1347 12.664 15.6581 12.2757 16.1758 11.8918C16.3759 11.7434 16.5751 11.5956 16.7684 11.4446C16.9146 11.3304 17 11.1553 17 10.9698C17 10.2163 16.4636 9.39514 15.7834 9.17982C14.8731 8.87353 13.9873 8.9671 13.1312 9.39514C13.0864 9.41755 13.0427 9.44115 13 9.46586V4.5C13 3.67157 12.3284 3 11.5 3C11.3049 3 11.1185 3.03726 10.9475 3.10504C10.7741 2.46823 10.1917 2 9.5 2C8.80827 2 8.22589 2.46823 8.05254 3.10504C7.88155 3.03726 7.69512 3 7.5 3C6.67157 3 6 3.67157 6 4.5V4.58535C5.84361 4.53008 5.67532 4.5 5.5 4.5C4.67157 4.5 4 5.17157 4 6V12.0198ZM8 4.5V8.5C8 8.77614 8.22386 9 8.5 9C8.77614 9 9 8.77614 9 8.5V3.5C9 3.22386 9.22386 3 9.5 3C9.77614 3 10 3.22386 10 3.5V8.5C10 8.77614 10.2239 9 10.5 9C10.7761 9 11 8.77614 11 8.5V4.5C11 4.22386 11.2239 4 11.5 4C11.7761 4 12 4.22386 12 4.5L12.0004 10.4997C11.995 10.6342 12.0437 10.7706 12.1464 10.8733C12.3417 11.0686 12.6583 11.0686 12.8536 10.8733L12.8618 10.865C13.0816 10.6453 13.2961 10.4307 13.5784 10.2896C14.2748 9.94137 15.8006 9.71523 15.9847 10.7879C15.8088 10.9253 15.6288 11.0602 15.4482 11.1956C14.9335 11.5813 14.4141 11.9706 13.972 12.4311L12.6437 13.8148C11.8897 14.6002 11.3255 15.5015 10.7859 16.4384C10.5787 16.7981 10.1951 17.0198 9.78 17.0198H7.23432C7.0951 17.0198 6.95793 16.9862 6.83446 16.9219C6.51056 16.7532 6.25671 16.4755 6.11776 16.1377L5.53312 14.7167C5.18111 13.8612 5 12.945 5 12.0198V6C5 5.72386 5.22386 5.5 5.5 5.5C5.77614 5.5 6 5.72386 6 6V9.5C6 9.77614 6.22386 10 6.5 10C6.77614 10 7 9.77614 7 9.5V4.5C7 4.22386 7.22386 4 7.5 4C7.77614 4 8 4.22386 8 4.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M9 8.5V2.75C9 2.33579 9.33579 2 9.75 2C10.1642 2 10.5 2.33579 10.5 2.75V8.5C10.5 8.77614 10.7239 9 11 9C11.2761 9 11.5 8.77614 11.5 8.5V3.75C11.5 3.33579 11.8358 3 12.25 3C12.6642 3 13 3.33579 13 3.75V10.2498C13.6616 9.82409 14.3919 9.5 15 9.5C15.9711 9.5 16.7874 9.82415 16.9841 10.6155C16.9959 10.6631 17 10.7122 17 10.7611C17 10.9115 16.9292 11.0531 16.8089 11.1433L15.4965 12.1276C14.4341 12.9244 13.4334 13.9933 12.7355 15.1163C12.3578 15.7239 12.0174 16.3529 11.6818 16.9844C11.3217 17.6615 11.0938 18 10 18H6.95452C6 18 5.63707 17.467 5 16C4.36293 14.533 4 13.0556 4 12.5V5.25C4 4.83579 4.33579 4.5 4.75 4.5C5.16421 4.5 5.5 4.83579 5.5 5.25V9C5.5 9.27614 5.72386 9.5 6 9.5C6.27614 9.5 6.5 9.27614 6.5 9V3.75C6.5 3.33579 6.83579 3 7.25 3C7.66421 3 8 3.33579 8 3.75V8.5C8 8.77614 8.22386 9 8.5 9C8.77614 9 9 8.77614 9 8.5Z\"\n    }));\n  },\n  displayName: 'RaiseHandIcon'\n});\n//# sourceMappingURL=RaiseHandIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ReactionsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.758,17.406a.7.7,0,0,0,.7.7.707.707,0,1,0,.016-1.414A.726.726,0,0,0,15.758,17.406Zm5.008.008a.7.7,0,0,0-.711-.711.692.692,0,0,0-.719.7.7.7,0,0,0,.711.711A.722.722,0,0,0,20.766,17.414ZM15.5,20.453a3.919,3.919,0,0,0,2.758,1.117,3.837,3.837,0,0,0,2.765-1.125l-.492-.492a3.252,3.252,0,0,1-2.273.914,3.189,3.189,0,0,1-2.266-.914C15.828,20.117,15.664,20.281,15.5,20.453Zm2.836-7.617c-.1,0-.2,0-.289.008.008.015.008.031.015.047a3.245,3.245,0,0,1,.157.609c.015.078.117.047.172.047a4.873,4.873,0,1,1-4.844,6.273l-.664.258a5.67,5.67,0,1,0,5.453-7.242Zm-1.617.922a1.019,1.019,0,0,0-1.11-.946,2.177,2.177,0,0,0-1.617.711c.055-.578.078-1.156.125-1.734.055-.625.149-1.281.149-1.906a.98.98,0,0,0-.985-1.039c-.133,0-.258.039-.383.047,0-.016-.007-.024-.007-.032A1,1,0,0,0,11.836,8a1,1,0,0,0-1.047.664,1.558,1.558,0,0,0-.469-.094.984.984,0,0,0-.445.1c-.609.3-.547.812-.547,1.39a1.307,1.307,0,0,0-.344-.046A.962.962,0,0,0,8,11.039c0,.7.1,1.406.133,2.1.07,1.445-.071,3.117.929,4.3.329.383.454.969.977,1.125a4.47,4.47,0,0,0,1.25.157,3.04,3.04,0,0,0,1.641-.289c.617-.383.461-.86.632-1.032s.336-.336.493-.508a5.834,5.834,0,0,0,.992-1.437,1.683,1.683,0,0,1,.883-.883C16.3,14.422,16.719,14.219,16.719,13.758Zm-5.305,4.226a4.359,4.359,0,0,1-1.148-.117.273.273,0,0,1-.2-.164c-.39-.891-.874-.945-1.1-2.2a21.608,21.608,0,0,1-.125-2.57c-.031-.649-.148-1.313-.148-1.961,0-.149.25-.219.367-.219s.242.016.257.148c.118.852.047,1.727.149,2.586a.334.334,0,0,0,.344.3.363.363,0,0,0,.343-.406c0-1.242-.171-2.5-.171-3.742a.3.3,0,0,1,.328-.344c.234,0,.359.086.367.328.023.539.016,2.953.117,3.2a.321.321,0,0,0,.289.18c.266,0,.352-.227.352-.453,0-1.024-.055-2.039-.055-3.063,0-.336-.016-.734.43-.734.3,0,.39.164.39.445,0,.727-.023,1.453-.039,2.18-.008.453-.054.9-.054,1.352a.355.355,0,0,0,.343.382.329.329,0,0,0,.328-.289,2.308,2.308,0,0,0,.032-.406c.007-.547.039-1.1.062-1.648.016-.313.016-.633.039-.938a.269.269,0,0,1,.3-.242c.172,0,.359.07.359.273,0,.446-.07.891-.1,1.336-.063,1-.2,2-.2,3.008,0,.164.289.25.422.25.563,0,1.157-.9,1.9-.9.265,0,.25.062.445.156a3.367,3.367,0,0,0-1.375.984c-.1.141-.148.3-.234.438l-.008.008A5.971,5.971,0,0,1,13.055,16.9c-.25.235-.211.4-.3.688a.421.421,0,0,1-.289.281A3.156,3.156,0,0,1,11.414,17.984Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M13.805,14.359c-.047-.054-.133-.156-.133-.226,0-.422.078-.891.117-1.3.063-.594.1-1.2.149-1.789s.117-1.2.117-1.789c0-.273-.352-.43-.586-.43-.3,0-.555.141-.571.461-.062,1.078-.093,2.18-.2,3.258-.015.156-.023.313-.226.313-.149,0-.2-.164-.2-.29,0-.539.047-1.078.055-1.617.016-.7.047-1.39.047-2.086,0-.445-.047-.859-.6-.859-.507,0-.617.328-.617.781,0,1.235.032,2.461.032,3.7a.245.245,0,0,1-.219.265c-.219,0-.235-.2-.235-.367l-.023-1.266c-.016-.7-.008-1.429-.047-2.132a.517.517,0,0,0-.555-.5.56.56,0,0,0-.617.539c0,.187.024.39.031.586.039.781.086,1.57.118,2.351.015.344.054.688.054,1.031a.243.243,0,0,1-.218.258.194.194,0,0,1-.172-.1c-.117-.227-.117-2.149-.2-2.618-.047-.273-.226-.367-.492-.367-.25,0-.617.133-.617.438,0,.539.094,1.437.156,1.992A17.936,17.936,0,0,1,8.2,14.633a4.778,4.778,0,0,0,.961,3.047,2.384,2.384,0,0,1,.406.64.558.558,0,0,0,.375.36,5.094,5.094,0,0,0,1.375.156,3.659,3.659,0,0,0,1.235-.141c.8-.289.4-.765.8-1.156A7.66,7.66,0,0,0,15.078,15.3a2.045,2.045,0,0,1,.61-.774c.289-.218.632-.32.929-.523a.237.237,0,0,0,.1-.2c0-.445-.5-.664-.883-.664A3.467,3.467,0,0,0,13.805,14.359Zm-.985,5.508a5.674,5.674,0,1,0,5.524-7.039,4.886,4.886,0,0,0-.672.047v.008a2.139,2.139,0,0,1,.258.883,1.526,1.526,0,0,1-.032.328c-.148.734-.64.914-1.226,1.226a.92.92,0,0,0-.391.3,1.392,1.392,0,0,0-.125.235,7.281,7.281,0,0,1-.812,1.3c-.3.383-.656.711-.977,1.071-.047.054-.172.515-.258.664A2.2,2.2,0,0,1,12.82,19.867Zm3.172.086a3.275,3.275,0,0,0,4.539,0l.485.492a3.823,3.823,0,0,1-2.758,1.125,3.9,3.9,0,0,1-2.75-1.117Zm1.2-2.547a.715.715,0,0,1-1.43,0,.715.715,0,0,1,1.43,0Zm3.578.008a.716.716,0,0,1-.719.688.7.7,0,1,1,.719-.688Z\"\n    }));\n  },\n  displayName: 'ReactionsIcon'\n});\n//# sourceMappingURL=ReactionsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RedbangIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"circle\", {\n      cx: \"16\",\n      cy: \"21.5\",\n      r: \"1\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.98 11.267l-.99 6.88a.999.999 0 0 1-1.131.843.998.998 0 0 1-.849-.843l-.99-6.88c-.156-1.086.604-2.092 1.697-2.247s2.107.6 2.263 1.685c.028.188.025.383 0 .562z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"circle\", {\n      cx: \"16\",\n      cy: \"21.5\",\n      r: \"1.5\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.467 11.425l-1.142 6.945a1.344 1.344 0 0 1-1.543 1.112 1.35 1.35 0 0 1-1.106-1.112l-1.115-6.78c-.216-1.312.525-2.678 1.813-3.01 1.44-.37 2.856.581 3.093 2.024.046.276.042.56 0 .82z\"\n    }))));\n  },\n  displayName: 'RedbangIcon'\n});\n//# sourceMappingURL=RedbangIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RedoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.003 2.5C15.003 2.22386 15.2269 2 15.503 2C15.7792 2 16.003 2.22386 16.003 2.5V7.4C16.003 7.73137 15.7344 8 15.403 8H10.503C10.2269 8 10.003 7.77614 10.003 7.5C10.003 7.22386 10.2269 7 10.503 7H14.097L10.6243 3.98124C8.95706 2.53191 6.43056 2.70858 4.98124 4.37584C3.53191 6.0431 3.70858 8.56959 5.37584 10.0189L13.5477 17.1226C13.7562 17.3038 13.7782 17.6196 13.5971 17.828C13.4159 18.0364 13.1001 18.0585 12.8917 17.8774L4.71978 10.7736C2.63571 8.96197 2.41487 5.80385 4.22653 3.71978C6.03818 1.63571 9.1963 1.41487 11.2804 3.22653L15.003 6.46259V2.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M13.1408 6.5H10.7532C10.3389 6.5 10.0032 6.83579 10.0032 7.25C10.0032 7.66422 10.3389 8 10.7532 8H15.1532C15.6226 8 16.0032 7.61945 16.0032 7.15V2.75C16.0032 2.33579 15.6674 2 15.2532 2C14.8389 2 14.5032 2.33579 14.5032 2.75V5.6968L11.4444 3.03785C9.25611 1.13561 5.94009 1.36749 4.03785 3.55577C2.13561 5.74405 2.36749 9.06006 4.55577 10.9623L12.7277 18.066C13.0403 18.3378 13.514 18.3047 13.7858 17.992C14.0575 17.6794 14.0244 17.2057 13.7118 16.934L5.53986 9.83024C3.9768 8.4715 3.81118 6.10291 5.16992 4.53986C6.52866 2.9768 8.89725 2.81118 10.4603 4.16992L13.1408 6.5Z\"\n    }));\n  },\n  displayName: 'RedoIcon'\n});\n//# sourceMappingURL=RedoIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RemoveFormatIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.99994 2C6.206 1.99982 6.39106 2.12607 6.46607 2.31799L9.96631 11.2738C10.0668 11.531 9.93982 11.821 9.68262 11.9215C9.42542 12.022 9.13544 11.895 9.03491 11.6378L8.00516 9.00305H4.00814L2.96614 11.6827C2.86607 11.9401 2.5763 12.0676 2.31893 11.9675C2.06156 11.8675 1.93405 11.5777 2.03413 11.3203L5.53436 2.31879C5.60904 2.12675 5.79389 2.00018 5.99994 2ZM6.00156 3.87659L4.39699 8.00305H7.61432L6.00156 3.87659Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.5002 2C11.7764 2 12.0002 2.22386 12.0002 2.5V6.02297H12.0038C12.2292 5.61729 12.538 5.29951 12.9301 5.06962C13.3268 4.83974 13.7708 4.72479 14.2621 4.72479C15.1501 4.72479 15.8668 5.0561 16.4122 5.71871C16.9576 6.38132 17.2303 7.26254 17.2303 8.36239C17.2303 8.50371 17.2258 8.64142 17.2169 8.77551L17.1732 8.73175C16.8422 8.40076 16.4416 8.18217 16.0186 8.07574C15.9798 7.4114 15.8022 6.87364 15.4859 6.46245C15.1253 5.99367 14.634 5.75928 14.0119 5.75928C13.4124 5.75928 12.9211 6.00043 12.538 6.48274C12.2467 6.85028 12.0675 7.30585 12.0002 7.84944V8.87809C12.0532 9.30828 12.1756 9.68305 12.3675 10.0024L11.0002 11.3696V2.5C11.0002 2.22386 11.2241 2 11.5002 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.4391 16.4658C8.85345 15.8802 8.85404 14.93 9.44041 14.3437L14.3439 9.44016C14.9303 8.85379 15.8804 8.8532 16.466 9.43885L18.5614 11.5342C19.147 12.1198 19.1465 13.07 18.5601 13.6563L14.2164 18H16.7473C17.0235 18 17.2473 18.2239 17.2473 18.5C17.2473 18.7761 17.0235 19 16.7473 19H12.6553V18.9988C12.2515 19.0151 11.8425 18.8692 11.5344 18.5611L9.4391 16.4658ZM15.051 10.1473L11.4528 13.7455L14.2547 16.5475L17.853 12.9492C18.0496 12.7526 18.0486 12.4356 17.8543 12.2413L15.7589 10.146C15.5646 9.95166 15.2477 9.9506 15.051 10.1473ZM13.5476 17.2546L10.7457 14.4526L10.1475 15.0508C9.95084 15.2474 9.9519 15.5644 10.1462 15.7587L12.2415 17.854C12.4359 18.0483 12.7528 18.0494 12.9495 17.8527L13.5476 17.2546Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.99994 2C6.206 1.99982 6.39106 2.12607 6.46607 2.31799L9.96631 11.2738C10.0668 11.531 9.93982 11.821 9.68262 11.9215C9.42542 12.022 9.13544 11.895 9.03491 11.6378L8.00516 9.00305H4.00814L2.96614 11.6827C2.86607 11.9401 2.5763 12.0676 2.31893 11.9675C2.06156 11.8675 1.93405 11.5777 2.03413 11.3203L5.53436 2.31879C5.60904 2.12675 5.79389 2.00018 5.99994 2ZM6.00156 3.87659L4.39699 8.00305H7.61432L6.00156 3.87659Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.5002 2C11.7764 2 12.0002 2.22386 12.0002 2.5V6.02297H12.0038C12.2292 5.61729 12.538 5.29951 12.9301 5.06962C13.3268 4.83974 13.7708 4.72479 14.2621 4.72479C15.1501 4.72479 15.8668 5.0561 16.4122 5.71871C16.9576 6.38132 17.2303 7.26254 17.2303 8.36239C17.2303 8.50371 17.2258 8.64142 17.2169 8.77551L17.1732 8.73175C16.8422 8.40076 16.4416 8.18217 16.0186 8.07575C15.9798 7.4114 15.8022 6.87364 15.4859 6.46245C15.1253 5.99367 14.634 5.75928 14.0119 5.75928C13.4124 5.75928 12.9211 6.00043 12.538 6.48274C12.2467 6.85028 12.0675 7.30585 12.0002 7.84944V8.87809C12.0532 9.30828 12.1756 9.68305 12.3675 10.0024L11.0002 11.3696V2.5C11.0002 2.22386 11.2241 2 11.5002 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.466 9.43885L18.5614 11.5342C19.147 12.1198 19.1465 13.07 18.5601 13.6563L14.9619 17.2546L10.7457 13.0384L14.3439 9.44016C14.7829 9.0012 15.4257 8.89052 15.9668 9.10831C16.1486 9.18145 16.3188 9.29163 16.466 9.43885Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.2548 17.9617L10.0386 13.7455L9.44041 14.3437C8.85404 14.93 8.85345 15.8802 9.4391 16.4658L11.5344 18.5611C11.8425 18.8692 12.2515 19.0151 12.6553 18.9988V19H16.7473C17.0235 19 17.2473 18.7761 17.2473 18.5C17.2473 18.2239 17.0235 18 16.7473 18H14.2164L14.2548 17.9617Z\"\n    })));\n  },\n  displayName: 'RemoveFormatIcon'\n});\n//# sourceMappingURL=RemoveFormatIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ReplyIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3.707 10.998L7.09619 7.60827C7.29146 7.41301 7.29146 7.09643 7.09619 6.90116C6.92263 6.7276 6.6532 6.70831 6.45834 6.84331L6.38909 6.90116L2.14645 11.1438C1.97288 11.3174 1.9536 11.5868 2.08859 11.7817L2.14645 11.8509L6.38909 16.0936C6.58435 16.2888 6.90093 16.2888 7.09619 16.0936C7.26976 15.92 7.28905 15.6506 7.15405 15.4557L7.09619 15.3864L3.707 11.998L10 11.9974C14.0609 11.9974 17.368 8.76988 17.4961 4.74009L17.5 4.49736C17.5 4.22122 17.2761 3.99736 17 3.99736C16.7239 3.99736 16.5 4.22122 16.5 4.49736C16.5 8.00917 13.715 10.8705 10.2331 10.9933L10 10.9974L3.707 10.998L7.09619 7.60827L3.707 10.998Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4.31 10.498L7.27297 7.53505C7.56586 7.24215 7.56586 6.76728 7.27297 6.47439C7.0067 6.20812 6.59004 6.18391 6.29643 6.40177L6.21231 6.47439L1.96967 10.717C1.7034 10.9833 1.6792 11.4 1.89705 11.6936L1.96967 11.7777L6.21231 16.0203C6.5052 16.3132 6.98008 16.3132 7.27297 16.0203C7.53924 15.7541 7.56344 15.3374 7.34559 15.0438L7.27297 14.9597L4.31 11.998L10 11.9974C14.1979 11.9974 17.6162 8.65973 17.7462 4.49337L17.75 4.24736C17.75 3.83314 17.4142 3.49736 17 3.49736C16.5858 3.49736 16.25 3.83314 16.25 4.24736C16.25 7.62243 13.5748 10.3727 10.2291 10.4932L10 10.4974L4.31 10.498L7.27297 7.53505L4.31 10.498Z\"\n    }));\n  },\n  displayName: 'ReplyIcon'\n});\n//# sourceMappingURL=ReplyIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RetryIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3.06573 9.05001C3.5904 5.21978 7.12074 2.5401 10.951 3.06478C12.8937 3.3309 14.5398 4.36954 15.6231 5.82967L15.7494 6H12.5001C12.2239 6 12.0001 6.22386 12.0001 6.5C12.0001 6.77614 12.2239 7 12.5001 7H16.5001C16.7762 7 17.0001 6.77614 17.0001 6.5V2.5C17.0001 2.22386 16.7762 2 16.5001 2C16.2239 2 16.0001 2.22386 16.0001 2.5V4.70732C14.7758 3.3185 13.0653 2.34507 11.0867 2.07403C6.70929 1.4744 2.67461 4.53689 2.07498 8.91429C1.47535 13.2917 4.53784 17.3264 8.91524 17.926C13.2926 18.5256 17.3273 15.4631 17.9269 11.0857C18.0011 10.5445 18.0192 10.0079 17.9857 9.48211C17.9681 9.20653 17.7304 8.9974 17.4548 9.015C17.1792 9.03261 16.9701 9.27028 16.9877 9.54586C17.017 10.0055 17.0012 10.4752 16.9362 10.95C16.4115 14.7802 12.8812 17.4599 9.05095 16.9353C5.22073 16.4106 2.54105 12.8802 3.06573 9.05001Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10.6276 2.0247C6.22292 1.67804 2.37123 4.96771 2.02457 9.37236C1.67792 13.777 4.96758 17.6287 9.37224 17.9754C13.7769 18.322 17.6286 15.0324 17.9752 10.6277C17.9976 10.3442 18.0038 10.0397 17.9948 9.73856C17.9824 9.32453 17.6367 8.99896 17.2227 9.01137C16.8086 9.02378 16.4831 9.36947 16.4955 9.7835C16.5029 10.0321 16.4978 10.2826 16.4799 10.51C16.1982 14.0888 13.0687 16.7617 9.48993 16.48C5.91114 16.1983 3.23829 13.0688 3.51995 9.49005C3.8016 5.91127 6.93111 3.23842 10.5099 3.52008C12.2462 3.65672 13.8156 4.47053 14.9222 5.75475L15.1258 6.00263L12.747 6.0035L12.6452 6.01035C12.2791 6.06001 11.997 6.37381 11.997 6.7535C11.997 7.1332 12.2791 7.44699 12.6452 7.49666L12.747 7.5035H16.7469L16.8487 7.49666C17.1815 7.45151 17.4449 7.18807 17.4901 6.85527L17.4969 6.7535V2.7535L17.4901 2.65173C17.4449 2.31894 17.1815 2.0555 16.8487 2.01035L16.7469 2.0035L16.6451 2.01035C16.3124 2.0555 16.0489 2.31894 16.0038 2.65173L15.9969 2.7535L15.9981 4.70625C14.6402 3.16635 12.7322 2.19034 10.6276 2.0247Z\"\n    }));\n  },\n  displayName: 'RetryIcon'\n});\n//# sourceMappingURL=RetryIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var RobotIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 5.5C11.4477 5.5 11 5.94772 11 6.5C11 7.05228 11.4477 7.5 12 7.5C12.5523 7.5 13 7.05228 13 6.5C13 5.94772 12.5523 5.5 12 5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 6.5C7 5.94772 7.44772 5.5 8 5.5C8.55228 5.5 9 5.94772 9 6.5C9 7.05228 8.55228 7.5 8 7.5C7.44772 7.5 7 7.05228 7 6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 2.5C10.5 2.22386 10.2761 2 10 2C9.72386 2 9.5 2.22386 9.5 2.5V3H6.5C5.67157 3 5 3.67157 5 4.5V8.5C5 9.32843 5.67157 10 6.5 10H13.5C14.3284 10 15 9.32843 15 8.5V4.5C15 3.67157 14.3284 3 13.5 3H10.5V2.5ZM6.5 4H13.5C13.7761 4 14 4.22386 14 4.5V8.5C14 8.77614 13.7761 9 13.5 9H6.5C6.22386 9 6 8.77614 6 8.5V4.5C6 4.22386 6.22386 4 6.5 4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.25 17.9984C12.8656 17.9649 14.4449 17.4031 15.3718 16.5574C16.247 15.7588 16.4607 14.7813 16.4947 14.0019H16.5V13.3124C16.5 12.3131 15.69 11.5031 14.6907 11.5031H11.5V11.5H8.5V11.5031H5.3093C4.31005 11.5031 3.5 12.3131 3.5 13.3124V14.0019H3.50533C3.53931 14.7813 3.75297 15.7588 4.6282 16.5574C5.55506 17.4031 7.13442 17.9649 9.75 17.9984V18H10.25V17.9984ZM5.3093 12.5031H14.6907C15.1377 12.5031 15.5 12.8654 15.5 13.3124V13.75C15.5 14.4396 15.3688 15.2064 14.6978 15.8187C14.0103 16.446 12.6605 17 10 17C7.33946 17 5.98969 16.446 5.30224 15.8187C4.63123 15.2064 4.5 14.4396 4.5 13.75V13.3124C4.5 12.8654 4.86233 12.5031 5.3093 12.5031Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.6907 11.5031C15.69 11.5031 16.5 12.3131 16.5 13.3124V14.0019H16.4947C16.4607 14.7813 16.247 15.7588 15.3718 16.5574C14.4158 17.4297 12.7655 18 10 18C7.23446 18 5.58423 17.4297 4.6282 16.5574C3.75297 15.7588 3.53931 14.7813 3.50533 14.0019H3.5V13.3124C3.5 12.3131 4.31005 11.5031 5.3093 11.5031H14.6907Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 3C5.67157 3 5 3.67157 5 4.5V8.5C5 9.32843 5.67157 10 6.5 10H13.5C14.3284 10 15 9.32843 15 8.5V4.5C15 3.67157 14.3284 3 13.5 3H10.5C10.5 3 10.5 2.80859 10.5 2.5C10.5 2.19141 10.2761 2 10 2C9.72386 2 9.5 2.23047 9.5 2.5C9.5 2.76953 9.5 3 9.5 3H6.5ZM7 6.5C7 5.94771 7.44772 5.5 8 5.5C8.55228 5.5 9 5.94771 9 6.5C9 7.05228 8.55228 7.5 8 7.5C7.44772 7.5 7 7.05228 7 6.5ZM11 6.5C11 5.94771 11.4477 5.5 12 5.5C12.5523 5.5 13 5.94771 13 6.5C13 7.05228 12.5523 7.5 12 7.5C11.4477 7.5 11 7.05228 11 6.5Z\"\n    })));\n  },\n  displayName: 'RobotIcon'\n});\n//# sourceMappingURL=RobotIcon.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SaveIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M3 5C3 3.89543 3.89543 3 5 3H13.3787C13.9091 3 14.4178 3.21071 14.7929 3.58579L16.4142 5.20711C16.7893 5.58218 17 6.09089 17 6.62132V15C17 16.1046 16.1046 17 15 17H5C3.89543 17 3 16.1046 3 15V5ZM5 4C4.44772 4 4 4.44772 4 5V15C4 15.5523 4.44772 16 5 16L5 11.5C5 10.6716 5.67157 10 6.5 10H13.5C14.3284 10 15 10.6716 15 11.5V16C15.5523 16 16 15.5523 16 15V6.62132C16 6.3561 15.8946 6.10175 15.7071 5.91421L14.0858 4.29289C13.8983 4.10536 13.6439 4 13.3787 4L13 4V6.5C13 7.32843 12.3284 8 11.5 8L7.5 8C6.67157 8 6 7.32843 6 6.5L6 4H5ZM7 4L7 6.5C7 6.77614 7.22386 7 7.5 7L11.5 7C11.7761 7 12 6.77614 12 6.5V4L7 4ZM14 16V11.5C14 11.2239 13.7761 11 13.5 11H6.5C6.22386 11 6 11.2239 6 11.5V16H14Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 5C3 3.89543 3.89543 3 5 3H6L6 6.5C6 7.32843 6.67157 8 7.5 8L11.5 8C12.3284 8 13 7.32843 13 6.5V3H13.3787C13.9091 3 14.4178 3.21071 14.7929 3.58579L16.4142 5.20711C16.7893 5.58218 17 6.09089 17 6.62132V15C17 16.1046 16.1046 17 15 17V11.5C15 10.6716 14.3284 10 13.5 10H6.5C5.67157 10 5 10.6716 5 11.5L5 17C3.89543 17 3 16.1046 3 15V5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3H7L7 6.5C7 6.77614 7.22386 7 7.5 7L11.5 7C11.7761 7 12 6.77614 12 6.5V3Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 11.5V17H6V11.5C6 11.2239 6.22386 11 6.5 11H13.5C13.7761 11 14 11.2239 14 11.5Z\"\n    })));\n  },\n  displayName: 'SaveIcon'\n});\n//# sourceMappingURL=SaveIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ScreencastIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M2 5.5C2 4.67157 2.67157 4 3.5 4H16.5C17.3284 4 18 4.67157 18 5.5V14.5C18 15.3284 17.3284 16 16.5 16H3.5C2.67157 16 2 15.3284 2 14.5V5.5ZM3.5 5C3.22386 5 3 5.22386 3 5.5V14.5C3 14.7761 3.22386 15 3.5 15H16.5C16.7761 15 17 14.7761 17 14.5V5.5C17 5.22386 16.7761 5 16.5 5H3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.4989 13.2495C5.4989 13.6634 5.16336 13.9989 4.74945 13.9989C4.33554 13.9989 4 13.6634 4 13.2495C4 12.8355 4.33554 12.5 4.74945 12.5C5.16336 12.5 5.4989 12.8355 5.4989 13.2495Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.9973 10.5C3.9973 10.2239 4.22116 10 4.4973 10C6.43169 10 7.99982 11.5681 7.99982 13.5025C7.99982 13.7787 7.77596 14.0025 7.49982 14.0025C7.22368 14.0025 6.99982 13.7787 6.99982 13.5025C6.99982 12.1204 5.87941 11 4.4973 11C4.22116 11 3.9973 10.7761 3.9973 10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.99731 8C3.99731 7.72386 4.22117 7.5 4.49731 7.5C7.81251 7.5 10.5 10.1875 10.5 13.5027C10.5 13.7788 10.2761 14.0027 10 14.0027C9.72386 14.0027 9.5 13.7788 9.5 13.5027C9.5 10.7398 7.26022 8.5 4.49731 8.5C4.22117 8.5 3.99731 8.27614 3.99731 8Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M3.5 4C2.67157 4 2 4.67157 2 5.5V14.5C2 15.3284 2.67157 16 3.5 16H16.5C17.3284 16 18 15.3284 18 14.5V5.5C18 4.67157 17.3284 4 16.5 4H3.5ZM3.99731 8C3.99731 7.72386 4.22117 7.5 4.49731 7.5C7.81251 7.5 10.5 10.1875 10.5 13.5027C10.5 13.7788 10.2761 14.0027 10 14.0027C9.72386 14.0027 9.5 13.7788 9.5 13.5027C9.5 10.7398 7.26022 8.5 4.49731 8.5C4.22117 8.5 3.99731 8.27614 3.99731 8ZM4.49731 10C4.22117 10 3.99731 10.2239 3.99731 10.5C3.99731 10.7761 4.22117 11 4.49731 11C5.87942 11 6.99984 12.1204 6.99984 13.5025C6.99984 13.7787 7.2237 14.0025 7.49984 14.0025C7.77598 14.0025 7.99984 13.7787 7.99984 13.5025C7.99984 11.5681 6.4317 10 4.49731 10ZM4.74945 13.9989C5.16336 13.9989 5.4989 13.6634 5.4989 13.2495C5.4989 12.8355 5.16336 12.5 4.74945 12.5C4.33554 12.5 4 12.8355 4 13.2495C4 13.6634 4.33554 13.9989 4.74945 13.9989Z\"\n    }));\n  },\n  displayName: 'ScreencastIcon'\n});\n//# sourceMappingURL=ScreencastIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ScreenshareIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M13 10C13 8.34315 11.6569 7 10 7H4C2.34315 7 1 8.34315 1 10V16C1 17.6569 2.34315 19 4 19H10C11.6569 19 13 17.6569 13 16V10ZM10 8C11.1046 8 12 8.89543 12 10V16C12 17.1046 11.1046 18 10 18H4C2.89543 18 2 17.1046 2 16V10C2 8.89543 2.89543 8 4 8H10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M19 4C19 2.34315 17.6569 1 16 1H10C8.34315 1 7 2.34315 7 4V6H8V4C8 2.89543 8.89543 2 10 2H16C17.1046 2 18 2.89543 18 4V10C18 11.1046 17.1046 12 16 12H14V13H16C17.6569 13 19 11.6569 19 10V4ZM13 13V12H12.5V13H13ZM8 7H7V7.5H8V7Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M19 4C19 2.34315 17.6569 1 16 1H10C8.34315 1 7 2.34315 7 4V6H8V4C8 2.89543 8.89543 2 10 2H16C17.1046 2 18 2.89543 18 4V10C18 11.1046 17.1046 12 16 12H14V13H16C17.6569 13 19 11.6569 19 10V4ZM13 13V12H12.5V13H13ZM8 7H7V7.5H8V7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M10 7C11.6569 7 13 8.34315 13 10V16C13 17.6569 11.6569 19 10 19H4C2.34315 19 1 17.6569 1 16V10C1 8.34315 2.34315 7 4 7H10Z\"\n    })));\n  },\n  displayName: 'ScreenshareIcon'\n});\n//# sourceMappingURL=ScreenshareIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SearchIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.83879 13.5217 11.0659 12.7266 12.0196L16.8536 16.1464C17.0488 16.3417 17.0488 16.6583 16.8536 16.8536C16.68 17.0271 16.4106 17.0464 16.2157 16.9114L16.1464 16.8536L12.0196 12.7266C11.0659 13.5217 9.83879 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4C6.01472 4 4 6.01472 4 8.5C4 10.9853 6.01472 13 8.5 13C10.9853 13 13 10.9853 13 8.5C13 6.01472 10.9853 4 8.5 4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.74832 13.5841 10.8995 12.8834 11.8226L17.0303 15.9697C17.3232 16.2626 17.3232 16.7374 17.0303 17.0303C16.7641 17.2966 16.3474 17.3208 16.0538 17.1029L15.9697 17.0303L11.8226 12.8834C10.8995 13.5841 9.74832 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4.5C6.29086 4.5 4.5 6.29086 4.5 8.5C4.5 10.7091 6.29086 12.5 8.5 12.5C10.7091 12.5 12.5 10.7091 12.5 8.5C12.5 6.29086 10.7091 4.5 8.5 4.5Z\"\n    }));\n  },\n  displayName: 'SearchIcon'\n});\n//# sourceMappingURL=SearchIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SendIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M2.72113 2.05149L18.0756 9.61746C18.3233 9.73952 18.4252 10.0393 18.3031 10.287C18.2544 10.3858 18.1744 10.4658 18.0756 10.5145L2.72144 18.0803C2.47374 18.2023 2.17399 18.1005 2.05193 17.8528C1.99856 17.7445 1.98619 17.6205 2.0171 17.5038L3.9858 10.0701L2.01676 2.62789C1.94612 2.36093 2.10528 2.08726 2.37224 2.01663C2.48893 1.98576 2.61285 1.99814 2.72113 2.05149ZM3.26445 3.43403L4.87357 9.51612L4.93555 9.50412L5 9.5H12C12.2761 9.5 12.5 9.72386 12.5 10C12.5 10.2455 12.3231 10.4496 12.0899 10.4919L12 10.5H5C4.9686 10.5 4.93787 10.4971 4.90807 10.4916L3.26508 16.6976L16.7234 10.066L3.26445 3.43403Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M2.72113 2.05149L18.0756 9.61746C18.3233 9.73952 18.4252 10.0393 18.3031 10.287C18.2544 10.3858 18.1744 10.4658 18.0756 10.5145L2.72144 18.0803C2.47374 18.2023 2.17399 18.1005 2.05193 17.8528C1.99856 17.7445 1.98619 17.6205 2.0171 17.5038L3.53835 11.7591C3.58866 11.5691 3.7456 11.4262 3.93946 11.3939L10.8204 10.2466C10.9047 10.2325 10.9744 10.1769 11.0079 10.1012L11.0259 10.0411C11.0454 9.92436 10.9805 9.81305 10.8759 9.76934L10.8204 9.7534L3.90061 8.6001C3.70668 8.56778 3.54969 8.4248 3.49942 8.23473L2.01676 2.62789C1.94612 2.36093 2.10528 2.08726 2.37224 2.01663C2.48893 1.98576 2.61285 1.99814 2.72113 2.05149Z\"\n    })));\n  },\n  displayName: 'SendIcon'\n});\n//# sourceMappingURL=SendIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SettingsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M1.911 7.383a8.491 8.491 0 011.78-3.08.5.5 0 01.54-.135l1.918.686a1 1 0 001.32-.762l.366-2.006a.5.5 0 01.388-.4 8.532 8.532 0 013.554 0 .5.5 0 01.388.4l.366 2.006a1 1 0 001.32.762l1.919-.686a.5.5 0 01.54.136 8.491 8.491 0 011.78 3.079.5.5 0 01-.153.535l-1.555 1.32a1 1 0 000 1.524l1.555 1.32a.5.5 0 01.152.535 8.491 8.491 0 01-1.78 3.08.5.5 0 01-.54.135l-1.918-.686a1 1 0 00-1.32.762l-.366 2.007a.5.5 0 01-.388.399 8.528 8.528 0 01-3.554 0 .5.5 0 01-.388-.4l-.366-2.006a1 1 0 00-1.32-.762l-1.918.686a.5.5 0 01-.54-.136 8.49 8.49 0 01-1.78-3.079.5.5 0 01.152-.535l1.555-1.32a1 1 0 000-1.524l-1.555-1.32a.5.5 0 01-.152-.535zm1.06-.006l1.294 1.098a2 2 0 010 3.05l-1.293 1.098c.292.782.713 1.51 1.244 2.152l1.596-.57a2 2 0 012.64 1.525l.305 1.668a7.556 7.556 0 002.486 0l.304-1.67a1.998 1.998 0 012.641-1.524l1.596.571a7.492 7.492 0 001.245-2.152l-1.294-1.098a1.998 1.998 0 010-3.05l1.294-1.098a7.491 7.491 0 00-1.245-2.152l-1.596.57a2 2 0 01-2.64-1.524l-.305-1.669a7.555 7.555 0 00-2.486 0l-.304 1.669a2 2 0 01-2.64 1.525l-1.597-.571a7.491 7.491 0 00-1.244 2.152zM7.502 10a2.5 2.5 0 115 0 2.5 2.5 0 01-5 0zm1 0a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M1.911 7.383a8.491 8.491 0 011.78-3.08.5.5 0 01.54-.135l1.918.686a1 1 0 001.32-.762l.366-2.006a.5.5 0 01.388-.4 8.532 8.532 0 013.554 0 .5.5 0 01.388.4l.366 2.006a1 1 0 001.32.762l1.919-.686a.5.5 0 01.54.136 8.491 8.491 0 011.78 3.079.5.5 0 01-.153.535l-1.555 1.32a1 1 0 000 1.524l1.555 1.32a.5.5 0 01.152.535 8.491 8.491 0 01-1.78 3.08.5.5 0 01-.54.135l-1.918-.686a1 1 0 00-1.32.762l-.366 2.007a.5.5 0 01-.388.399 8.528 8.528 0 01-3.554 0 .5.5 0 01-.388-.4l-.366-2.006a1 1 0 00-1.32-.762l-1.918.686a.5.5 0 01-.54-.136 8.49 8.49 0 01-1.78-3.079.5.5 0 01.152-.535l1.555-1.32a1 1 0 000-1.524l-1.555-1.32a.5.5 0 01-.152-.535zM8.001 10a2 2 0 104 0 2 2 0 00-4 0z\"\n    }));\n  },\n  displayName: 'SettingsIcon'\n});\n//# sourceMappingURL=SettingsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SettingsAudioIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14.95 5C14.7184 3.85888 13.7095 3 12.5 3C11.2905 3 10.2816 3.85888 10.05 5H2.5C2.22386 5 2 5.22386 2 5.5C2 5.77614 2.22386 6 2.5 6H10.05C10.2816 7.14112 11.2905 8 12.5 8C13.7297 8 14.752 7.11217 14.961 5.94254C14.9575 5.96177 14.9539 5.98093 14.95 6H17.5C17.7761 6 18 5.77614 18 5.5C18 5.22386 17.7761 5 17.5 5H14.95ZM12.5 7C13.3284 7 14 6.32843 14 5.5C14 4.67157 13.3284 4 12.5 4C11.6716 4 11 4.67157 11 5.5C11 6.32843 11.6716 7 12.5 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M9.94999 14C9.71836 12.8589 8.70948 12 7.5 12C6.29052 12 5.28164 12.8589 5.05001 14H2.5C2.22386 14 2 14.2239 2 14.5C2 14.7761 2.22386 15 2.5 15H5.05001C5.28164 16.1411 6.29052 17 7.5 17C8.70948 17 9.71836 16.1411 9.94999 15H17.5C17.7761 15 18 14.7761 18 14.5C18 14.2239 17.7761 14 17.5 14H9.94999ZM7.5 16C8.32843 16 9 15.3284 9 14.5C9 13.6716 8.32843 13 7.5 13C6.67157 13 6 13.6716 6 14.5C6 15.3284 6.67157 16 7.5 16Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.25 5H14.8855C14.567 3.98572 13.6194 3.25 12.5 3.25C11.3806 3.25 10.433 3.98572 10.1145 5H2.75C2.33579 5 2 5.33579 2 5.75C2 6.16421 2.33579 6.5 2.75 6.5H10.1145C10.433 7.51428 11.3806 8.25 12.5 8.25C13.6194 8.25 14.567 7.51428 14.8855 6.5H17.25C17.6642 6.5 18 6.16421 18 5.75C18 5.33579 17.6642 5 17.25 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.75 13.5C2.33579 13.5 2 13.8358 2 14.25C2 14.6642 2.33579 15 2.75 15H5.11445C5.43302 16.0143 6.38059 16.75 7.5 16.75C8.61941 16.75 9.56698 16.0143 9.88555 15H17.25C17.6642 15 18 14.6642 18 14.25C18 13.8358 17.6642 13.5 17.25 13.5H9.88555C9.56698 12.4857 8.61941 11.75 7.5 11.75C6.38059 11.75 5.43302 12.4857 5.11445 13.5H2.75Z\"\n    })));\n  },\n  displayName: 'SettingsAudioIcon'\n});\n//# sourceMappingURL=SettingsAudioIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ShareAltIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M17 5.5C17 6.88071 15.8807 8 14.5 8C13.7014 8 12.9903 7.62559 12.5326 7.04275L7.91508 9.35154C7.97047 9.55834 8 9.77572 8 10C8 10.2243 7.97046 10.4417 7.91505 10.6486L12.5326 12.9573C12.9903 12.3744 13.7014 12 14.5 12C15.8807 12 17 13.1193 17 14.5C17 15.8807 15.8807 17 14.5 17C13.1193 17 12 15.8807 12 14.5C12 14.2757 12.0295 14.0583 12.0849 13.8515L7.46735 11.5427C7.00966 12.1256 6.29855 12.5 5.5 12.5C4.11929 12.5 3 11.3807 3 10C3 8.61929 4.11929 7.5 5.5 7.5C6.29859 7.5 7.00973 7.87444 7.46742 8.45734L12.0849 6.14856C12.0295 5.94173 12 5.72431 12 5.5C12 4.11929 13.1193 3 14.5 3C15.8807 3 17 4.11929 17 5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M12 5.50151C12 4.11996 13.12 3 14.5015 3C15.8831 3 17.003 4.11996 17.003 5.50151C17.003 6.88305 15.8831 8.00302 14.5015 8.00302C13.7015 8.00302 12.9892 7.62749 12.5313 7.0431L7.91501 9.35127C7.97044 9.55816 8 9.77563 8 10C8 10.2243 7.97047 10.4417 7.91508 10.6485L12.5327 12.9573C12.9903 12.3744 13.7014 12 14.5 12C15.8807 12 17 13.1193 17 14.5C17 15.8807 15.8807 17 14.5 17C13.1193 17 12 15.8807 12 14.5C12 14.2757 12.0295 14.0583 12.0849 13.8514L7.46742 11.5427C7.00973 12.1256 6.29859 12.5 5.5 12.5C4.11929 12.5 3 11.3807 3 10C3 8.61929 4.11929 7.5 5.5 7.5C6.29849 7.5 7.00955 7.87435 7.46725 8.45712L12.0845 6.1485C12.0294 5.94213 12 5.72525 12 5.50151ZM14.5015 4C13.6722 4 13 4.67225 13 5.50151C13 6.33077 13.6722 7.00302 14.5015 7.00302C15.3308 7.00302 16.003 6.33077 16.003 5.50151C16.003 4.67225 15.3308 4 14.5015 4ZM14.5 13C13.6716 13 13 13.6716 13 14.5C13 15.3284 13.6716 16 14.5 16C15.3284 16 16 15.3284 16 14.5C16 13.6716 15.3284 13 14.5 13ZM4 10C4 10.8284 4.67157 11.5 5.5 11.5C6.32843 11.5 7 10.8284 7 10C7 9.17157 6.32843 8.5 5.5 8.5C4.67157 8.5 4 9.17157 4 10Z\"\n    }));\n  },\n  displayName: 'ShareAltIcon'\n});\n//# sourceMappingURL=ShareAltIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ShareGenericIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M13.3298 12.8377L17.8269 8.41512L17.8841 8.34968C18.0558 8.12058 18.0367 7.78916 17.8268 7.58283L13.3297 3.16165L13.268 3.10864C12.9078 2.83964 12.3776 3.09805 12.3776 3.57782V5.70757L12.153 5.72268C8.59039 6.00547 6.50344 8.25989 6.00472 12.3501C5.94067 12.8754 6.54318 13.2042 6.93261 12.8564C8.36448 11.5779 9.84382 10.784 11.3776 10.4657C11.6236 10.4147 11.871 10.3759 12.1199 10.3493L12.3776 10.3261V12.4216L12.3829 12.5039C12.4429 12.9566 12.992 13.1699 13.3298 12.8377ZM12.2263 6.72L13.3776 6.64256V4.61104L16.8238 7.99905L13.3776 11.3882V9.23223L12.022 9.35403L12.0136 9.35493C10.3113 9.53692 8.70337 10.2189 7.18674 11.3555C7.48493 10.0174 7.99417 9.01008 8.6632 8.28852C9.49235 7.39426 10.6526 6.84605 12.2263 6.72Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 4C4.11929 4 3 5.11929 3 6.5V14.5C3 15.8807 4.11929 17 5.5 17H13.5C14.8807 17 16 15.8807 16 14.5V13.5C16 13.2239 15.7761 13 15.5 13C15.2239 13 15 13.2239 15 13.5V14.5C15 15.3284 14.3284 16 13.5 16H5.5C4.67157 16 4 15.3284 4 14.5V6.5C4 5.67157 4.67157 5 5.5 5H8.5C8.77614 5 9 4.77614 9 4.5C9 4.22386 8.77614 4 8.5 4H5.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.3776 5.70757V3.57782C12.3776 3.09805 12.9078 2.83964 13.268 3.10864L13.3297 3.16165L17.8268 7.58283C18.0367 7.78916 18.0558 8.12058 17.8841 8.34968L17.8269 8.41512L13.3298 12.8377C12.992 13.1699 12.4429 12.9566 12.3829 12.5039L12.3776 12.4216V10.3261L12.1199 10.3493C10.3196 10.5417 8.59416 11.3728 6.93261 12.8564C6.54318 13.2042 5.94067 12.8754 6.00472 12.3501C6.50344 8.25989 8.59039 6.00547 12.153 5.72268L12.3776 5.70757Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 4C4.11929 4 3 5.11929 3 6.5V14.5C3 15.8807 4.11929 17 5.5 17H13.5C14.8807 17 16 15.8807 16 14.5V13.5C16 13.2239 15.7761 13 15.5 13C15.2239 13 15 13.2239 15 13.5V14.5C15 15.3284 14.3284 16 13.5 16H5.5C4.67157 16 4 15.3284 4 14.5V6.5C4 5.67157 4.67157 5 5.5 5H8.5C8.77614 5 9 4.77614 9 4.5C9 4.22386 8.77614 4 8.5 4H5.5Z\"\n    })));\n  },\n  displayName: 'ShareGenericIcon'\n});\n//# sourceMappingURL=ShareGenericIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ShareLocationIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes,\n        props = _ref.props;\n    return props.size === 'small' ? /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"-2 -2 22 22\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.52819 3.01199C8.68354 3.00169 8.84034 2.99646 8.99843 2.99646C12.8644 2.99646 15.9984 6.13047 15.9984 9.99646C15.9984 10.1557 15.9931 10.3136 15.9827 10.47C15.9643 10.7455 16.1728 10.9838 16.4483 11.0022C16.7238 11.0206 16.9621 10.8121 16.9805 10.5366C16.9924 10.358 16.9984 10.1779 16.9984 9.99646C16.9984 5.57818 13.4167 1.99646 8.99843 1.99646C8.81827 1.99646 8.63942 2.00242 8.46208 2.01417C8.18654 2.03243 7.97797 2.2706 7.99623 2.54614C8.01449 2.82168 8.25266 3.03024 8.52819 3.01199Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.99925 4.98399C8.01106 4.7081 8.24429 4.49402 8.52018 4.50584C11.7562 4.64442 14.3543 7.24268 14.4927 10.4787C14.5045 10.7546 14.2904 10.9878 14.0145 10.9996C13.7387 11.0114 13.5054 10.7973 13.4936 10.5215C13.3774 7.8041 11.1947 5.62129 8.47739 5.50492C8.20151 5.49311 7.98743 5.25988 7.99925 4.98399Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.03639 16.3977L7.14591 17.4998C7.34088 17.6933 7.65588 17.6929 7.85084 17.4994L8.98513 16.3725C9.59899 15.7624 10.307 15.058 10.6816 14.6834C12.4398 12.9253 12.4398 10.0747 10.6816 8.31655C8.92345 6.55838 6.07289 6.55838 4.31472 8.31655C2.55655 10.0747 2.55655 12.9253 4.31472 14.6834C4.72286 15.0916 5.43088 15.7959 6.03639 16.3977ZM7.49844 12.6217C6.87699 12.6217 6.37322 12.1179 6.37322 11.4964C6.37322 10.875 6.87699 10.3712 7.49844 10.3712C8.11988 10.3712 8.62365 10.875 8.62365 11.4964C8.62365 12.1179 8.11988 12.6217 7.49844 12.6217Z\"\n    })) : /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.52819 3.01199C8.68354 3.00169 8.84034 2.99646 8.99843 2.99646C12.8644 2.99646 15.9984 6.13047 15.9984 9.99646C15.9984 10.1557 15.9931 10.3136 15.9827 10.47C15.9643 10.7455 16.1728 10.9838 16.4483 11.0022C16.7238 11.0206 16.9621 10.8121 16.9805 10.5366C16.9924 10.358 16.9984 10.1779 16.9984 9.99646C16.9984 5.57818 13.4167 1.99646 8.99843 1.99646C8.81827 1.99646 8.63942 2.00242 8.46208 2.01417C8.18654 2.03243 7.97797 2.2706 7.99623 2.54614C8.01449 2.82168 8.25266 3.03024 8.52819 3.01199Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.99925 4.98399C8.01106 4.7081 8.24429 4.49402 8.52018 4.50584C11.7562 4.64442 14.3543 7.24268 14.4927 10.4787C14.5045 10.7546 14.2904 10.9878 14.0145 10.9996C13.7387 11.0114 13.5054 10.7973 13.4936 10.5215C13.3774 7.8041 11.1947 5.62129 8.47739 5.50492C8.20151 5.49311 7.98743 5.25988 7.99925 4.98399Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.03639 16.3977L7.14591 17.4998C7.34088 17.6933 7.65588 17.6929 7.85084 17.4994L8.98513 16.3725C9.59899 15.7624 10.307 15.058 10.6816 14.6834C12.4398 12.9253 12.4398 10.0747 10.6816 8.31655C8.92345 6.55838 6.07289 6.55838 4.31472 8.31655C2.55655 10.0747 2.55655 12.9253 4.31472 14.6834C4.72286 15.0916 5.43088 15.7959 6.03639 16.3977ZM7.49844 12.6217C6.87699 12.6217 6.37322 12.1179 6.37322 11.4964C6.37322 10.875 6.87699 10.3712 7.49844 10.3712C8.11988 10.3712 8.62365 10.875 8.62365 11.4964C8.62365 12.1179 8.11988 12.6217 7.49844 12.6217Z\"\n    }));\n  },\n  displayName: 'ShareLocationIcon'\n});\n//# sourceMappingURL=ShareLocationIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ShareToIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 5.5C19 7.98528 16.9853 10 14.5 10C12.0147 10 10 7.98528 10 5.5C10 3.01472 12.0147 1 14.5 1C16.9853 1 19 3.01472 19 5.5ZM16.8532 5.85395L16.8557 5.85143C16.9026 5.80398 16.938 5.74949 16.9621 5.69139C16.9861 5.63331 16.9996 5.5697 17 5.503L17 5.5L17 5.497C16.9996 5.4303 16.9861 5.36669 16.9621 5.30861C16.9377 5.24964 16.9015 5.19439 16.8536 5.14645L14.8536 3.14645C14.6583 2.95118 14.3417 2.95118 14.1464 3.14645C13.9512 3.34171 13.9512 3.65829 14.1464 3.85355L15.2929 5H12.5C12.2239 5 12 5.22386 12 5.5C12 5.77614 12.2239 6 12.5 6L15.2929 6L14.1464 7.14645C13.9512 7.34171 13.9512 7.65829 14.1464 7.85355C14.3417 8.04881 14.6583 8.04882 14.8536 7.85355L16.8532 5.85395Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 13V10.4003C17.3578 10.2174 17.6929 9.99647 18 9.74284V13C18 14.1046 17.1046 15 16 15H4C2.89543 15 2 14.1046 2 13V6C2 4.89543 2.89543 4 4 4H9.20703C9.11588 4.32228 9.05337 4.65659 9.02242 5H4C3.44772 5 3 5.44772 3 6V13C3 13.5523 3.44772 14 4 14H16C16.5523 14 17 13.5523 17 13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 16.5C5 16.2239 5.22386 16 5.5 16H14.5C14.7761 16 15 16.2239 15 16.5C15 16.7761 14.7761 17 14.5 17H5.5C5.22386 17 5 16.7761 5 16.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 5.5C19 7.98528 16.9853 10 14.5 10C12.0147 10 10 7.98528 10 5.5C10 3.01472 12.0147 1 14.5 1C16.9853 1 19 3.01472 19 5.5ZM16.8532 5.85395L16.8557 5.85143C16.9026 5.80398 16.938 5.74949 16.9621 5.69139C16.9861 5.63331 16.9996 5.5697 17 5.503L17 5.5L17 5.497C16.9996 5.4303 16.9861 5.36669 16.9621 5.30861C16.9377 5.24964 16.9015 5.19439 16.8536 5.14645L14.8536 3.14645C14.6583 2.95118 14.3417 2.95118 14.1464 3.14645C13.9512 3.34171 13.9512 3.65829 14.1464 3.85355L15.2929 5H12.5C12.2239 5 12 5.22386 12 5.5C12 5.77614 12.2239 6 12.5 6L15.2929 6L14.1464 7.14645C13.9512 7.34171 13.9512 7.65829 14.1464 7.85355C14.3417 8.04881 14.6583 8.04882 14.8536 7.85355L16.8532 5.85395Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 11C15.8296 11 17.0491 10.5282 18 9.74284V13C18 14.1046 17.1046 15 16 15H4C2.89543 15 2 14.1046 2 13V6C2 4.89543 2.89543 4 4 4H9.20703C9.07217 4.47683 9 4.97999 9 5.5C9 8.53757 11.4624 11 14.5 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 16C5.22386 16 5 16.2239 5 16.5C5 16.7761 5.22386 17 5.5 17H14.5C14.7761 17 15 16.7761 15 16.5C15 16.2239 14.7761 16 14.5 16H5.5Z\"\n    })));\n  },\n  displayName: 'ShareToIcon'\n});\n//# sourceMappingURL=ShareToIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ShieldKeyholeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M11.5 9C11.5 9.65311 11.0826 10.2087 10.5 10.4146V12.5C10.5 12.7761 10.2761 13 10 13C9.72386 13 9.5 12.7761 9.5 12.5V10.4146C8.9174 10.2087 8.5 9.65311 8.5 9C8.5 8.17157 9.17157 7.5 10 7.5C10.8284 7.5 11.5 8.17157 11.5 9ZM10.2774 2.08397C10.1094 1.97201 9.8906 1.97201 9.72265 2.08397C7.78446 3.3761 5.68833 4.1823 3.42929 4.50503C3.18296 4.54021 3 4.75117 3 5V9.5C3 13.3913 5.30699 16.2307 9.82051 17.9667C9.93605 18.0111 10.064 18.0111 10.1795 17.9667C14.693 16.2307 17 13.3913 17 9.5V5C17 4.75117 16.817 4.54021 16.5707 4.50503C14.3117 4.1823 12.2155 3.3761 10.2774 2.08397ZM4 5.42787C5.98541 5.09055 7.85275 4.39606 9.59914 3.34583L10 3.09715L10.4009 3.34583C12.1473 4.39606 14.0146 5.09055 16 5.42787V9.5C16 12.892 14.0321 15.3634 10 16.9632C5.96795 15.3634 4 12.892 4 9.5V5.42787Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10.2774 2.08397C10.1094 1.97201 9.8906 1.97201 9.72265 2.08397C7.78446 3.3761 5.68833 4.1823 3.42929 4.50503C3.18296 4.54021 3 4.75117 3 5V9.5C3 13.3913 5.30699 16.2307 9.82051 17.9667C9.93605 18.0111 10.064 18.0111 10.1795 17.9667C14.693 16.2307 17 13.3913 17 9.5V5C17 4.75117 16.817 4.54021 16.5707 4.50503C14.3117 4.1823 12.2155 3.3761 10.2774 2.08397ZM11.5 9C11.5 9.65311 11.0826 10.2087 10.5 10.4146V12.5C10.5 12.7761 10.2761 13 10 13C9.72386 13 9.5 12.7761 9.5 12.5V10.4146C8.9174 10.2087 8.5 9.65311 8.5 9C8.5 8.17157 9.17157 7.5 10 7.5C10.8284 7.5 11.5 8.17157 11.5 9Z\"\n    }));\n  },\n  displayName: 'ShieldKeyholeIcon'\n});\n//# sourceMappingURL=ShieldKeyholeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var Shift24hIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.40945 7.53975C6.68487 7.26013 7.12612 6.99609 7.76953 6.99609C8.65249 6.99609 9.25105 7.55952 9.46843 8.23378C9.68014 8.89045 9.5458 9.69315 8.96526 10.2349C8.74399 10.4414 8.48366 10.6156 8.25438 10.768L8.22753 10.7858C7.99735 10.9388 7.79113 11.0759 7.60657 11.2331C7.36004 11.443 7.16543 11.6766 7.06813 12H9.00014C9.27628 12 9.50014 12.2238 9.50014 12.5C9.50014 12.7761 9.27628 13 9.00014 13H6.50004C6.36743 13 6.24025 12.9473 6.14648 12.8535C6.05271 12.7598 6.00003 12.6326 6.00004 12.5C6.00006 11.5252 6.44062 10.9126 6.95818 10.4718C7.18961 10.2747 7.44161 10.1073 7.65975 9.96246L7.70073 9.93524C7.93963 9.7764 8.13128 9.64543 8.28296 9.50387C8.54692 9.25753 8.62401 8.87358 8.51667 8.54062C8.415 8.22526 8.16403 7.99609 7.76953 7.99609C7.42851 7.99609 7.23506 8.12658 7.12189 8.24148C7.06128 8.30301 7.01991 8.36467 6.9946 8.40915C6.98213 8.43106 6.97418 8.44771 6.97022 8.45651L6.96775 8.46215C6.8713 8.71716 6.58762 8.84833 6.3303 8.7554C6.07057 8.6616 5.93607 8.37502 6.02987 8.11529L6.05839 8.04594C6.07385 8.0116 6.09586 7.9666 6.12548 7.91454C6.18437 7.81107 6.27577 7.67547 6.40945 7.53975Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.5001 7C11.7762 7.00001 12.0001 7.22387 12.0001 7.50002L12 9.5H13V7.5C13 7.22386 13.2239 7 13.5 7C13.7761 7 14 7.22386 14 7.5V12.5C14 12.7761 13.7761 13 13.5 13C13.2239 13 13 12.7761 13 12.5V10.5H11.5C11.3674 10.5 11.2402 10.4473 11.1464 10.3535C11.0527 10.2598 11 10.1326 11 9.99998L11.0001 7.49998C11.0001 7.22384 11.2239 6.99999 11.5001 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 3C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H14.5C15.8807 17 17 15.8807 17 14.5V5.5C17 4.11929 15.8807 3 14.5 3H5.5ZM4 5.5C4 4.67157 4.67157 4 5.5 4H14.5C15.3284 4 16 4.67157 16 5.5V14.5C16 15.3284 15.3284 16 14.5 16H5.5C4.67157 16 4 15.3284 4 14.5V5.5Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3 5.5C3 4.11929 4.11929 3 5.5 3H14.5C15.8807 3 17 4.11929 17 5.5V14.5C17 15.8807 15.8807 17 14.5 17H5.5C4.11929 17 3 15.8807 3 14.5V5.5ZM6.40945 7.53975C6.27577 7.67547 6.18437 7.81107 6.12548 7.91454C6.09586 7.9666 6.07385 8.0116 6.05839 8.04594L6.02987 8.11529C5.93607 8.37502 6.07057 8.6616 6.3303 8.7554C6.58762 8.84833 6.8713 8.71716 6.96775 8.46215L6.97022 8.45651C6.97418 8.44771 6.98213 8.43106 6.9946 8.40915C7.01991 8.36467 7.06128 8.30301 7.12189 8.24148C7.23506 8.12658 7.42851 7.99609 7.76953 7.99609C8.16403 7.99609 8.415 8.22526 8.51667 8.54062C8.62401 8.87358 8.54692 9.25753 8.28296 9.50387C8.13128 9.64543 7.93963 9.7764 7.70073 9.93524L7.65976 9.96245C7.44161 10.1073 7.18961 10.2747 6.95818 10.4718C6.44062 10.9126 6.00006 11.5252 6.00004 12.5C6.00003 12.6326 6.05271 12.7598 6.14648 12.8535C6.24025 12.9473 6.36743 13 6.50004 13H9.00014C9.27628 13 9.50014 12.7761 9.50014 12.5C9.50014 12.2238 9.27628 12 9.00014 12H7.06813C7.16543 11.6766 7.36004 11.443 7.60657 11.2331C7.79113 11.0759 7.99735 10.9388 8.22753 10.7858L8.25438 10.768C8.48366 10.6156 8.74399 10.4414 8.96526 10.2349C9.5458 9.69315 9.68014 8.89045 9.46843 8.23378C9.25105 7.55952 8.65249 6.99609 7.76953 6.99609C7.12612 6.99609 6.68487 7.26013 6.40945 7.53975ZM11.5001 7C11.2239 6.99999 11.0001 7.22384 11.0001 7.49998L11 9.99998C11 10.1326 11.0527 10.2598 11.1464 10.3535C11.2402 10.4473 11.3674 10.5 11.5 10.5H13V12.5C13 12.7761 13.2239 13 13.5 13C13.7761 13 14 12.7761 14 12.5V7.5C14 7.22386 13.7761 7 13.5 7C13.2239 7 13 7.22386 13 7.5V9.5H12L12.0001 7.50002C12.0001 7.22387 11.7762 7.00001 11.5001 7Z\"\n    }));\n  },\n  displayName: 'Shift24hIcon'\n});\n//# sourceMappingURL=Shift24hIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ShiftActivityIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.0024 2.48352C10.0204 2.75907 9.8116 2.99706 9.53604 3.01507C5.88659 3.25361 3 6.28989 3 9.99995C3 13.8659 6.13401 17 10 17C13.7105 17 16.747 14.1127 16.985 10.4627C17.0029 10.1872 17.2409 9.97835 17.5164 9.99631C17.792 10.0143 18.0008 10.2522 17.9828 10.5278C17.7108 14.7002 14.241 18 10 18C5.58172 18 2 14.4182 2 9.99995C2 5.75946 5.29899 2.28988 9.47082 2.0172C9.74637 1.99919 9.98436 2.20796 10.0024 2.48352Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.0071 2.55024C11.062 2.27959 11.3258 2.10464 11.5964 2.15947C12.1561 2.27285 12.6946 2.44464 13.2053 2.66819C13.4583 2.77893 13.5736 3.07377 13.4628 3.32673C13.3521 3.5797 13.0573 3.695 12.8043 3.58426C12.3579 3.38884 11.8872 3.23868 11.3979 3.13956C11.1272 3.08473 10.9523 2.82088 11.0071 2.55024Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.3358 6.80347C17.2254 6.55037 16.9307 6.43471 16.6776 6.54514C16.4245 6.65557 16.3089 6.95027 16.4193 7.20337C16.6128 7.64691 16.7617 8.11436 16.8602 8.60011C16.9151 8.87074 17.179 9.04562 17.4497 8.99071C17.7203 8.93581 17.8952 8.67191 17.8403 8.40128C17.7275 7.84563 17.5572 7.31083 17.3358 6.80347Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.4148 3.91597C14.5916 3.70385 14.9068 3.67521 15.119 3.85202C15.5074 4.1758 15.8647 4.53571 16.1857 4.92661C16.3609 5.14003 16.33 5.45509 16.1165 5.63033C15.9031 5.80556 15.588 5.7746 15.4128 5.56118C15.1318 5.21889 14.8189 4.90371 14.4787 4.62018C14.2666 4.44338 14.238 4.12809 14.4148 3.91597Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 5.5C10 5.22386 9.77614 5 9.5 5C9.22386 5 9 5.22386 9 5.5V10.5C9 10.7761 9.22386 11 9.5 11H12.5C12.7761 11 13 10.7761 13 10.5C13 10.2239 12.7761 10 12.5 10H10V5.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.99925 2.70657C10.0415 3.11863 9.74166 3.48689 9.3296 3.52911C6.05282 3.86486 3.49609 6.63447 3.49609 10.0003C3.49609 13.5931 6.40865 16.5057 10.0015 16.5057C13.3669 16.5057 16.1363 13.9495 16.4725 10.6733C16.5148 10.2612 16.8831 9.96147 17.2952 10.0038C17.7072 10.046 18.007 10.4144 17.9647 10.8264C17.5507 14.8599 14.1439 18.0057 10.0015 18.0057C5.58023 18.0057 1.99609 14.4215 1.99609 10.0003C1.99609 5.85734 5.14259 2.45027 9.17671 2.03692C9.58877 1.9947 9.95703 2.29451 9.99925 2.70657Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.0196 2.64066C11.116 2.23782 11.5207 1.98942 11.9235 2.08584C12.3023 2.1765 12.6708 2.29373 13.0268 2.43544C13.4117 2.58861 13.5995 3.02476 13.4463 3.40961C13.2932 3.79447 12.857 3.98228 12.4722 3.82911C12.1824 3.71379 11.8826 3.61841 11.5744 3.54463C11.1715 3.44822 10.9231 3.04349 11.0196 2.64066Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17.5656 6.97335C17.4124 6.58852 16.9762 6.40078 16.5914 6.55402C16.2066 6.70726 16.0188 7.14345 16.1721 7.52827C16.2875 7.81815 16.383 8.11811 16.4568 8.42649C16.5533 8.82932 16.958 9.07767 17.3609 8.98121C17.7637 8.88475 18.012 8.48 17.9156 8.07718C17.8248 7.69821 17.7075 7.32956 17.5656 6.97335Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.2919 3.92605C14.5638 3.61356 15.0375 3.58065 15.35 3.85253C15.6571 4.11977 15.9439 4.40975 16.2078 4.71988C16.4762 5.03535 16.4381 5.50869 16.1226 5.77712C15.8071 6.04554 15.3338 6.0074 15.0654 5.69193C14.8501 5.43887 14.616 5.20223 14.3654 4.98416C14.0529 4.71227 14.02 4.23854 14.2919 3.92605Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.0017 5.75C10.0017 5.33579 9.66592 5 9.25171 5C8.8375 5 8.50171 5.33579 8.50171 5.75V10.75C8.50171 11.1642 8.8375 11.5 9.25171 11.5H12.2517C12.6659 11.5 13.0017 11.1642 13.0017 10.75C13.0017 10.3358 12.6659 10 12.2517 10H10.0017V5.75Z\"\n    })));\n  },\n  displayName: 'ShiftActivityIcon'\n});\n//# sourceMappingURL=ShiftActivityIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var SkypeLogoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M9.1501 2.5C10.175 2.5 11.1916 2.74086 12.1155 3.19879C12.7373 3.08998 13.3725 3.03481 14.0055 3.03481C15.4751 3.03481 16.9022 3.32397 18.2441 3.89373C19.5409 4.44309 20.7069 5.23084 21.704 6.23156C22.7039 7.23279 23.4895 8.40036 24.0383 9.7006C24.6061 11.0446 24.8939 12.4747 24.8939 13.9487C24.8939 14.5491 24.8431 15.1538 24.7435 15.752C25.2392 16.7031 25.5 17.7621 25.5 18.8359C25.5 20.6158 24.8075 22.2919 23.5524 23.5478C22.2977 24.8067 20.6273 25.5 18.851 25.5C17.7639 25.5 16.6952 25.2326 15.7369 24.7236C15.162 24.8163 14.5802 24.8637 14.0055 24.8637C12.5359 24.8637 11.1076 24.5741 9.76736 24.0039C8.47342 23.4574 7.30878 22.6701 6.30571 21.6657C5.30608 20.6636 4.5209 19.4957 3.97382 18.1969C3.40546 16.8516 3.1171 15.4214 3.1171 13.9487C3.1171 13.523 3.14277 13.0943 3.19335 12.6668L3.2522 12.2401L3.1114 11.9528C2.71014 11.0817 2.5 10.1291 2.5 9.1652C2.5 7.38618 3.19213 5.71086 4.44671 4.452C5.70192 3.19371 7.37361 2.5 9.1501 2.5ZM9.1501 3.5C7.63926 3.5 6.2223 4.08801 5.15485 5.15807C4.08726 6.22931 3.5 7.65078 3.5 9.1652C3.5 10.1255 3.74565 11.0733 4.21048 11.9109C4.26588 12.0107 4.28545 12.1265 4.26595 12.239C4.16743 12.8071 4.1171 13.3816 4.1171 13.9487C4.1171 15.288 4.37878 16.5859 4.8952 17.8082C5.39238 18.9886 6.10497 20.0485 7.01348 20.9592C7.92543 21.8724 8.98205 22.5867 10.1576 23.0832C11.3749 23.6011 12.67 23.8637 14.0055 23.8637C14.5795 23.8637 15.1628 23.8114 15.7375 23.7093C15.852 23.689 15.9701 23.7093 16.0714 23.7666C16.9194 24.247 17.8765 24.5 18.851 24.5C20.3616 24.5 21.7771 23.9125 22.8445 22.8414C23.9126 21.7728 24.5 20.351 24.5 18.8359C24.5 17.8724 24.2528 16.9224 23.7842 16.0795C23.7279 15.9782 23.7085 15.8606 23.7294 15.7466C23.8383 15.1506 23.8939 14.5467 23.8939 13.9487C23.8939 12.608 23.6328 11.3103 23.1171 10.0896C22.6183 8.90798 21.9053 7.84831 20.996 6.9378C20.0896 6.02816 19.0318 5.31344 17.8537 4.81435C16.6353 4.29704 15.341 4.03481 14.0055 4.03481C13.3775 4.03481 12.7468 4.0946 12.1328 4.21223C12.0212 4.23362 11.9056 4.21634 11.8051 4.16322C10.9833 3.72891 10.0697 3.5 9.1501 3.5ZM18.7816 10.3293C18.7816 8.71291 16.1946 7.5 14 7.5C11.6176 7.5 9.08074 8.51165 9.08074 11.206C9.08074 12.5037 9.54416 13.8843 12.0979 14.5247L15.2688 15.3163C16.2283 15.5528 16.4685 16.0927 16.4685 16.5796C16.4685 17.3894 15.6639 18.1806 14.2066 18.1806C12.5632 18.1806 12.0003 17.4504 11.5245 16.8332C11.1762 16.3813 10.8745 15.99 10.2297 15.99C9.54416 15.99 9.04675 16.4622 9.04675 17.136C9.04675 18.4495 10.6416 20.2022 14.2066 20.2022C17.5987 20.2022 19.2794 18.5673 19.2794 16.3777C19.2794 14.9639 18.6275 13.4629 16.0566 12.8901L13.7096 12.3691C12.817 12.1659 11.7892 11.897 11.7892 11.0553C11.7892 10.2119 12.5101 9.62259 13.8115 9.62259C15.3501 9.62259 15.9036 10.2428 16.3612 10.7556C16.6837 11.1169 16.9585 11.4248 17.4967 11.4248C18.1819 11.4248 18.7816 11.0219 18.7816 10.3293Z\"\n    }));\n  },\n  displayName: 'SkypeLogoIcon'\n});\n//# sourceMappingURL=SkypeLogoIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SpeakerMuteIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.996 3.006c0-.873-1.04-1.327-1.68-.733L6.444 5.866a.5.5 0 01-.34.134H3.496a1.5 1.5 0 00-1.5 1.5v5a1.5 1.5 0 001.5 1.5h2.608a.5.5 0 01.34.133l3.872 3.594c.64.594 1.68.14 1.68-.733V3.006zM7.124 6.6l3.872-3.593v13.988L7.124 13.4a1.5 1.5 0 00-1.02-.4H3.496a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5h2.608a1.5 1.5 0 001.02-.4zM13.143 7.646a.5.5 0 01.707 0l1.646 1.647 1.646-1.647a.5.5 0 11.708.708L16.203 10l1.647 1.646a.5.5 0 01-.708.708l-1.646-1.647-1.646 1.647a.5.5 0 01-.707-.708L14.788 10l-1.646-1.646a.5.5 0 010-.708z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.996 3.006c0-.873-1.04-1.327-1.68-.733L6.444 5.867a.5.5 0 01-.34.133H3.496a1.5 1.5 0 00-1.5 1.5v5a1.5 1.5 0 001.5 1.5h2.608a.5.5 0 01.34.133l3.872 3.594c.64.594 1.68.14 1.68-.733V3.006zM13.143 7.646a.5.5 0 01.707 0l1.646 1.647 1.646-1.647a.5.5 0 11.708.708L16.203 10l1.647 1.646a.5.5 0 01-.708.708l-1.646-1.647-1.646 1.647a.5.5 0 01-.707-.708L14.788 10l-1.646-1.646a.5.5 0 010-.708z\"\n    })));\n  },\n  displayName: 'SpeakerMuteIcon'\n});\n//# sourceMappingURL=SpeakerMuteIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SpeakerPersonIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 7C8 5.89543 8.89543 5 10 5C11.1046 5 12 5.89543 12 7C12 8.10457 11.1046 9 10 9C8.89543 9 8 8.10457 8 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.49998 10L12.5 10C13.3284 10 14 10.6716 14 11.5C14 12.6161 13.541 13.5103 12.7879 14.1148C12.0466 14.7098 11.0531 15 10 15C8.94692 15 7.95342 14.7098 7.21215 14.1148C6.45897 13.5103 6 12.6161 6 11.5C6 10.6716 6.67156 10 7.49998 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2ZM3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18ZM8 7C8 5.89543 8.89543 5 10 5C11.1046 5 12 5.89543 12 7C12 8.10457 11.1046 9 10 9C8.89543 9 8 8.10457 8 7ZM7.49998 10L12.5 10C13.3284 10 14 10.6716 14 11.5C14 12.6161 13.541 13.5103 12.7879 14.1148C12.0466 14.7098 11.0531 15 10 15C8.94692 15 7.95342 14.7098 7.21215 14.1148C6.45897 13.5103 6 12.6161 6 11.5C6 10.6716 6.67156 10 7.49998 10Z\"\n    }));\n  },\n  displayName: 'SpeakerPersonIcon'\n});\n//# sourceMappingURL=SpeakerPersonIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SpotlightIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 5.5C2 4.67157 2.67157 4 3.5 4H16.5C17.3284 4 18 4.67157 18 5.5V10.2572C17.6929 10.0035 17.3578 9.78261 17 9.59971V5.5C17 5.22386 16.7761 5 16.5 5H3.5C3.22386 5 3 5.22386 3 5.5V14.5C3 14.7761 3.22386 15 3.5 15H6V13.5C6 12.6716 6.67157 12 7.5 12H9.59971C9.43777 12.3168 9.30564 12.6514 9.20703 13H7.5C7.22386 13 7 13.2239 7 13.5V15H9.02242C9.05337 15.3434 9.11588 15.6777 9.20703 16H3.5C2.67157 16 2 15.3284 2 14.5V5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 8.5C12.5 8.8372 12.4332 9.15881 12.3122 9.45233C11.5156 9.79808 10.8168 10.3269 10.269 10.9857C10.1806 10.9951 10.0909 11 10 11C8.61929 11 7.5 9.88071 7.5 8.5C7.5 7.11929 8.61929 6 10 6C11.3807 6 12.5 7.11929 12.5 8.5ZM10 10C10.8284 10 11.5 9.32843 11.5 8.5C11.5 7.67157 10.8284 7 10 7C9.17157 7 8.5 7.67157 8.5 8.5C8.5 9.32843 9.17157 10 10 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM14.976 11.8605C14.8262 11.3798 14.1738 11.3798 14.024 11.8605L13.5465 13.3923H12.0015C11.5166 13.3923 11.315 14.0391 11.7073 14.3362L12.9572 15.2829L12.4798 16.8146C12.33 17.2953 12.8578 17.6951 13.25 17.398L14.5 16.4513L15.75 17.398C16.1422 17.6951 16.67 17.2953 16.5202 16.8146L16.0428 15.2829L17.2927 14.3362C17.685 14.0391 17.4834 13.3923 16.9985 13.3923H15.4535L14.976 11.8605Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 5.5C2 4.67157 2.67157 4 3.5 4H16.5C17.3284 4 18 4.67157 18 5.5V10.2572C17.6929 10.0035 17.3578 9.78261 17 9.59971V5.5C17 5.22386 16.7761 5 16.5 5H3.5C3.22386 5 3 5.22386 3 5.5V14.5C3 14.7761 3.22386 15 3.5 15H6V13.5C6 12.6716 6.67157 12 7.5 12H9.59971C9.21628 12.7501 9 13.5998 9 14.5C9 15.02 9.07217 15.5232 9.20703 16H3.5C2.67157 16 2 15.3284 2 14.5V5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 8.5C12.5 8.8372 12.4332 9.15881 12.3122 9.45233C11.5156 9.79808 10.8168 10.3269 10.269 10.9857C10.1806 10.9951 10.0909 11 10 11C8.61929 11 7.5 9.88071 7.5 8.5C7.5 7.11929 8.61929 6 10 6C11.3807 6 12.5 7.11929 12.5 8.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM14.976 11.8605C14.8262 11.3798 14.1738 11.3798 14.024 11.8605L13.5465 13.3923H12.0015C11.5166 13.3923 11.315 14.0391 11.7073 14.3362L12.9572 15.2829L12.4798 16.8146C12.33 17.2953 12.8578 17.6951 13.25 17.398L14.5 16.4513L15.75 17.398C16.1422 17.6951 16.67 17.2953 16.5202 16.8146L16.0428 15.2829L17.2927 14.3362C17.685 14.0391 17.4834 13.3923 16.9985 13.3923H15.4535L14.976 11.8605Z\"\n    })));\n  },\n  displayName: 'SpotlightIcon'\n});\n//# sourceMappingURL=SpotlightIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SpotlightStopIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L3.30539 4.01251C2.5689 4.10792 2 4.73752 2 5.5V14.5C2 15.3284 2.67157 16 3.5 16H9.20703C9.11588 15.6777 9.05337 15.3434 9.02242 15H7V13.5C7 13.2239 7.22386 13 7.5 13H9.20703C9.30564 12.6514 9.43777 12.3168 9.59971 12H7.5C6.67157 12 6 12.6716 6 13.5V15H3.5C3.22386 15 3 14.7761 3 14.5V5.5C3 5.22386 3.22386 5 3.5 5H4.29288L7.51524 8.22236C7.50517 8.31352 7.5 8.40616 7.5 8.5C7.5 9.88071 8.61929 11 10 11C10.0909 11 10.1806 10.9952 10.269 10.9857C10.2705 10.984 10.2719 10.9822 10.2734 10.9805L10.984 11.6912C10.3682 12.461 10 13.4375 10 14.5C10 16.9853 12.0147 19 14.5 19C15.5838 19 16.5781 18.6168 17.3549 17.9786C17.5257 18.0302 17.7186 17.9885 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1465L2.85355 2.14646ZM16.4965 17.2036C16.37 17.4707 16.0263 17.6073 15.75 17.398L14.5 16.4513L13.25 17.398C12.8578 17.6951 12.33 17.2953 12.4798 16.8146L12.9572 15.2829L11.7073 14.3362C11.315 14.0391 11.5166 13.3923 12.0015 13.3923H12.6852L16.4965 17.2036Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.57011 6.44902L9.29615 7.17505C9.50604 7.06332 9.74563 7 10 7C10.8284 7 11.5 7.67157 11.5 8.5C11.5 8.75437 11.4367 8.99396 11.3249 9.20385L11.8181 9.69704C11.9781 9.60754 12.1429 9.5258 12.3122 9.45233C12.4332 9.15881 12.5 8.8372 12.5 8.5C12.5 7.11929 11.3807 6 10 6C9.46827 6 8.9753 6.16601 8.57011 6.44902Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5597 10.4386L14.0139 11.8928L14.024 11.8605C14.1738 11.3798 14.8262 11.3798 14.976 11.8605L15.4264 13.3053L15.5134 13.3923H16.9985C17.4834 13.3923 17.685 14.0391 17.2927 14.3362L16.8173 14.6962L18.5614 16.4403C18.8425 15.8528 19 15.1948 19 14.5C19 12.0147 16.9853 10 14.5 10C13.8052 10 13.1472 10.1575 12.5597 10.4386Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.12109 4L7.12109 5H16.5C16.7761 5 17 5.22386 17 5.5V9.59971C17.3578 9.78261 17.6929 10.0035 18 10.2572V5.5C18 4.67157 17.3284 4 16.5 4H6.12109Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14646C2.65829 1.9512 2.34171 1.9512 2.14645 2.14646C1.95118 2.34172 1.95118 2.65831 2.14645 2.85357L3.30539 4.01251C2.5689 4.10792 2 4.73752 2 5.5V14.5C2 15.3284 2.67157 16 3.5 16H9.20703C9.07217 15.5232 9 15.02 9 14.5C9 13.5998 9.21628 12.7501 9.59971 12H7.5C6.67157 12 6 12.6716 6 13.5V15H3.5C3.22386 15 3 14.7761 3 14.5V5.5C3 5.22386 3.22386 5 3.5 5H4.29288L7.51524 8.22236C7.50517 8.31352 7.5 8.40616 7.5 8.5C7.5 9.88071 8.61929 11 10 11C10.0909 11 10.1806 10.9951 10.269 10.9857C10.2705 10.984 10.2719 10.9822 10.2734 10.9805L10.984 11.6912C10.3682 12.461 10 13.4375 10 14.5C10 16.9853 12.0147 19 14.5 19C15.5838 19 16.5781 18.6168 17.3549 17.9786C17.5257 18.0302 17.7186 17.9885 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1465L2.85355 2.14646ZM16.4965 17.2036C16.37 17.4707 16.0263 17.6073 15.75 17.398L14.5 16.4513L13.25 17.398C12.8578 17.6951 12.33 17.2953 12.4798 16.8146L12.9572 15.2829L11.7073 14.3362C11.315 14.0391 11.5166 13.3923 12.0015 13.3923H12.6852L16.4965 17.2036Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.57011 6.44902L11.8181 9.69704C11.9781 9.60754 12.1429 9.5258 12.3122 9.45233C12.4332 9.15881 12.5 8.8372 12.5 8.5C12.5 7.11929 11.3807 6 10 6C9.46827 6 8.9753 6.16601 8.57011 6.44902Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5597 10.4386L14.0139 11.8928L14.024 11.8605C14.1738 11.3798 14.8262 11.3798 14.976 11.8605L15.4264 13.3053L15.5134 13.3923H16.9985C17.4834 13.3923 17.685 14.0391 17.2927 14.3362L16.8173 14.6962L18.5614 16.4403C18.8425 15.8528 19 15.1948 19 14.5C19 12.0147 16.9853 10 14.5 10C13.8052 10 13.1472 10.1575 12.5597 10.4386Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.12109 4L7.12109 5H16.5C16.7761 5 17 5.22386 17 5.5V9.59971C17.3578 9.78261 17.6929 10.0035 18 10.2572V5.5C18 4.67157 17.3284 4 16.5 4H6.12109Z\"\n    })));\n  },\n  displayName: 'SpotlightStopIcon'\n});\n//# sourceMappingURL=SpotlightStopIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var StarIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M9.10433 2.89894C9.47114 2.15569 10.531 2.1557 10.8978 2.89894L12.8282 6.81044L17.1448 7.43768C17.9651 7.55686 18.2926 8.56484 17.699 9.14337L14.5755 12.188L15.3129 16.4872C15.453 17.3041 14.5956 17.9271 13.8619 17.5414L10.0011 15.5116L6.14018 17.5414C5.40655 17.9271 4.54913 17.3041 4.68924 16.4872L5.4266 12.188L2.30308 9.14337C1.70956 8.56483 2.03708 7.55686 2.8573 7.43768L7.17389 6.81044L9.10433 2.89894ZM10.0011 3.34151L8.07062 7.253C7.92496 7.54815 7.6434 7.75272 7.31769 7.80005L3.00109 8.42728L6.12461 11.472C6.3603 11.7017 6.46784 12.0327 6.41221 12.3571L5.67484 16.6562L9.53572 14.6265C9.82705 14.4733 10.1751 14.4733 10.4664 14.6265L14.3273 16.6562L13.5899 12.3571C13.5343 12.0327 13.6418 11.7017 13.8775 11.472L17.001 8.42728L12.6844 7.80005C12.3587 7.75272 12.0772 7.54815 11.9315 7.25301L10.0011 3.34151Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M9.10433 2.89894C9.47114 2.15569 10.531 2.1557 10.8978 2.89894L12.8282 6.81044L17.1448 7.43768C17.9651 7.55686 18.2926 8.56484 17.699 9.14337L14.5755 12.188L15.3129 16.4872C15.453 17.3041 14.5956 17.9271 13.8619 17.5414L10.0011 15.5116L6.14018 17.5414C5.40655 17.9271 4.54913 17.3041 4.68924 16.4872L5.4266 12.188L2.30308 9.14337C1.70956 8.56483 2.03708 7.55686 2.8573 7.43768L7.17389 6.81044L9.10433 2.89894Z\"\n    }));\n  },\n  displayName: 'StarIcon'\n});\n//# sourceMappingURL=StarIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var StickerIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.111 2c1.54 0 2.8 1.206 2.884 2.725l.005.164v6.041c0 .53-.19 1.042-.531 1.442l-.12.13-4.847 4.847c-.375.375-.87.602-1.396.644L10.93 18H4.89c-1.54 0-2.8-1.206-2.884-2.725L2 15.111V4.89c0-1.54 1.206-2.8 2.725-2.884L4.889 2H15.11zm-.08 1H4.97c-1.042 0-1.895.81-1.964 1.834L3 4.969V15.03c0 1.042.81 1.895 1.834 1.964l.135.005h6.029v-3.092a5.423 5.423 0 01-4.853-1.515.5.5 0 01.71-.704 4.426 4.426 0 004.18 1.189 2.51 2.51 0 01.02-.154c.384-1.032 1.352-1.655 2.502-1.72L13.72 11H17V4.969c0-1.042-.81-1.895-1.834-1.964L15.031 3zm1.554 9h-2.762c-.965 0-1.755.75-1.819 1.698l-.004.125v2.761l.087-.078 4.419-4.42a1.21 1.21 0 00.079-.086zM7 7a1 1 0 110 2 1 1 0 010-2zm6 0a1 1 0 110 2 1 1 0 010-2z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M15.111 2A2.889 2.889 0 0118 4.889V11h-4.221l-.19.007c-1.064.07-1.86.603-2.301 1.517-.052.1-.097.207-.135.321a4.419 4.419 0 01-4.298-1.156.5.5 0 00-.71.704 5.423 5.423 0 004.857 1.514L11 18H4.889A2.889 2.889 0 012 15.111V4.89A2.889 2.889 0 014.889 2H15.11zM18 12a2.235 2.235 0 01-.191.219l-5.59 5.59c-.07.068-.141.132-.217.19L12 13.741l.006-.143a1.742 1.742 0 011.584-1.591l.15-.007H18zM7 7a1 1 0 100 2 1 1 0 000-2zm6 0a1 1 0 100 2 1 1 0 000-2z\"\n    }));\n  },\n  displayName: 'StickerIcon'\n});\n//# sourceMappingURL=StickerIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var StrikeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.528 4.026C7.428 3.403 8.654 3 10 3c2.688 0 4.326 1.434 4.9 2.2a.5.5 0 01-.8.6C13.674 5.232 12.312 4 10 4c-1.153 0-2.178.347-2.903.849C6.36 5.359 6 5.976 6 6.5c0 .909.432 1.484 1.167 1.933.362.22.784.403 1.248.567H6.23C5.498 8.43 5 7.637 5 6.5c0-.976.64-1.86 1.528-2.474zM16.5 10a.5.5 0 010 1h-2.73c.732.57 1.23 1.363 1.23 2.5 0 1.228-.721 2.12-1.677 2.681-.945.556-2.163.819-3.323.819-1.126 0-2.078-.128-2.893-.478-.827-.356-1.477-.925-2.023-1.745a.5.5 0 01.832-.554c.454.68.96 1.111 1.586 1.38C8.141 15.878 8.94 16 10 16c1.028 0 2.06-.237 2.817-.681.748-.44 1.183-1.047 1.183-1.819 0-.909-.432-1.484-1.167-1.933A6.651 6.651 0 0011.585 11H3.5a.5.5 0 010-1h13z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.252 3.702A6.56 6.56 0 0110 2.5c2.783 0 4.489 1.485 5.1 2.3a.75.75 0 01-1.2.9C13.511 5.182 12.217 4 10 4a5.06 5.06 0 00-2.877.923C6.331 5.489 6 6.105 6 6.5c0 .78.376 1.285 1.11 1.71.18.105.377.2.586.29H5.162c-.408-.523-.662-1.178-.662-2 0-1.105.794-2.114 1.752-2.798zM16.5 10a.75.75 0 010 1.5h-1.662c.408.523.662 1.178.662 2 0 1.358-.874 2.376-1.912 3.014-1.042.641-2.367.986-3.588.986-1.142 0-2.133-.129-2.992-.498-.877-.378-1.563-.982-2.132-1.836a.75.75 0 111.248-.832c.43.646.901 1.042 1.477 1.29.594.255 1.354.376 2.4.376.966 0 2.015-.28 2.801-.764C13.593 14.75 14 14.141 14 13.5c0-.78-.376-1.285-1.11-1.71-.18-.105-.377-.2-.586-.29H3.5a.75.75 0 010-1.5h13z\"\n    })));\n  },\n  displayName: 'StrikeIcon'\n});\n//# sourceMappingURL=StrikeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SurveyIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.85355 1.14645C9.65829 0.951184 9.34171 0.951184 9.14645 1.14645C8.95118 1.34171 8.95118 1.65829 9.14645 1.85355L10.2929 3H9.5C5.35786 3 2 6.35786 2 10.5C2 14.6421 5.35786 18 9.5 18C13.6421 18 17 14.6421 17 10.5C17 10.2239 16.7761 10 16.5 10C16.2239 10 16 10.2239 16 10.5C16 14.0899 13.0899 17 9.5 17C5.91015 17 3 14.0899 3 10.5C3 6.91015 5.91015 4 9.5 4H10.2929L9.14645 5.14645C8.95118 5.34171 8.95118 5.65829 9.14645 5.85355C9.34171 6.04882 9.65829 6.04882 9.85355 5.85355L11.8536 3.85355C12.0488 3.65829 12.0488 3.34171 11.8536 3.14645L9.85355 1.14645Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.3467 7.13976C13.5457 7.33125 13.5517 7.64778 13.3602 7.84673L9.51027 11.8467C9.41601 11.9447 9.28595 12 9.15002 12C9.0141 12 8.88403 11.9447 8.78978 11.8467L7.13975 10.1324C6.94826 9.93339 6.95431 9.61687 7.15327 9.42537C7.35223 9.23388 7.66876 9.23993 7.86025 9.4389L9.15003 10.779L12.6398 7.15327C12.8313 6.95431 13.1478 6.94826 13.3467 7.13976Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.78033 0.71967C9.48744 0.426777 9.01256 0.426777 8.71967 0.71967C8.42678 1.01256 8.42678 1.48744 8.71967 1.78033L9.93934 3H9.5C5.35786 3 2 6.35786 2 10.5C2 14.6421 5.35786 18 9.5 18C13.6421 18 17 14.6421 17 10.5C17 10.0858 16.6642 9.75 16.25 9.75C15.8358 9.75 15.5 10.0858 15.5 10.5C15.5 13.8137 12.8137 16.5 9.5 16.5C6.18629 16.5 3.5 13.8137 3.5 10.5C3.5 7.20664 6.15341 4.53301 9.43904 4.5003L8.71967 5.21967C8.42678 5.51256 8.42678 5.98744 8.71967 6.28033C9.01256 6.57322 9.48744 6.57322 9.78033 6.28033L12.0303 4.03033C12.3232 3.73744 12.3232 3.26256 12.0303 2.96967L9.78033 0.71967Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.5201 6.95963C13.8185 7.24688 13.8276 7.72166 13.5404 8.0201L9.69039 12.0201C9.549 12.167 9.35391 12.25 9.15002 12.25C8.94613 12.25 8.75104 12.167 8.60965 12.0201L6.95963 10.3057C6.67239 10.0073 6.68147 9.53249 6.97991 9.24525C7.27835 8.95801 7.75314 8.96709 8.04038 9.26553L9.15003 10.4185L12.4596 6.9799C12.7469 6.68146 13.2217 6.67239 13.5201 6.95963Z\"\n    })));\n  },\n  displayName: 'SurveyIcon'\n});\n//# sourceMappingURL=SurveyIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SwitchCameraIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 4.5C4 3.11929 5.11929 2 6.5 2H11.5C12.8807 2 14 3.11929 14 4.5V5.11308L15.8911 4.08241C16.3909 3.81003 17 4.17178 17 4.74096V9.25907C17 9.82825 16.3909 10.19 15.8911 9.91762L14 8.88695V9.5C14 10.8807 12.8807 12 11.5 12H6.5C5.11929 12 4 10.8807 4 9.5V4.5ZM14 7.74808L16 8.8381V5.16193L14 6.25195V7.74808ZM6.5 3C5.67157 3 5 3.67157 5 4.5V9.5C5 10.3284 5.67157 11 6.5 11H11.5C12.3284 11 13 10.3284 13 9.5V4.5C13 3.67157 12.3284 3 11.5 3H6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.66913 11.8888C3.34616 12.0121 3.06056 12.1486 2.82273 12.2986C2.40763 12.5603 2 12.9537 2 13.5C2 14.0463 2.40763 14.4397 2.82273 14.7014C3.26283 14.9789 3.86646 15.2103 4.56787 15.3973C5.97801 15.7734 7.89836 16 10 16C10.0985 16 10.1967 15.9995 10.2944 15.9985L9.14645 17.1464C8.95118 17.3417 8.95118 17.6583 9.14645 17.8536C9.34171 18.0488 9.65829 18.0488 9.85355 17.8536L11.8536 15.8536C12.0488 15.6583 12.0488 15.3417 11.8536 15.1464L9.85355 13.1464C9.65829 12.9512 9.34171 12.9512 9.14645 13.1464C8.95118 13.3417 8.95118 13.6583 9.14645 13.8536L10.2914 14.9985C10.1948 14.9995 10.0976 15 10 15C7.95951 15 6.12986 14.7789 4.82553 14.4311C4.16971 14.2562 3.67499 14.0566 3.35605 13.8555C3.0121 13.6387 3 13.506 3 13.5C3 13.494 3.0121 13.3613 3.35605 13.1445C3.63272 12.97 4.04166 12.7967 4.57329 12.6397C4.22446 12.4508 3.9173 12.1947 3.66913 11.8888Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.9238 12.3021C14.2165 12.0572 14.4618 11.7575 14.6439 11.4188C14.9212 11.4752 15.1845 11.5366 15.4321 11.6027C16.1335 11.7897 16.7372 12.0211 17.1773 12.2986C17.5924 12.5603 18 12.9537 18 13.5C18 14.0463 17.5924 14.4397 17.1773 14.7014C16.7372 14.9789 16.1335 15.2103 15.4321 15.3973C15.1661 15.4683 14.882 15.5339 14.5819 15.5937C14.278 15.6542 14 15.4175 14 15.1076C14 14.8633 14.176 14.6553 14.4155 14.6071C14.6845 14.553 14.9381 14.4941 15.1745 14.4311C15.8303 14.2562 16.325 14.0566 16.644 13.8555C16.9879 13.6387 17 13.506 17 13.5C17 13.494 16.9879 13.3613 16.644 13.1445C16.325 12.9434 15.8303 12.7438 15.1745 12.5689C14.7987 12.4687 14.3793 12.379 13.9238 12.3021Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 2C5.11929 2 4 3.11929 4 4.5V9.5C4 10.8807 5.11929 12 6.5 12H10.5C11.8807 12 13 10.8807 13 9.5V4.5C13 3.11929 11.8807 2 10.5 2H6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8911 9.91759L14 8.88693V5.11304L15.8911 4.08238C16.3909 3.81 17 4.17175 17 4.74093V9.25904C17 9.82822 16.3909 10.19 15.8911 9.91759Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.66913 11.8888C3.34616 12.0121 3.06056 12.1486 2.82273 12.2986C2.40763 12.5603 2 12.9537 2 13.5C2 14.0463 2.40763 14.4397 2.82273 14.7014C3.26283 14.9789 3.86646 15.2103 4.56787 15.3973C5.97801 15.7734 7.89836 16 10 16C10.0985 16 10.1967 15.9995 10.2944 15.9985L9.14645 17.1464C8.95118 17.3417 8.95118 17.6583 9.14645 17.8536C9.34171 18.0488 9.65829 18.0488 9.85355 17.8536L11.8536 15.8536C12.0488 15.6583 12.0488 15.3417 11.8536 15.1464L9.85355 13.1464C9.65829 12.9512 9.34171 12.9512 9.14645 13.1464C8.95118 13.3417 8.95118 13.6583 9.14645 13.8536L10.2914 14.9985C10.1948 14.9995 10.0976 15 10 15C7.95951 15 6.12986 14.7789 4.82553 14.4311C4.16971 14.2562 3.67499 14.0566 3.35605 13.8555C3.0121 13.6387 3 13.506 3 13.5C3 13.494 3.0121 13.3613 3.35605 13.1445C3.63272 12.97 4.04166 12.7967 4.57329 12.6397C4.22446 12.4508 3.9173 12.1947 3.66913 11.8888Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.0636 12.1776C13.3381 11.9173 13.5635 11.6056 13.7243 11.258C14.3496 11.3511 14.924 11.4672 15.4321 11.6027C16.1335 11.7897 16.7372 12.0211 17.1773 12.2986C17.5924 12.5603 18 12.9537 18 13.5C18 14.0463 17.5924 14.4397 17.1773 14.7014C16.7372 14.9789 16.1335 15.2103 15.4321 15.3973C15.1661 15.4683 14.882 15.5339 14.5819 15.5937C14.278 15.6542 14 15.4175 14 15.1076C14 14.8633 14.176 14.6553 14.4155 14.6071C14.6845 14.553 14.9381 14.4941 15.1745 14.4311C15.8303 14.2562 16.325 14.0566 16.644 13.8555C16.9879 13.6387 17 13.506 17 13.5C17 13.494 16.9879 13.3613 16.644 13.1445C16.325 12.9434 15.8303 12.7438 15.1745 12.5689C14.5724 12.4084 13.8585 12.2748 13.0636 12.1776Z\"\n    })));\n  },\n  displayName: 'SwitchCameraIcon'\n});\n//# sourceMappingURL=SwitchCameraIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var SyncIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.58575 3.63607C8.39049 3.44081 8.39049 3.12422 8.58575 2.92896L10.7071 0.807641C10.9023 0.612378 11.2189 0.612378 11.4142 0.80764C11.6094 1.0029 11.6094 1.31949 11.4142 1.51475L10.4173 2.5116C12.1948 2.61014 13.9451 3.33857 15.3032 4.69674C18.2322 7.62567 18.2322 12.3744 15.3032 15.3033C15.0463 15.5602 14.7752 15.7947 14.4924 16.0068C14.2714 16.1725 13.958 16.1276 13.7924 15.9067C13.6267 15.6858 13.6716 15.3724 13.8925 15.2067C14.1376 15.023 14.3728 14.8195 14.5961 14.5962C17.1345 12.0578 17.1345 7.94225 14.5961 5.40384C13.31 4.1177 11.6199 3.48327 9.93357 3.50037C9.90845 3.50063 9.88375 3.49903 9.85959 3.4957L11.4142 5.05028C11.6094 5.24554 11.6094 5.56213 11.4142 5.75739C11.2189 5.95265 10.9023 5.95265 10.7071 5.75739L8.58575 3.63607Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.4142 16.364C11.6094 16.5593 11.6094 16.8758 11.4142 17.0711L9.29286 19.1924C9.09759 19.3877 8.78101 19.3877 8.58575 19.1924C8.39049 18.9972 8.39049 18.6806 8.58575 18.4853L9.5826 17.4885C7.80516 17.3899 6.05486 16.6615 4.6967 15.3033C1.76777 12.3744 1.76777 7.62566 4.6967 4.69672C4.95358 4.43984 5.22468 4.20532 5.50756 3.99324C5.7285 3.8276 6.04189 3.87242 6.20754 4.09337C6.37318 4.31431 6.32836 4.6277 6.10741 4.79335C5.86233 4.97709 5.62708 5.18056 5.40381 5.40383C2.8654 7.94224 2.8654 12.0578 5.40381 14.5962C6.68995 15.8824 8.37999 16.5168 10.0664 16.4997C10.0915 16.4994 10.1162 16.501 10.1403 16.5044L8.58575 14.9498C8.39049 14.7545 8.39049 14.4379 8.58575 14.2427C8.78101 14.0474 9.09759 14.0474 9.29286 14.2427L11.4142 16.364Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.115 3.75102C11.677 3.77953 13.2281 4.38929 14.4194 5.58055C16.8602 8.02133 16.8602 11.9786 14.4194 14.4194C14.2045 14.6343 13.9782 14.83 13.7426 15.0066C13.4112 15.2551 13.3439 15.7252 13.5924 16.0566C13.8409 16.388 14.311 16.4552 14.6424 16.2068C14.9347 15.9876 15.2148 15.7453 15.48 15.48C18.5066 12.4535 18.5066 7.54645 15.48 4.51989C14.1328 3.17266 12.4118 2.42506 10.6516 2.27728L11.2374 1.69146C11.5303 1.39857 11.5303 0.923696 11.2374 0.630803C10.9445 0.337909 10.4696 0.33791 10.1767 0.630803L8.05541 2.75212C7.76252 3.04502 7.76252 3.51989 8.05541 3.81278L10.1767 5.9341C10.4696 6.227 10.9445 6.227 11.2374 5.9341C11.5303 5.64121 11.5303 5.16634 11.2374 4.87344L10.115 3.75102Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.88499 16.2489C8.32297 16.2204 6.77185 15.6106 5.58058 14.4193C3.13981 11.9786 3.13981 8.02129 5.58058 5.58051C5.79546 5.36563 6.02174 5.16994 6.25738 4.99328C6.58879 4.74481 6.65603 4.27472 6.40756 3.9433C6.1591 3.61189 5.68901 3.54465 5.35759 3.79312C5.06527 4.01228 4.7852 4.25457 4.51992 4.51985C1.49336 7.54641 1.49336 12.4534 4.51992 15.48C5.86715 16.8272 7.58813 17.5748 9.34838 17.7226L8.76256 18.3084C8.46967 18.6013 8.46967 19.0762 8.76256 19.3691C9.05546 19.662 9.53033 19.662 9.82322 19.3691L11.9445 17.2478C12.2374 16.9549 12.2374 16.48 11.9445 16.1871L9.82322 14.0658C9.53033 13.7729 9.05546 13.7729 8.76256 14.0658C8.46967 14.3587 8.46967 14.8336 8.76256 15.1264L9.88499 16.2489Z\"\n    })));\n  },\n  displayName: 'SyncIcon'\n});\n//# sourceMappingURL=SyncIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TableAddIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 5.5C17 4.11929 15.8807 3 14.5 3H5.5C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H9.59971C9.43777 16.6832 9.30564 16.3486 9.20703 16H8V13H9.20703C9.30564 12.6514 9.43777 12.3168 9.59971 12H8V8H12V9.59971C12.3168 9.43777 12.6514 9.30564 13 9.20703V8H16V9.20703C16.3486 9.30564 16.6832 9.43777 17 9.59971V5.5ZM4 14.5V13H7V16H5.5L5.35554 15.9931C4.59489 15.9204 4 15.2797 4 14.5ZM12 4V7H8V4H12ZM13 4H14.5L14.6445 4.00687C15.4051 4.07955 16 4.7203 16 5.5V7H13V4ZM7 4V7H4V5.5L4.00687 5.35554C4.07955 4.59489 4.7203 4 5.5 4H7ZM7 8V12H4V8H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 7H17V5.5C17 4.11929 15.8807 3 14.5 3H13V7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 12V8H3V12H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.59971 12C10.1266 10.9692 10.9692 10.1266 12 9.59971V8H8V12H9.59971Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 9C15.4002 9 16.2499 9.21628 17 9.59971V8H13V9.20703C13.4768 9.07217 13.98 9 14.5 9Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 14.5C9 13.98 9.07217 13.4768 9.20703 13H8V17H9.59971C9.21628 16.2499 9 15.4002 9 14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 13H3V14.5C3 15.8807 4.11929 17 5.5 17H7V13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 7V3H8V7H12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 3V7H3V5.5C3 4.11929 4.11929 3 5.5 3H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z\"\n    })));\n  },\n  displayName: 'TableAddIcon'\n});\n//# sourceMappingURL=TableAddIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TableDeleteIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 5.5C17 4.11929 15.8807 3 14.5 3H5.5C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H9.59971C9.43777 16.6832 9.30564 16.3486 9.20703 16H8V13H9.20703C9.30564 12.6514 9.43777 12.3168 9.59971 12H8V8H12V9.59971C12.3168 9.43777 12.6514 9.30564 13 9.20703V8H16V9.20703C16.3486 9.30564 16.6832 9.43777 17 9.59971V5.5ZM4 14.5V13H7V16H5.5L5.35554 15.9931C4.59489 15.9204 4 15.2797 4 14.5ZM12 4V7H8V4H12ZM13 4H14.5L14.6445 4.00687C15.4051 4.07955 16 4.7203 16 5.5V7H13V4ZM7 4V7H4V5.5L4.00687 5.35554C4.07955 4.59489 4.7203 4 5.5 4H7ZM7 8V12H4V8H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15.2071 14.5L16.3536 13.3536C16.5488 13.1583 16.5488 12.8417 16.3536 12.6464C16.1583 12.4512 15.8417 12.4512 15.6464 12.6464L14.5 13.7929L13.3536 12.6464C13.1583 12.4512 12.8417 12.4512 12.6464 12.6464C12.4512 12.8417 12.4512 13.1583 12.6464 13.3536L13.7929 14.5L12.6464 15.6464C12.4512 15.8417 12.4512 16.1583 12.6464 16.3536C12.8417 16.5488 13.1583 16.5488 13.3536 16.3536L14.5 15.2071L15.6464 16.3536C15.8417 16.5488 16.1583 16.5488 16.3536 16.3536C16.5488 16.1583 16.5488 15.8417 16.3536 15.6464L15.2071 14.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 7H17V5.5C17 4.11929 15.8807 3 14.5 3H13V7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 12V8H3V12H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.59971 12C10.1266 10.9692 10.9692 10.1266 12 9.59971V8H8V12H9.59971Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 9C15.4002 9 16.2499 9.21628 17 9.59971V8H13V9.20703C13.4768 9.07217 13.98 9 14.5 9Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 14.5C9 13.98 9.07217 13.4768 9.20703 13H8V17H9.59971C9.21628 16.2499 9 15.4002 9 14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 13H3V14.5C3 15.8807 4.11929 17 5.5 17H7V13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 7V3H8V7H12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 3V7H3V5.5C3 4.11929 4.11929 3 5.5 3H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15.2071 14.5L16.3536 13.3536C16.5488 13.1583 16.5488 12.8417 16.3536 12.6464C16.1583 12.4512 15.8417 12.4512 15.6464 12.6464L14.5 13.7929L13.3536 12.6464C13.1583 12.4512 12.8417 12.4512 12.6464 12.6464C12.4512 12.8417 12.4512 13.1583 12.6464 13.3536L13.7929 14.5L12.6464 15.6464C12.4512 15.8417 12.4512 16.1583 12.6464 16.3536C12.8417 16.5488 13.1583 16.5488 13.3536 16.3536L14.5 15.2071L15.6464 16.3536C15.8417 16.5488 16.1583 16.5488 16.3536 16.3536C16.5488 16.1583 16.5488 15.8417 16.3536 15.6464L15.2071 14.5Z\"\n    })));\n  },\n  displayName: 'TableDeleteIcon'\n});\n//# sourceMappingURL=TableDeleteIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TableIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M17 5.5C17 4.11929 15.8807 3 14.5 3H5.5C4.11929 3 3 4.11929 3 5.5V14.5C3 15.8807 4.11929 17 5.5 17H14.5C15.8807 17 17 15.8807 17 14.5V5.5ZM4 14.5V13H7V16H5.5L5.35554 15.9931C4.59489 15.9204 4 15.2797 4 14.5ZM12 13H8V16H12V13ZM14.5 16H13V13H16V14.5L15.9931 14.6445C15.9204 15.4051 15.2797 16 14.5 16ZM12 8H8V12H12V8ZM13 8H16V12H13V8ZM12 4H8V7H12V4ZM13 4H14.5L14.6445 4.00687C15.4051 4.07955 16 4.7203 16 5.5V7H13V4ZM7 4H5.5C4.7203 4 4.07955 4.59489 4.00687 5.35554L4 5.5V7H7V4ZM7 8V12H4V8H7Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 17H14.5C15.8807 17 17 15.8807 17 14.5V13H13V17Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 12V8H17V12H13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 12H8V8H12V12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 13H12V17H8V13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 12V8H3V12H7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 13H7V17H5.5C4.11929 17 3 15.8807 3 14.5V13Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13 7H17V5.5C17 4.11929 15.8807 3 14.5 3H13V7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3V7H8V3H12Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7 3V7H3V5.5C3 4.11929 4.11929 3 5.5 3H7Z\"\n    })));\n  },\n  displayName: 'TableIcon'\n});\n//# sourceMappingURL=TableIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TabsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M2.99609 5.5C2.99609 4.11929 4.11538 3 5.49609 3H14.4961C15.8768 3 16.9961 4.11929 16.9961 5.5V14.5C16.9961 15.8807 15.8768 17 14.4961 17H5.49609C4.11538 17 2.99609 15.8807 2.99609 14.5V5.5ZM15.9961 6V5.5C15.9961 4.67157 15.3245 4 14.4961 4H8.99609V5.5C8.99609 5.77614 9.21995 6 9.49609 6H15.9961ZM7.99609 4H5.49609C4.66767 4 3.99609 4.67157 3.99609 5.5V14.5C3.99609 15.3284 4.66767 16 5.49609 16H14.4961C15.3245 16 15.9961 15.3284 15.9961 14.5V7H9.49609C8.66767 7 7.99609 6.32843 7.99609 5.5V4Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.49609 3C4.11538 3 2.99609 4.11929 2.99609 5.5V14.5C2.99609 15.8807 4.11538 17 5.49609 17H14.4961C15.8768 17 16.9961 15.8807 16.9961 14.5V7H9.49609C8.66767 7 7.99609 6.32843 7.99609 5.5V3H5.49609Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.99609 3V5.5C8.99609 5.77614 9.21995 6 9.49609 6H16.9961V5.5C16.9961 4.11929 15.8768 3 14.4961 3H8.99609Z\"\n    })));\n  },\n  displayName: 'TabsIcon'\n});\n//# sourceMappingURL=TabsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TagIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.999 7C14.5513 7 14.999 6.55228 14.999 6C14.999 5.44772 14.5513 5 13.999 5C13.4467 5 12.999 5.44772 12.999 6C12.999 6.55228 13.4467 7 13.999 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M11.1282 2.00004C10.5942 1.99654 10.0809 2.20681 9.70272 2.58399L3.02118 9.24852C2.23844 10.0293 2.23763 11.297 3.01938 12.0788L7.96778 17.0271C8.74883 17.8082 10.0152 17.8082 10.7962 17.0271L17.427 10.3963C17.8028 10.0205 18.0136 9.51063 18.0128 8.97917L18.0055 4.02911C18.0039 2.93081 17.1169 2.0393 16.0186 2.0321L11.1282 2.00004ZM10.4089 3.29199C10.598 3.1034 10.8546 2.99827 11.1217 3.00002L16.0121 3.03208C16.5612 3.03568 17.0047 3.48143 17.0055 4.03058L17.0128 8.98065C17.0132 9.24637 16.9078 9.50133 16.7199 9.68923L10.0891 16.32C9.69857 16.7106 9.06541 16.7106 8.67488 16.32L3.72649 11.3716C3.33561 10.9808 3.33601 10.3469 3.72739 9.95653L10.4089 3.29199Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M18.0055 4.03317C18.0039 2.93487 17.1169 2.04336 16.0186 2.03616L11.1282 2.0041C10.5942 2.0006 10.0809 2.21087 9.70272 2.58805L3.02118 9.25258C2.23844 10.0333 2.23763 11.3011 3.01938 12.0828L7.96778 17.0312C8.74882 17.8123 10.0152 17.8123 10.7962 17.0312L17.427 10.4004C17.8028 10.0246 18.0136 9.51468 18.0128 8.98323L18.0055 4.03317ZM13.999 7C14.5513 7 14.999 6.55228 14.999 6C14.999 5.44771 14.5513 5 13.999 5C13.4467 5 12.999 5.44771 12.999 6C12.999 6.55228 13.4467 7 13.999 7Z\"\n    }));\n  },\n  displayName: 'TagIcon'\n});\n//# sourceMappingURL=TagIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TeamCreateIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 10C11.1035 10 11.2052 10.0079 11.3045 10.023C10.9143 10.302 10.5621 10.6308 10.2572 11H4C3.44772 11 3 11.4477 3 12V13.5C3 14.9071 4.57862 16 7.5 16C8.11725 16 8.67455 15.9512 9.16969 15.861C9.25335 16.1896 9.36661 16.5065 9.50646 16.8085C8.90367 16.9334 8.23233 17 7.5 17C4.08805 17 2 15.5544 2 13.5V12C2 10.8954 2.89543 10 4 10H11ZM17 6.5C17 7.88071 15.8807 9 14.5 9C13.1193 9 12 7.88071 12 6.5C12 5.11929 13.1193 4 14.5 4C15.8807 4 17 5.11929 17 6.5ZM14.5 5C13.6716 5 13 5.67157 13 6.5C13 7.32843 13.6716 8 14.5 8C15.3284 8 16 7.32843 16 6.5C16 5.67157 15.3284 5 14.5 5ZM7.5 2C9.433 2 11 3.567 11 5.5C11 7.433 9.433 9 7.5 9C5.567 9 4 7.433 4 5.5C4 3.567 5.567 2 7.5 2ZM7.5 3C6.11929 3 5 4.11929 5 5.5C5 6.88071 6.11929 8 7.5 8C8.88071 8 10 6.88071 10 5.5C10 4.11929 8.88071 3 7.5 3ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 10C11.1035 10 11.2052 10.0079 11.3045 10.023C9.90933 11.0206 9 12.6541 9 14.5C9 15.3244 9.1814 16.1065 9.50646 16.8085C8.90367 16.9334 8.23233 17 7.5 17C4.08805 17 2 15.5544 2 13.5V12C2 10.8954 2.89543 10 4 10H11ZM17 6.5C17 7.88071 15.8807 9 14.5 9C13.1193 9 12 7.88071 12 6.5C12 5.11929 13.1193 4 14.5 4C15.8807 4 17 5.11929 17 6.5ZM7.5 2C9.433 2 11 3.567 11 5.5C11 7.433 9.433 9 7.5 9C5.567 9 4 7.433 4 5.5C4 3.567 5.567 2 7.5 2ZM19 14.5C19 16.9853 16.9853 19 14.5 19C12.0147 19 10 16.9853 10 14.5C10 12.0147 12.0147 10 14.5 10C16.9853 10 19 12.0147 19 14.5ZM15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5V14H12.5C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15H14V16.5C14 16.7761 14.2239 17 14.5 17C14.7761 17 15 16.7761 15 16.5V15H16.5C16.7761 15 17 14.7761 17 14.5C17 14.2239 16.7761 14 16.5 14H15V12.5Z\"\n    })));\n  },\n  displayName: 'TeamCreateIcon'\n});\n//# sourceMappingURL=TeamCreateIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var TeamsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 12.1201V19.5001C10 20.4011 10.221 21.2491 10.605 22.0001H15.604C16.312 22.0001 17 21.2871 17 20.6461V11.0211L16.719 11.0001H11.12C10.501 11.0001 10 11.5011 10 12.1201Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8334 8H12.8574C13.2834 9.338 14.5214 10.313 16.0004 10.313C16.3514 10.313 16.6824 10.244 17.0004 10.143V9.167C17.0004 8.525 16.4754 8 15.8334 8Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M24.8728 11H19.8798L18.4858 12.127V17.716C18.4858 19.791 20.1678 21.473 22.2428 21.473C24.3178 21.473 25.9998 19.791 25.9998 17.716V12.127C25.9998 11.505 25.4948 11 24.8728 11Z\",\n      fill: \"#5059C9\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25 7.5C25 8.881 23.881 10 22.5 10C21.119 10 20 8.881 20 7.5C20 6.119 21.119 5 22.5 5C23.881 5 25 6.119 25 7.5Z\",\n      fill: \"#5059C9\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.12 11H19.88C20.499 11 21 11.501 21 12.12V19.5C21 22.538 18.538 25 15.5 25C12.462 25 10 22.538 10 19.5V12.12C10 11.501 10.501 11 11.12 11Z\",\n      fill: \"#7B83EB\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19.3133 7C19.3133 8.83 17.8303 10.313 16.0003 10.313C14.1703 10.313 12.6863 8.83 12.6863 7C12.6863 5.17 14.1703 3.687 16.0003 3.687C17.8303 3.687 19.3133 5.17 19.3133 7Z\",\n      fill: \"#7B83EB\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.5\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M12.8573 8H15.8333C16.4753 8 17.0003 8.525 17.0003 9.167V10.143C16.6823 10.244 16.3513 10.313 16.0003 10.313C14.5213 10.313 13.2833 9.338 12.8573 8ZM10 19.5001V12.1201C10 11.5011 10.501 11.0001 11.12 11.0001H16.719L17 11.0211V20.6461C17 21.2871 16.312 22.0001 15.604 22.0001H10.605C10.221 21.2491 10 20.4011 10 19.5001Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.8335 21H3.16649C2.52549 21 2.00049 20.475 2.00049 19.833V8.167C2.00049 7.525 2.52549 7 3.16649 7H14.8335C15.4755 7 16.0005 7.525 16.0005 8.167V19.833C16.0005 20.475 15.4755 21 14.8335 21Z\",\n      fill: \"#4B53BC\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.1806 11.5776H8.79158V17.9996H7.22158V11.5776H4.81958V9.9996H11.1806V11.5776Z\",\n      fill: \"white\"\n    }));\n  },\n  displayName: 'TeamsIcon'\n});\n//# sourceMappingURL=TeamsIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var TeamsMonochromeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M16.0002 11H24.8732C25.4952 11 26.0002 11.505 26.0002 12.127V17.716C26.0002 19.791 24.3182 21.473 22.2432 21.473C21.7092 21.473 21.2052 21.356 20.7472 21.153C20.0452 23.383 17.9622 25 15.5002 25C12.9822 25 10.8602 23.308 10.2072 21H3.16724C2.52524 21 2.00024 20.475 2.00024 19.833V8.167C2.00024 7.525 2.52524 7 3.16724 7H12.6862C12.6862 5.17 14.1702 3.687 16.0002 3.687C17.8302 3.687 19.3132 5.17 19.3132 7C19.3132 8.83 17.8302 10.313 16.0002 10.313V11ZM16.0002 4.687C17.2752 4.687 18.3132 5.724 18.3132 7C18.3132 8.276 17.2752 9.313 16.0002 9.313V8.167C16.0002 7.525 15.4752 7 14.8332 7H13.6862C13.6862 5.724 14.7242 4.687 16.0002 4.687ZM7.97224 18.25V11.828H5.56924V9.75H12.4302V11.828H10.0422V18.25H7.97224ZM25.0002 17.716C25.0002 19.236 23.7632 20.473 22.2432 20.473C21.7782 20.473 21.3442 20.353 20.9622 20.146C20.9872 19.934 21.0002 19.719 21.0002 19.5V12.12C21.0002 12.08 20.9982 12.04 20.9932 12H24.8732C24.9432 12 25.0002 12.057 25.0002 12.127V17.716ZM15.5002 24C17.9812 24 20.0002 21.981 20.0002 19.5V12.12C20.0002 12.054 19.9462 12 19.8802 12H16.0002V19.833C16.0002 20.475 15.4752 21 14.8332 21H11.2572C11.8762 22.746 13.5442 24 15.5002 24ZM22.5002 6C23.3272 6 24.0002 6.673 24.0002 7.5C24.0002 8.327 23.3272 9 22.5002 9C21.6732 9 21.0002 8.327 21.0002 7.5C21.0002 6.673 21.6732 6 22.5002 6ZM25.0002 7.5C25.0002 8.881 23.8812 10 22.5002 10C21.1192 10 20.0002 8.881 20.0002 7.5C20.0002 6.119 21.1192 5 22.5002 5C23.8812 5 25.0002 6.119 25.0002 7.5Z\"\n    }));\n  },\n  displayName: 'TeamsMonochromeIcon'\n});\n//# sourceMappingURL=TeamsMonochromeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TenantWorkIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M6 4.5V6H4C2.89543 6 2 6.89543 2 8V15C2 16.1046 2.89543 17 4 17H16.0026C17.1071 17 18.0026 16.1046 18.0026 15V8C18.0026 6.89543 17.1071 6 16.0026 6H14V4.5C14 3.67157 13.3284 3 12.5 3H7.5C6.67157 3 6 3.67157 6 4.5ZM7.5 4C7.22386 4 7 4.22386 7 4.5V6H13V4.5C13 4.22386 12.7761 4 12.5 4H7.5ZM4 7C3.44772 7 3 7.44772 3 8V10H6V9.50073C6 9.22459 6.22386 9.00073 6.5 9.00073C6.77614 9.00073 7 9.22459 7 9.50073V10H13L13 9.50074C13 9.22459 13.2239 9.00073 13.5 9.00073C13.7761 9.00073 14 9.22459 14 9.50073L14 10H17.0026V8C17.0026 7.44772 16.5549 7 16.0026 7H4ZM13 11L13 11.5C13 11.7761 13.2239 12 13.5 12C13.7762 12 14 11.7761 14 11.5L14 11H17.0026V15C17.0026 15.5523 16.5549 16 16.0026 16H4C3.44772 16 3 15.5523 3 15V11H6V11.5C6 11.7761 6.22386 12 6.5 12C6.77614 12 7 11.7761 7 11.5V11H13Z\"\n    }), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M6 4.5V6H4C2.89543 6 2 6.89543 2 8V10H6V9.50073C6 9.22459 6.22386 9.00073 6.5 9.00073C6.77614 9.00073 7 9.22459 7 9.50073V10H13L13 9.50074C13 9.22459 13.2239 9.00073 13.5 9.00073C13.7761 9.00073 14 9.22459 14 9.50073L14 10H18.0026V8C18.0026 6.89543 17.1071 6 16.0026 6H14V4.5C14 3.67157 13.3284 3 12.5 3H7.5C6.67157 3 6 3.67157 6 4.5ZM7.5 4C7.22386 4 7 4.22386 7 4.5V6H13V4.5C13 4.22386 12.7761 4 12.5 4H7.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M18.0026 11H14L14 11.5C14 11.7761 13.7762 12 13.5 12C13.2239 12 13 11.7761 13 11.5L13 11H7V11.5C7 11.7761 6.77614 12 6.5 12C6.22386 12 6 11.7761 6 11.5V11H2V15C2 16.1046 2.89543 17 4 17H16.0026C17.1071 17 18.0026 16.1046 18.0026 15V11Z\"\n    })));\n  },\n  displayName: 'TenantWorkIcon'\n});\n//# sourceMappingURL=TenantWorkIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TenantPersonalIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.9975 2.38811c.57017-.51227 1.4348-.51227 2.005 0l5.5 4.94154c.3166.28449.4975.69012.4975 1.11579v.31727c-.3168-.28402-.6943-.50166-1.1107-.63103a.50563.50563 0 00-.0551-.05817l-5.5-4.94154c-.1901-.17075-.47831-.17075-.66837 0l-5.5 4.94154A.50002.50002 0 004 8.44544v7.05416c0 .2761.22386.5.5.5H7c.27614 0 .5-.2239.5-.5v-3.5c0-.8285.67157-1.5 1.5-1.5h2c.8284 0 1.5.6715 1.5 1.5v.9975h-.252c-.2622 0-.514.0448-.748.1273v-1.1248c0-.2762-.2239-.5-.5-.5H9c-.27614 0-.5.2238-.5.5v3.5c0 .8284-.67157 1.5-1.5 1.5H4.5c-.82843 0-1.5-.6716-1.5-1.5V8.44544a1.5 1.5 0 01.4975-1.11579l5.5-4.94154z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.998 8.99707c-1.1045 0-2 .89543-2 2.00003 0 1.1045.8955 2 2 2 1.1046 0 2-.8955 2-2 0-1.1046-.8954-2.00003-2-2.00003zM10.998 15.2471c0-.6904.5597-1.25 1.25-1.25h5.5c.6904 0 1.25.5596 1.25 1.25 0 .0292.0003.0585.0006.0879.0007.0711.0014.1425-.002.2135a1.91796 1.91796 0 01-.0079.1057c-.0087.0869-.0255.2062-.0584.3471-.0656.2809-.1966.656-.4601 1.0325-.5459.7798-1.5867 1.4633-3.4722 1.4633-1.8854 0-2.9262-.6835-3.4721-1.4633-.2635-.3765-.3946-.7516-.4601-1.0325-.0329-.1409-.0497-.2602-.0584-.3471a2.04116 2.04116 0 01-.008-.1057c-.0014-.1314-.0014-.2055-.0014-.2986v-.0028z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.0025 2.38811c-.5702-.51227-1.43483-.51227-2.005 0l-5.5 4.94154A1.5 1.5 0 003 8.44544v7.05416c0 .8284.67157 1.5 1.5 1.5h2c.82843 0 1.5-.6716 1.5-1.5v-4c0-.2762.22386-.5.5-.5h3c.1634-.0025.3382-.0025.498-.0025 0-1.65688 1.3432-3.00003 3-3.00003.7693 0 1.471.28956 2.002.76564v-.31727c0-.42567-.1809-.8313-.4975-1.11579l-5.5-4.94154z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.998 8.99707c-1.1045 0-2 .89543-2 2.00003 0 1.1045.8955 2 2 2 1.1046 0 2-.8955 2-2 0-1.1046-.8954-2.00003-2-2.00003zM10.998 15.2471c0-.6904.5597-1.25 1.25-1.25h5.5c.6904 0 1.25.5596 1.25 1.25 0 .0292.0003.0585.0006.0879.0007.0711.0014.1425-.002.2135a1.91796 1.91796 0 01-.0079.1057c-.0087.0869-.0255.2062-.0584.3471-.0656.2809-.1966.656-.4601 1.0325-.5459.7798-1.5867 1.4633-3.4722 1.4633-1.8854 0-2.9262-.6835-3.4721-1.4633-.2635-.3765-.3946-.7516-.4601-1.0325-.0329-.1409-.0497-.2602-.0584-.3471a2.04116 2.04116 0 01-.008-.1057c-.0014-.1314-.0014-.2055-.0014-.2986v-.0028z\"\n    })));\n  },\n  displayName: 'TenantPersonalIcon'\n});\n//# sourceMappingURL=TenantPersonalIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ThumbtackIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10.6051 2.38171C11.0384 1.42818 12.2908 1.20102 13.0314 1.94162L18.0615 6.97176C18.8021 7.71237 18.575 8.96472 17.6214 9.39804L13.1103 11.448C12.9837 11.5055 12.8868 11.6132 12.8428 11.7451L11.284 16.4215C11.2292 16.5859 11.0932 16.7102 10.9246 16.75C10.7559 16.7899 10.5787 16.7395 10.4561 16.617L7.27411 13.435L3.70711 17.002L3.7051 17H3.00205V16.2969L3 16.2949L6.567 12.7278L3.38506 9.5459C3.26252 9.42337 3.21217 9.24613 3.25199 9.07747C3.2918 8.90882 3.4161 8.77281 3.5805 8.71801L8.25884 7.15856C8.39075 7.11459 8.4984 7.01767 8.55593 6.89108L10.6051 2.38171ZM12.3243 2.64873C12.0774 2.40186 11.6599 2.47758 11.5155 2.79543L9.46633 7.30479C9.29375 7.68457 8.97081 7.97533 8.57506 8.10725L4.66423 9.41086L10.5912 15.3378L11.8942 11.4289C12.0261 11.0331 12.3168 10.7102 12.6966 10.5376L17.2077 8.48763C17.5256 8.34319 17.6013 7.92574 17.3544 7.67887L12.3243 2.64873Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10.6051 2.38171C11.0384 1.42818 12.2908 1.20102 13.0314 1.94162L18.0615 6.97176C18.8021 7.71237 18.575 8.96472 17.6214 9.39804L13.1103 11.448C12.9838 11.5055 12.8868 11.6132 12.8429 11.7451L11.284 16.4215C11.2292 16.5859 11.0932 16.7102 10.9246 16.75C10.7559 16.7899 10.5787 16.7395 10.4562 16.617L7.27413 13.435L3.70711 17.002L3.70509 17H3.00206V16.2969L3 16.2949L6.56703 12.7278L3.38508 9.5459C3.26255 9.42337 3.2122 9.24613 3.25201 9.07747C3.29183 8.90882 3.41613 8.77281 3.58052 8.71801L8.25886 7.15856C8.39078 7.11459 8.49842 7.01767 8.55595 6.89108L10.6051 2.38171Z\"\n    }));\n  },\n  displayName: 'ThumbtackIcon'\n});\n//# sourceMappingURL=ThumbtackIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ThumbtackSlashIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.58 8.718L6.903 7.61 2.146 2.854a.5.5 0 11.708-.708L8.746 8.04l3.218 3.218 5.89 5.89a.5.5 0 01-.708.707l-4.754-4.755-1.108 3.323a.5.5 0 01-.828.195l-3.182-3.182-3.567 3.567L3.705 17h-.703v-.703L3 16.295l3.567-3.567-3.182-3.182a.5.5 0 01.196-.828zm8.021 3.59L7.694 8.401l-3.03 1.01 5.927 5.927 1.01-3.03zM12.697 10.538l-.026.012.755.755 4.195-1.907a1.5 1.5 0 00.44-2.426l-5.03-5.03a1.5 1.5 0 00-2.426.44L8.7 6.577l.755.755.012-.027 2.05-4.51a.5.5 0 01.808-.146l5.03 5.03a.5.5 0 01-.146.809l-4.511 2.05z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.58 8.718L6.904 7.61 2.146 2.854a.5.5 0 11.708-.708l15 15a.5.5 0 01-.708.708l-4.754-4.755-1.108 3.323a.5.5 0 01-.828.195l-3.182-3.182-3.567 3.567L3.705 17h-.703v-.703L3 16.295l3.567-3.567-3.182-3.182a.5.5 0 01.196-.828zM17.621 9.398l-4.195 1.907-4.727-4.728 1.906-4.195a1.5 1.5 0 012.426-.44l5.03 5.03a1.5 1.5 0 01-.44 2.426z\"\n    })));\n  },\n  displayName: 'ThumbtackSlashIcon'\n});\n//# sourceMappingURL=ThumbtackSlashIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TiltPanZoomIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.95235 3.53418C9.61709 3.22738 10.3829 3.22738 11.0476 3.53418L15.7095 5.68582C15.8866 5.76754 16 5.94477 16 6.1398V8H17V6.1398C17 5.55472 16.6598 5.02304 16.1286 4.77786L11.4667 2.62622C10.5361 2.1967 9.46393 2.1967 8.5333 2.62622L3.87141 4.77786C3.34019 5.02304 3 5.55472 3 6.1398V8H4L4 6.1398C4 5.94477 4.1134 5.76754 4.29047 5.68582L8.95235 3.53418Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.39872 11C3.58077 11.1499 3.7811 11.296 4 11.4374C4.05121 11.4705 4.10344 11.5033 4.15669 11.5358C5.6041 12.4204 7.66726 13 9.9992 13C12.3311 13 14.3943 12.4204 15.8417 11.5358C15.8955 11.503 15.9483 11.4698 16 11.4364C16.2183 11.2953 16.4181 11.1495 16.5997 11C16.7447 10.8806 16.878 10.7589 17 10.6353C17.2046 10.428 17.377 10.2154 17.5179 10H16.0002C16.0002 10 16.0001 10 16.0002 10C15.7241 9.99992 15.5002 9.77609 15.5002 9.5C15.5002 9.22386 15.724 9 16.0002 9H18.5002C18.6328 9 18.7599 9.05268 18.8537 9.14645C18.9475 9.24021 19.0002 9.36739 19.0002 9.5V12C19.0002 12.2761 18.7763 12.5 18.5002 12.5C18.224 12.5 18.0002 12.2761 18.0002 12V11.0211C17.7185 11.3542 17.3827 11.6676 17 11.9567C16.8002 12.1076 16.5876 12.252 16.3632 12.3891C16.2453 12.4611 16.1242 12.5312 16 12.5991C14.4076 13.4703 12.3046 14 9.9992 14C7.69452 14 5.59217 13.4706 4 12.6C3.87523 12.5318 3.75359 12.4614 3.63524 12.3891C3.41142 12.2523 3.19935 12.1084 3 11.9579C2.61739 11.669 2.2817 11.356 2 11.0232V12C2 12.2761 1.77614 12.5 1.5 12.5C1.22386 12.5 1 12.2761 1 12V9.5C1 9.36739 1.05268 9.24021 1.14645 9.14645C1.24021 9.05268 1.36739 9 1.5 9H4C4.27614 9 4.5 9.22386 4.5 9.5C4.5 9.77614 4.27614 10 4 10H2.48054C2.62181 10.216 2.79473 10.4291 3 10.6369C3.12152 10.76 3.25437 10.8812 3.39872 11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 13.7241V13.8601C4 14.0552 4.1134 14.2324 4.29047 14.3141L8.95235 16.4658C9.61709 16.7726 10.3829 16.7726 11.0476 16.4657L15.7095 14.3141C15.8866 14.2324 16 14.0552 16 13.8601V13.7233C16.3511 13.5543 16.6852 13.37 17 13.1714V13.8601C17 14.4452 16.6598 14.9769 16.1286 15.2221L11.4667 17.3737C10.5361 17.8032 9.46393 17.8032 8.5333 17.3737L3.87141 15.2221C3.34019 14.9769 3 14.4452 3 13.8601V13.1724C3.31477 13.371 3.64893 13.5552 4 13.7241Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.04031 6.80305C6.14909 6.54923 6.44303 6.43166 6.69684 6.54043L9.99988 7.95602L13.3029 6.54043C13.5567 6.43166 13.8507 6.54923 13.9595 6.80305C14.0682 7.05686 13.9507 7.3508 13.6968 7.45958L10.4999 8.8297V11C10.4999 11.2761 10.276 11.5 9.99988 11.5C9.72374 11.5 9.49988 11.2761 9.49988 11V8.8297L6.30292 7.45958C6.04911 7.3508 5.93153 7.05686 6.04031 6.80305Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.5333 2.62622C9.46393 2.1967 10.5361 2.1967 11.4667 2.62622L16.1286 4.77786C16.6598 5.02304 17 5.55472 17 6.1398V8H16.0002C15.1717 8 14.5002 8.67157 14.5002 9.5C14.5002 10.0291 14.7741 10.4943 15.1879 10.7613C13.9251 11.493 12.1031 12 9.9992 12C7.89585 12 6.0742 11.4932 4.81139 10.7618C5.22567 10.4949 5.5 10.0295 5.5 9.5C5.5 8.67157 4.82843 8 4 8H3V6.1398C3 5.55472 3.34019 5.02304 3.87141 4.77786L8.5333 2.62622ZM6.69684 6.54043C6.44303 6.43166 6.14909 6.54923 6.04031 6.80305C5.93153 7.05686 6.04911 7.3508 6.30292 7.45958L9.49988 8.8297V10.5C9.49988 10.7761 9.72374 11 9.99988 11C10.276 11 10.4999 10.7761 10.4999 10.5V8.8297L13.6968 7.45958C13.9507 7.3508 14.0682 7.05686 13.9595 6.80305C13.8507 6.54923 13.5567 6.43166 13.3029 6.54043L9.99988 7.95602L6.69684 6.54043Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.5002 9.5C15.5002 9.22386 15.724 9 16.0002 9H18.5002C18.6328 9 18.7599 9.05268 18.8537 9.14645C18.9475 9.24021 19.0002 9.36739 19.0002 9.5V12C19.0002 12.2761 18.7763 12.5 18.5002 12.5C18.224 12.5 18.0002 12.2761 18.0002 12V11.0211C17.7185 11.3542 17.3827 11.6676 17 11.9567C16.8002 12.1076 16.5876 12.252 16.3632 12.3891C14.7345 13.3844 12.4846 14 9.9992 14C7.51384 14 5.26386 13.3844 3.63524 12.3891C3.41142 12.2523 3.19935 12.1084 3 11.9579C2.61739 11.669 2.2817 11.356 2 11.0232V12C2 12.2761 1.77614 12.5 1.5 12.5C1.22386 12.5 1 12.2761 1 12V9.5C1 9.36739 1.05268 9.24021 1.14645 9.14645C1.24021 9.05268 1.36739 9 1.5 9H4C4.27614 9 4.5 9.22386 4.5 9.5C4.5 9.77614 4.27614 10 4 10H2.48054C2.62181 10.216 2.79473 10.4291 3 10.6369C3.12152 10.76 3.25437 10.8812 3.39872 11C3.60933 11.1734 3.84439 11.3418 4.10436 11.5036C4.12169 11.5144 4.13913 11.5251 4.15669 11.5358C4.56794 11.7872 5.0289 12.0139 5.5316 12.2097C6.7982 12.703 8.32982 13 9.9992 13C11.6694 13 13.2017 12.7027 14.4687 12.2089C14.9706 12.0133 15.431 11.7868 15.8417 11.5358C16.1226 11.3642 16.375 11.185 16.5997 11C16.7447 10.8806 16.878 10.7589 17 10.6353C17.2046 10.428 17.377 10.2154 17.5179 10H16.0002C15.724 10 15.5002 9.77614 15.5002 9.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.9992 15C7.33525 15 4.83727 14.3316 3 13.1724V13.8601C3 14.4452 3.34019 14.9769 3.87141 15.2221L8.5333 17.3737C9.46393 17.8032 10.5361 17.8032 11.4667 17.3737L16.1286 15.2221C16.6598 14.9769 17 14.4452 17 13.8601V13.1714C15.1626 14.3312 12.6639 15 9.9992 15Z\"\n    })));\n  },\n  displayName: 'TiltPanZoomIcon'\n});\n//# sourceMappingURL=TiltPanZoomIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ToDoListIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.35357 6.39646C9.54882 6.59172 9.54881 6.9083 9.35355 7.10356L7.60355 8.85347C7.41451 9.04251 7.11021 9.04939 6.91281 8.8691L6.16281 8.1841C5.95891 7.99788 5.94459 7.68162 6.13081 7.47772C6.31704 7.27382 6.6333 7.2595 6.8372 7.44572L7.23436 7.80847L8.64646 6.39644C8.84173 6.20118 9.15831 6.20119 9.35357 6.39646Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.35355 12.1036C9.54881 11.9083 9.54882 11.5917 9.35357 11.3965C9.15831 11.2012 8.84173 11.2012 8.64646 11.3964L7.23436 12.8085L6.8372 12.4457C6.6333 12.2595 6.31704 12.2738 6.13081 12.4777C5.94459 12.6816 5.95891 12.9979 6.16281 13.1841L6.91281 13.8691C7.11021 14.0494 7.41451 14.0425 7.60355 13.8535L9.35355 12.1036Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 12.5C10.5 12.2239 10.7239 12 11 12H13.5C13.7761 12 14 12.2239 14 12.5C14 12.7761 13.7761 13 13.5 13H11C10.7239 13 10.5 12.7761 10.5 12.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 7C10.7239 7 10.5 7.22386 10.5 7.5C10.5 7.77614 10.7239 8 11 8H13.5C13.7761 8 14 7.77614 14 7.5C14 7.22386 13.7761 7 13.5 7H11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3 4.5C3 3.67157 3.67157 3 4.5 3H15.5C16.3284 3 17 3.67157 17 4.5V15.5C17 16.3284 16.3284 17 15.5 17H4.5C3.67157 17 3 16.3284 3 15.5V4.5ZM4.5 4C4.22386 4 4 4.22386 4 4.5V15.5C4 15.7761 4.22386 16 4.5 16H15.5C15.7761 16 16 15.7761 16 15.5V4.5C16 4.22386 15.7761 4 15.5 4H4.5Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M4.5 3C3.67157 3 3 3.67157 3 4.5V15.5C3 16.3284 3.67157 17 4.5 17H15.5C16.3284 17 17 16.3284 17 15.5V4.5C17 3.67157 16.3284 3 15.5 3H4.5ZM9.35357 6.39646C9.54882 6.59172 9.54881 6.9083 9.35355 7.10356L7.60355 8.85347C7.41451 9.04251 7.11021 9.04939 6.91281 8.8691L6.16281 8.1841C5.95891 7.99788 5.94459 7.68162 6.13081 7.47772C6.31704 7.27382 6.6333 7.2595 6.8372 7.44572L7.23436 7.80847L8.64646 6.39644C8.84173 6.20118 9.15831 6.20119 9.35357 6.39646ZM9.35357 11.3965C9.54882 11.5917 9.54881 11.9083 9.35355 12.1036L7.60355 13.8535C7.41451 14.0425 7.11021 14.0494 6.91281 13.8691L6.16281 13.1841C5.95891 12.9979 5.94459 12.6816 6.13081 12.4777C6.31704 12.2738 6.6333 12.2595 6.8372 12.4457L7.23436 12.8085L8.64646 11.3964C8.84173 11.2012 9.15831 11.2012 9.35357 11.3965ZM11 12H13.5C13.7761 12 14 12.2239 14 12.5C14 12.7761 13.7761 13 13.5 13H11C10.7239 13 10.5 12.7761 10.5 12.5C10.5 12.2239 10.7239 12 11 12ZM10.5 7.5C10.5 7.22386 10.7239 7 11 7H13.5C13.7761 7 14 7.22386 14 7.5C14 7.77614 13.7761 8 13.5 8H11C10.7239 8 10.5 7.77614 10.5 7.5Z\"\n    }));\n  },\n  displayName: 'ToDoListIcon'\n});\n//# sourceMappingURL=ToDoListIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TranscriptIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 7C5.22386 7 5 7.22386 5 7.5C5 7.77614 5.22386 8 5.5 8H9.5C9.77614 8 10 7.77614 10 7.5C10 7.22386 9.77614 7 9.5 7H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 9.5C5.22386 9.5 5 9.72386 5 10C5 10.2761 5.22386 10.5 5.5 10.5H12.5C12.7761 10.5 13 10.2761 13 10C13 9.72386 12.7761 9.5 12.5 9.5H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 12.5C5 12.2239 5.22386 12 5.5 12H10.5C10.7761 12 11 12.2239 11 12.5C11 12.7761 10.7761 13 10.5 13H5.5C5.22386 13 5 12.7761 5 12.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 4C3.11929 4 2 5.11929 2 6.5V13.5C2 14.8807 3.11929 16 4.5 16H15.5C16.8807 16 18 14.8807 18 13.5V6.5C18 5.11929 16.8807 4 15.5 4H4.5ZM3 6.5C3 5.67157 3.67157 5 4.5 5H15.5C16.3284 5 17 5.67157 17 6.5V13.5C17 14.3284 16.3284 15 15.5 15H4.5C3.67157 15 3 14.3284 3 13.5V6.5Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M2 6.5C2 5.11929 3.11929 4 4.5 4H15.5C16.8807 4 18 5.11929 18 6.5V13.5C18 14.8807 16.8807 16 15.5 16H4.5C3.11929 16 2 14.8807 2 13.5V6.5ZM5.5 7C5.22386 7 5 7.22386 5 7.5C5 7.77614 5.22386 8 5.5 8H9.5C9.77614 8 10 7.77614 10 7.5C10 7.22386 9.77614 7 9.5 7H5.5ZM5 10C5 10.2761 5.22386 10.5 5.5 10.5H12.5C12.7761 10.5 13 10.2761 13 10C13 9.72386 12.7761 9.5 12.5 9.5H5.5C5.22386 9.5 5 9.72386 5 10ZM5.5 12C5.22386 12 5 12.2239 5 12.5C5 12.7761 5.22386 13 5.5 13H10.5C10.7761 13 11 12.7761 11 12.5C11 12.2239 10.7761 12 10.5 12H5.5Z\"\n    }));\n  },\n  displayName: 'TranscriptIcon'\n});\n//# sourceMappingURL=TranscriptIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TranslationIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.1663 4.02867C14.4267 4.12081 14.563 4.40654 14.4709 4.66685C14.3501 5.00788 14.2182 5.4771 14.1178 5.86047C14.6877 5.77587 15.2665 5.65653 15.8867 5.51288C16.1557 5.45058 16.4243 5.61815 16.4866 5.88717C16.5489 6.15619 16.3814 6.42479 16.1123 6.4871C15.339 6.66621 14.6101 6.81289 13.8717 6.90283C13.7759 7.35654 13.7014 7.77084 13.6451 8.15021C14.1202 8.04599 14.5738 8.00553 14.9996 8.02075L14.9996 8C14.9996 7.72386 15.2235 7.5 15.4996 7.5C15.7758 7.5 15.9996 7.72386 15.9996 8C15.9996 8.05657 15.9991 8.11281 15.9979 8.16871C17.1392 8.47838 17.9781 9.23987 18.3435 10.2263C18.9579 11.8853 18.1287 13.8787 15.7027 14.9569C15.4504 15.069 15.1549 14.9554 15.0427 14.7031C14.9306 14.4507 15.0442 14.1552 15.2966 14.0431C17.3705 13.1213 17.7913 11.6147 17.4057 10.5737C17.1874 9.984 16.6776 9.44916 15.9129 9.18633C15.6829 10.7237 15.021 11.9466 14.229 12.7925C14.3126 12.9656 14.3958 13.1436 14.4641 13.3151C14.5662 13.5717 14.441 13.8625 14.1844 13.9646C13.9278 14.0667 13.637 13.9415 13.5349 13.6849C13.5066 13.6137 13.4777 13.5463 13.448 13.4802C13.028 13.7794 12.5905 13.9869 12.1705 14.0835C11.5942 14.2161 10.963 14.1517 10.534 13.6942C9.88917 13.0053 9.84361 11.8611 10.2855 10.8412C10.6652 9.96479 11.4186 9.11781 12.5848 8.54034C12.6387 8.07338 12.7199 7.55894 12.8332 6.98891C12.3926 7.00755 11.9403 7.00326 11.4659 6.97127C11.1904 6.95269 10.9821 6.71428 11.0007 6.43876C11.0192 6.16325 11.2577 5.95496 11.5332 5.97353C12.0633 6.00928 12.5641 6.00772 13.0566 5.97553C13.1605 5.55444 13.3512 4.8331 13.5282 4.33317C13.6203 4.07286 13.906 3.93653 14.1663 4.02867ZM12.501 9.74109C11.8436 10.1821 11.427 10.7219 11.2031 11.2387C10.8542 12.0439 10.9881 12.716 11.2638 13.0105C11.2637 13.0104 11.2639 13.0106 11.2638 13.0105C11.3573 13.11 11.5624 13.1973 11.9463 13.109C12.2578 13.0373 12.6311 12.8571 13.0121 12.5576C12.8658 12.22 12.7272 11.8324 12.6313 11.353C12.5405 10.8996 12.4899 10.3743 12.501 9.74109ZM13.7808 11.7797C14.316 11.0956 14.759 10.1665 14.9271 9.01632C14.539 9.00681 14.1111 9.05601 13.6457 9.17854C13.605 9.19274 13.5647 9.20726 13.525 9.22209C13.4663 10.0545 13.5146 10.671 13.6118 11.1568C13.6578 11.3868 13.7156 11.5913 13.7808 11.7797Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.92028 5.2159C5.77942 4.88398 4.78409 5.00841 4.07616 5.21575C3.72264 5.3193 3.439 5.44393 3.24121 5.5443C3.14215 5.59457 3.0641 5.63901 3.00903 5.67212C2.98147 5.68868 2.95962 5.70244 2.9437 5.71271L2.92429 5.72542L2.91797 5.72966L2.91566 5.73123L2.91393 5.73241C2.91384 5.73249 2.91436 5.73325 2.94925 5.78397C3.23698 6.20225 3.1703 6.10548 2.91393 5.73241C2.68634 5.88881 2.62863 6.20009 2.78502 6.42767C2.94134 6.65514 3.25207 6.71313 3.47963 6.55703L3.4788 6.5576L3.48576 6.55305C3.49318 6.54826 3.50608 6.5401 3.52423 6.52919C3.56057 6.50735 3.6177 6.47463 3.69373 6.43605C3.84612 6.35872 4.07228 6.2589 4.35724 6.17544C4.92619 6.0088 5.72242 5.90898 6.64043 6.17595C7.35305 6.38517 7.66747 6.76919 7.82692 7.16112C7.98173 7.54163 8.0026 7.95751 8.00531 8.33243C7.46199 8.18407 6.79336 8.03682 6.08385 8.00744C5.04808 7.96456 3.8874 8.17096 2.87738 9.01102C1.98877 9.75011 1.78345 10.8818 2.07014 11.853C2.35713 12.8252 3.14925 13.692 4.31803 13.9348C5.22351 14.123 6.18016 13.8639 6.9599 13.5212C7.3403 13.354 7.69572 13.1594 8.0057 12.9665V13.5C8.0057 13.7761 8.22956 14 8.5057 14C8.78184 14 9.0057 13.7754 9.0057 13.4993L9.0057 8.44586C9.0058 8.05404 9.00595 7.40554 8.7532 6.78428C8.48142 6.11625 7.93342 5.51313 6.92136 5.21622L6.92028 5.2159ZM6.04249 9.00659C6.76366 9.03645 7.44769 9.209 8.0057 9.37205V11.757C7.65814 12.0182 7.13927 12.35 6.55757 12.6057C5.85264 12.9155 5.12729 13.0816 4.52148 12.9557C3.75127 12.7957 3.22322 12.2271 3.02922 11.5699C2.83491 10.9116 2.98777 10.2199 3.51683 9.77985C4.27958 9.14545 5.16917 8.97043 6.04249 9.00659Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.4169 4.01646C14.5641 3.62927 14.3695 3.1961 13.9823 3.04894C13.5951 2.90179 13.1619 3.09638 13.0148 3.48358C12.877 3.8462 12.7329 4.31371 12.6171 4.71772C12.0072 4.75709 11.3992 4.76194 10.7966 4.72388C10.3832 4.69777 10.0269 5.01173 10.0008 5.42512C9.97468 5.83851 10.2886 6.19479 10.702 6.22089C11.2136 6.2532 11.7252 6.25763 12.2346 6.23891C12.112 6.80385 12.0204 7.31977 11.9558 7.79323C10.6465 8.41657 9.783 9.33491 9.34166 10.3069C8.82961 11.4346 8.86071 12.7562 9.65959 13.5705C10.2022 14.1227 10.985 14.177 11.652 14.0346C12.0945 13.9401 12.5526 13.7495 12.9972 13.4784C13.0069 13.5001 13.0165 13.5222 13.0262 13.5447C13.1889 13.9256 13.6296 14.1025 14.0105 13.9397C14.3914 13.777 14.5683 13.3362 14.4055 12.9553C14.3441 12.8116 14.2704 12.6599 14.1947 12.5107C15.0196 11.655 15.7125 10.4698 16.01 9.00478C16.6692 9.29212 17.1198 9.75939 17.3353 10.2479C17.5593 10.7555 17.5652 11.335 17.2825 11.8996C16.9964 12.471 16.3824 13.0861 15.2659 13.5596C14.8846 13.7213 14.7066 14.1615 14.8683 14.5429C15.03 14.9242 15.4702 15.1022 15.8516 14.9405C17.211 14.364 18.1411 13.5353 18.6238 12.5711C19.1099 11.6001 19.1092 10.5521 18.7076 9.64224C18.2589 8.62554 17.3533 7.8407 16.1659 7.46418L16.166 7.42505C16.166 7.01084 15.8302 6.67505 15.416 6.67505C15.0724 6.67505 14.7827 6.90612 14.694 7.22135C14.328 7.21089 13.9468 7.23404 13.5537 7.29412C13.6191 6.93098 13.7008 6.53814 13.8013 6.1124C14.549 6.02109 15.287 5.8894 16.0083 5.73293C16.4131 5.64511 16.6701 5.24577 16.5822 4.84097C16.4944 4.43617 16.0951 4.17921 15.6903 4.26702C15.2078 4.37168 14.723 4.46343 14.2376 4.53805C14.2973 4.35061 14.3584 4.17044 14.4169 4.01646ZM10.7075 10.9271C10.9082 10.485 11.2689 10.0119 11.8335 9.60042C11.8415 10.1464 11.8974 10.6182 11.9875 11.0378C12.0776 11.457 12.1996 11.8123 12.3315 12.1248C11.9712 12.3617 11.6267 12.5062 11.3388 12.5676C10.919 12.6573 10.7621 12.5524 10.7299 12.5196C10.5158 12.3014 10.3493 11.7158 10.7075 10.9271ZM14.5379 8.71564C14.3513 9.62696 13.9766 10.3904 13.521 10.9937C13.4968 10.9071 13.4743 10.817 13.4541 10.7226C13.3542 10.2579 13.3003 9.66383 13.3532 8.85955C13.7779 8.7599 14.1733 8.71534 14.5379 8.71564Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.98384 5.20417C4.8591 4.87338 3.8763 4.9975 3.17824 5.20418C2.82993 5.30731 2.54983 5.4316 2.35304 5.53255C2.2544 5.58315 2.1759 5.62829 2.11937 5.66264C2.09108 5.67983 2.06821 5.69437 2.05099 5.7056L2.0294 5.7199L2.02181 5.72504L2.01883 5.72709L2.01754 5.72798L2.01639 5.72878C1.6762 5.9651 1.592 6.43245 1.82832 6.77263C2.06365 7.1114 2.5281 7.19632 2.86791 6.96364L2.8703 6.96207C2.87475 6.95917 2.88417 6.95313 2.89832 6.94453C2.92669 6.92729 2.97373 6.9 3.03768 6.86719C3.1661 6.80131 3.35944 6.71489 3.60409 6.64246C4.09176 6.49807 4.77262 6.41167 5.55976 6.64297C6.13378 6.81342 6.36072 7.11019 6.47827 7.40227C6.55773 7.59972 6.59408 7.81246 6.61063 8.03131C6.17101 7.92588 5.66664 7.83547 5.13731 7.81332C4.1271 7.77104 2.97039 7.9745 1.96162 8.82265C1.03553 9.6013 0.832241 10.7852 1.12309 11.7812C1.41457 12.7793 2.22308 13.6801 3.42556 13.9327C4.3545 14.1278 5.3108 13.8568 6.05641 13.5256C6.25378 13.4379 6.44406 13.3432 6.62429 13.2445V13.25C6.62429 13.6642 6.96008 14 7.37429 14C7.78851 14 8.12429 13.6638 8.12429 13.2496L8.1243 8.49684C8.1245 8.13042 8.12485 7.47597 7.8698 6.84224C7.58688 6.13926 7.01294 5.50937 5.98547 5.20465L5.98384 5.20417ZM5.07459 9.31201C5.62773 9.33516 6.1592 9.45493 6.62429 9.58497V11.4739C6.32191 11.6924 5.90611 11.951 5.44742 12.1548C4.81424 12.4361 4.20849 12.5644 3.73392 12.4647C3.13568 12.339 2.71817 11.8922 2.56296 11.3607C2.40712 10.8271 2.53646 10.2991 2.92694 9.97077C3.56452 9.4347 4.31186 9.28009 5.07459 9.31201Z\"\n    })));\n  },\n  displayName: 'TranslationIcon'\n});\n//# sourceMappingURL=TranslationIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var TriangleEndIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"-2 -2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.7016 3.28138C5.06943 2.65893 4 3.10677 4 3.99395V8.00596C4 8.89313 5.06944 9.34097 5.70161 8.71853L7.73895 6.71251C8.13681 6.32077 8.13681 5.67912 7.73895 5.28738L5.7016 3.28138Z\"\n    }));\n  },\n  displayName: 'TriangleEndIcon'\n});\n//# sourceMappingURL=TriangleEndIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var TriangleDownIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"-2 -2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.07615 4.61732C3.23093 4.24364 3.59557 4 4.00003 4H8.00003C8.40449 4 8.76913 4.24364 8.92391 4.61732C9.07869 4.99099 8.99313 5.42111 8.70714 5.70711L6.70714 7.70711C6.31661 8.09763 5.68345 8.09763 5.29292 7.70711L3.29292 5.70711C3.00692 5.42111 2.92137 4.99099 3.07615 4.61732Z\"\n    }));\n  },\n  displayName: 'TriangleDownIcon'\n});\n//# sourceMappingURL=TriangleDownIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var TriangleUpIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"-2 -2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.07615 7.38268C3.23093 7.75636 3.59557 8 4.00003 8H8.00003C8.40449 8 8.76913 7.75636 8.92391 7.38268C9.07869 7.00901 8.99313 6.57889 8.70714 6.29289L6.70714 4.29289C6.31661 3.90237 5.68345 3.90237 5.29292 4.29289L3.29292 6.29289C3.00692 6.57889 2.92137 7.00901 3.07615 7.38268Z\"\n    }));\n  },\n  displayName: 'TriangleUpIcon'\n});\n//# sourceMappingURL=TriangleUpIcon.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var TvIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 6C2 4.89543 2.89543 4 4 4H16C17.1046 4 18 4.89543 18 6V13C18 14.1046 17.1046 15 16 15H4C2.89543 15 2 14.1046 2 13V6ZM4 5C3.44772 5 3 5.44772 3 6V13C3 13.5523 3.44772 14 4 14H16C16.5523 14 17 13.5523 17 13V6C17 5.44772 16.5523 5 16 5H4Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 16.5C5 16.2239 5.22386 16 5.5 16H14.5C14.7761 16 15 16.2239 15 16.5C15 16.7761 14.7761 17 14.5 17H5.5C5.22386 17 5 16.7761 5 16.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 6C2 4.89543 2.89543 4 4 4H16C17.1046 4 18 4.89543 18 6V13C18 14.1046 17.1046 15 16 15H4C2.89543 15 2 14.1046 2 13V6Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 16C5.22386 16 5 16.2239 5 16.5C5 16.7761 5.22386 17 5.5 17H14.5C14.7761 17 15 16.7761 15 16.5C15 16.2239 14.7761 16 14.5 16H5.5Z\"\n    })));\n  },\n  displayName: 'TvIcon'\n});\n//# sourceMappingURL=TvIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var UnderlineIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 3.5C6 3.22386 5.77614 3 5.5 3C5.22386 3 5 3.22386 5 3.5V9.95455C5 12.7363 7.23385 15 10 15C12.7661 15 15 12.7363 15 9.95455V3.5C15 3.22386 14.7761 3 14.5 3C14.2239 3 14 3.22386 14 3.5V9.95455C14 12.1935 12.2044 14 10 14C7.79559 14 6 12.1935 6 9.95455V3.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 16.5C5 16.2239 5.22386 16 5.5 16H14.5C14.7761 16 15 16.2239 15 16.5C15 16.7761 14.7761 17 14.5 17H5.5C5.22386 17 5 16.7761 5 16.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 3.75C6.5 3.33579 6.16421 3 5.75 3C5.33579 3 5 3.33579 5 3.75V9C5 10.367 5.33884 11.7359 6.1606 12.7802C7.00313 13.8509 8.29163 14.5 10 14.5C11.7084 14.5 12.9969 13.8509 13.8394 12.7802C14.6612 11.7359 15 10.367 15 9V3.75C15 3.33579 14.6642 3 14.25 3C13.8358 3 13.5 3.33579 13.5 3.75V9C13.5 10.1434 13.2138 11.1495 12.6606 11.8526C12.1281 12.5293 11.2916 13 10 13C8.70837 13 7.87187 12.5293 7.3394 11.8526C6.78616 11.1495 6.5 10.1434 6.5 9V3.75Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.75 15.5C5.33579 15.5 5 15.8358 5 16.25C5 16.6642 5.33579 17 5.75 17H14.25C14.6642 17 15 16.6642 15 16.25C15 15.8358 14.6642 15.5 14.25 15.5H5.75Z\"\n    })));\n  },\n  displayName: 'UnderlineIcon'\n});\n//# sourceMappingURL=UnderlineIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var UndoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svgFlippingInRtl\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M5 2.5C5 2.22386 4.77614 2 4.5 2C4.22386 2 4 2.22386 4 2.5V7.4C4 7.73137 4.26863 8 4.6 8H9.5C9.77614 8 10 7.77614 10 7.5C10 7.22386 9.77614 7 9.5 7H5.90603L9.37872 3.98124C11.046 2.53191 13.5725 2.70858 15.0218 4.37584C16.4711 6.0431 16.2945 8.56959 14.6272 10.0189L6.45529 17.1226C6.24688 17.3038 6.2248 17.6196 6.40596 17.828C6.58713 18.0364 6.90294 18.0585 7.11135 17.8774L15.2833 10.7736C17.3673 8.96197 17.5882 5.80385 15.7765 3.71978C13.9648 1.63571 10.8067 1.41487 8.72266 3.22653L5 6.46259V2.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M6.8624 6.5H9.25C9.66421 6.5 10 6.83579 10 7.25C10 7.66422 9.66421 8 9.25 8H4.85C4.38056 8 4 7.61945 4 7.15V2.75C4 2.33579 4.33579 2 4.75 2C5.16421 2 5.5 2.33579 5.5 2.75V5.6968L8.55877 3.03785C10.747 1.13561 14.0631 1.36749 15.9653 3.55577C17.8675 5.74405 17.6357 9.06006 15.4474 10.9623L7.27548 18.066C6.96287 18.3378 6.48915 18.3047 6.21741 17.992C5.94566 17.6794 5.97878 17.2057 6.29139 16.934L14.4633 9.83024C16.0264 8.4715 16.192 6.10291 14.8332 4.53986C13.4745 2.9768 11.1059 2.81118 9.54286 4.16992L6.8624 6.5Z\"\n    }));\n  },\n  displayName: 'UndoIcon'\n});\n//# sourceMappingURL=UndoIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { iconClassNames } from '../utils/iconClassNames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var UrgentIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.2638 2.07705C13.0284 1.93276 12.7205 2.00666 12.5762 2.24211C12.4319 2.47755 12.5058 2.78539 12.7413 2.92968C14.9987 4.31313 16.86 6.34293 17.0004 10.0191C17.0109 10.295 17.2431 10.5102 17.5191 10.4997C17.795 10.4891 18.0102 10.2569 17.9996 9.98095C17.8431 5.88265 15.722 3.58356 13.2638 2.07705Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.0856 4.72739C12.2402 4.49856 12.551 4.43835 12.7798 4.59291C14.3874 5.67871 15.4951 7.23091 15.668 9.01738C15.6835 9.17815 15.6914 9.34043 15.6914 9.50399C15.6914 9.78013 15.4676 10.004 15.1914 10.004C14.9153 10.004 14.6914 9.78013 14.6914 9.50399C14.6914 9.37269 14.6851 9.24256 14.6726 9.11369C14.5355 7.69668 13.648 6.38607 12.2201 5.42159C11.9913 5.26703 11.9311 4.95623 12.0856 4.72739Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.07964 5.43826C2.47719 6.59694 1.30679 9.64594 2.46548 12.2484L3.68939 14.9973L3.77846 17.3173C3.79881 17.8475 4.34823 18.1895 4.83296 17.9736L14.5603 13.6427C15.045 13.4269 15.1585 12.7898 14.7781 12.4199L13.1137 10.8014L11.8898 8.05242C10.7311 5.44997 7.68209 4.27957 5.07964 5.43826ZM3.37902 11.8417C2.44497 9.74374 3.38847 7.28585 5.48638 6.3518C7.58429 5.41775 10.0422 6.36125 10.9762 8.45916L12.2785 11.384L13.8162 12.8794L4.76355 16.9099L4.68126 14.7665L3.37902 11.8417Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.6783 17.8756C10.003 18.1763 9.2236 17.9339 8.82969 17.3363L11.5145 16.1409C11.695 16.8335 11.3536 17.5749 10.6783 17.8756Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.46548 12.2484C1.30679 9.64598 2.47719 6.59698 5.07964 5.4383C7.68209 4.27962 10.7311 5.45002 11.8898 8.05246L13.1137 10.8014L14.7781 12.4199C15.1585 12.7898 15.045 13.427 14.5603 13.6428L4.83296 17.9737C4.34823 18.1895 3.79881 17.8475 3.77846 17.3173L3.68939 14.9974L2.46548 12.2484Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.8297 17.3363C9.2236 17.9339 10.003 18.1763 10.6783 17.8756C11.3536 17.575 11.695 16.8335 11.5145 16.141L8.8297 17.3363Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.0856 4.72738C12.2402 4.49854 12.551 4.43834 12.7798 4.5929C14.3874 5.67869 15.4951 7.2309 15.668 9.01736C15.6835 9.17814 15.6914 9.34042 15.6914 9.50398C15.6914 9.78012 15.4676 10.004 15.1914 10.004C14.9153 10.004 14.6914 9.78012 14.6914 9.50398C14.6914 9.37268 14.6851 9.24254 14.6726 9.11368C14.5355 7.69667 13.6481 6.38606 12.2201 5.42158C11.9913 5.26702 11.9311 4.95621 12.0856 4.72738Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5762 2.24208C12.7205 2.00663 13.0284 1.93274 13.2638 2.07703C15.722 3.58353 17.8431 5.88263 17.9996 9.98092C18.0102 10.2569 17.795 10.4891 17.5191 10.4996C17.2431 10.5102 17.0109 10.295 17.0004 10.0191C16.86 6.34291 14.9987 4.31311 12.7413 2.92965C12.5058 2.78536 12.4319 2.47753 12.5762 2.24208Z\"\n    })));\n  },\n  displayName: 'UrgentIcon'\n});\n//# sourceMappingURL=UrgentIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var UserBlurIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.207 4L2 8.207V6.793L4.793 4h1.414zM3.5 16H5v-1.707l-1.695 1.695c.064.008.13.012.195.012zM15.207 16H15v-1.207l3-3v1.414L15.207 16zM18 9.707l-3.098 3.098a2.492 2.492 0 00-.494-.92L18 8.293v1.414zM12.5 12a1.498 1.498 0 011.5 1.5V16h-1v-2.5a.5.5 0 00-.5-.5h-5a.5.5 0 00-.5.5V16H6v-2.5A1.501 1.501 0 017.5 12h5zM9.722 10.985A2.51 2.51 0 017.707 9.5a2.491 2.491 0 01-.198-1.216 2.5 2.5 0 112.213 2.7zM10 10a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM2.12 15.088l4.844-4.845a3.478 3.478 0 01-.39-1.024L2 13.793v.707c0 .209.043.407.12.588zM11.743 5.464a3.478 3.478 0 00-1.024-.39L11.793 4h1.414l-1.464 1.464zM13.32 7.388a3.487 3.487 0 00-.48-.935L15.293 4H16.5c.066 0 .13.004.195.013l-3.376 3.375zM12.45 11c.439-.43.765-.975.93-1.587l4.5-4.5c.078.18.12.378.12.587v.707l-4.872 4.872c-.2-.051-.411-.079-.628-.079h-.05zM2 11.707L9.707 4H8.293L2 10.293v1.414z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.207 4L2 8.207V6.793L4.793 4h1.414zM13.207 4l-1.464 1.464a3.478 3.478 0 00-1.024-.39L11.793 4h1.414zM12.12 7.173A2.492 2.492 0 009.783 6.01a2.5 2.5 0 102.335 1.164zM12.84 6.453c.204.283.367.597.48.935l3.375-3.375A1.517 1.517 0 0016.5 4h-1.207L12.84 6.453zM7.5 12A1.501 1.501 0 006 13.5V16h8v-2.5a1.498 1.498 0 00-1.5-1.5h-5zM12.5 11c.217 0 .427.028.628.08L18 6.206V5.5c0-.209-.043-.407-.12-.588l-4.5 4.501A3.497 3.497 0 0112.45 11h.05zM14.408 11.885c.225.265.395.577.494.92L18 9.707V8.293l-3.592 3.592zM15 16v-1.207l3-3v1.414L15.207 16H15zM5 15.707v-1.414l-1.695 1.695c.064.008.13.012.195.012h1.207L5 15.707zM6.574 9.219c.076.365.21.71.39 1.024L2.12 15.088A1.495 1.495 0 012 14.5v-.707l4.574-4.574zM9.707 4L2 11.707v-1.414L8.293 4h1.414z\"\n    })));\n  },\n  displayName: 'UserBlurIcon'\n});\n//# sourceMappingURL=UserBlurIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var UserFriendsIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M11 10C12.1046 10 13 10.8954 13 12V13.5C13 15.5544 10.912 17 7.5 17C4.08805 17 2 15.5544 2 13.5V12C2 10.8954 2.89543 10 4 10H11ZM11 11H4C3.44772 11 3 11.4477 3 12V13.5C3 14.9071 4.57862 16 7.5 16C10.4214 16 12 14.9071 12 13.5V12C12 11.4477 11.5523 11 11 11ZM16 10C17.1046 10 18 10.8954 18 12V12.5C18 14.5886 16.4317 16 13.5 16C13.3587 16 13.2206 15.9967 13.0856 15.9902C13.2938 15.7482 13.4684 15.4875 13.6076 15.209L13.705 14.996L13.7438 14.9965C15.976 14.9312 17 13.9593 17 12.5V12C17 11.4477 16.5523 11 16 11L13.829 10.9991C13.6971 10.6265 13.4937 10.2876 13.2353 9.99912L16 10ZM7.5 2C9.433 2 11 3.567 11 5.5C11 7.433 9.433 9 7.5 9C5.567 9 4 7.433 4 5.5C4 3.567 5.567 2 7.5 2ZM14.5 4C15.8807 4 17 5.11929 17 6.5C17 7.88071 15.8807 9 14.5 9C13.1193 9 12 7.88071 12 6.5C12 5.11929 13.1193 4 14.5 4ZM7.5 3C6.11929 3 5 4.11929 5 5.5C5 6.88071 6.11929 8 7.5 8C8.88071 8 10 6.88071 10 5.5C10 4.11929 8.88071 3 7.5 3ZM14.5 5C13.6716 5 13 5.67157 13 6.5C13 7.32843 13.6716 8 14.5 8C15.3284 8 16 7.32843 16 6.5C16 5.67157 15.3284 5 14.5 5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M11 10C12.1046 10 13 10.8954 13 12V13.5C13 15.5544 10.912 17 7.5 17C4.08805 17 2 15.5544 2 13.5V12C2 10.8954 2.89543 10 4 10H11ZM16 10C17.1046 10 18 10.8954 18 12V12.5C18 14.5886 16.4317 16 13.5 16C13.3587 16 13.2206 15.9967 13.0856 15.9902C13.625 15.3625 13.9439 14.6041 13.9932 13.7387L14 13.5V12C14 11.3081 13.7658 10.6709 13.3723 10.1634L13.2353 9.99912L16 10ZM7.5 2C9.433 2 11 3.567 11 5.5C11 7.433 9.433 9 7.5 9C5.567 9 4 7.433 4 5.5C4 3.567 5.567 2 7.5 2ZM14.5 4C15.8807 4 17 5.11929 17 6.5C17 7.88071 15.8807 9 14.5 9C13.1193 9 12 7.88071 12 6.5C12 5.11929 13.1193 4 14.5 4Z\"\n    }));\n  },\n  displayName: 'UserFriendsIcon'\n});\n//# sourceMappingURL=UserFriendsIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var UserPhoneIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 5.5C2 4.67157 2.67157 4 3.5 4H16.5C17.3284 4 18 4.67157 18 5.5V8.90587C17.8584 8.84315 17.4739 8.69751 17 8.72005V5.5C17 5.22386 16.7761 5 16.5 5H3.5C3.22386 5 3 5.22386 3 5.5V14.5C3 14.7761 3.22386 15 3.5 15H6V13.5C6 12.6716 6.67157 12 7.5 12H12.5C13.3284 12 14 12.6716 14 13.5V14.5742C13.5886 14.5873 13.2623 14.7143 13 14.8908V13.5C13 13.2239 12.7761 13 12.5 13H7.5C7.22386 13 7 13.2239 7 13.5V15H12.8526C12.5378 15.2558 12.3277 15.5758 12.1737 15.8104C12.1259 15.8833 12.0834 15.9481 12.0449 16H3.5C2.67157 16 2 15.3284 2 14.5V5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 11C11.3807 11 12.5 9.88071 12.5 8.5C12.5 7.11929 11.3807 6 10 6C8.61929 6 7.5 7.11929 7.5 8.5C7.5 9.88071 8.61929 11 10 11ZM10 10C9.17157 10 8.5 9.32843 8.5 8.5C8.5 7.67157 9.17157 7 10 7C10.8284 7 11.5 7.67157 11.5 8.5C11.5 9.32843 10.8284 10 10 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8345 11.2649L16.2337 10.3236C16.4209 9.88219 16.8693 9.64207 17.3091 9.73369L17.4031 9.75845L17.9029 9.91817C18.3986 10.0765 18.7781 10.5011 18.9007 11.0343C19.192 12.3013 18.8425 13.8439 17.8522 15.6622C16.8634 17.4777 15.7796 18.5694 14.6009 18.9371C14.1432 19.0798 13.6515 18.9761 13.2816 18.6656L13.1839 18.5758L12.8043 18.1947C12.4753 17.8644 12.4075 17.3419 12.6281 16.9331L12.6842 16.8409L13.2563 16.0003C13.4815 15.6695 13.8666 15.513 14.2377 15.5921L14.3384 15.6195L15.3947 15.9718C15.8162 15.6528 16.1677 15.2513 16.4491 14.7673C16.6904 14.3524 16.8481 13.9319 16.9225 13.5057L16.9527 13.2922L16.0732 12.4574C15.7835 12.1824 15.6782 11.7542 15.7967 11.3688L15.8345 11.2649Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2 5.5C2 4.67157 2.67157 4 3.5 4H16.5C17.3284 4 18 4.67157 18 5.5V8.90587C17.8584 8.84315 17.4739 8.69751 17 8.72005V5.5C17 5.22386 16.7761 5 16.5 5H3.5C3.22386 5 3 5.22386 3 5.5V14.5C3 14.7761 3.22386 15 3.5 15H6V13.5C6 12.6716 6.67157 12 7.5 12H12.5C13.3284 12 14 12.6716 14 13.5V14.5742C12.9635 14.6072 12.467 15.3637 12.1737 15.8104C12.1259 15.8834 12.0834 15.9481 12.0449 16H3.5C2.67157 16 2 15.3284 2 14.5V5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.5 8.5C12.5 9.88071 11.3807 11 10 11C8.61929 11 7.5 9.88071 7.5 8.5C7.5 7.11929 8.61929 6 10 6C11.3807 6 12.5 7.11929 12.5 8.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.8345 11.2649L16.2337 10.3236C16.4209 9.88219 16.8693 9.64207 17.3091 9.73369L17.4031 9.75845L17.9029 9.91817C18.3986 10.0765 18.7781 10.5011 18.9007 11.0343C19.192 12.3013 18.8425 13.8439 17.8522 15.6622C16.8634 17.4777 15.7796 18.5694 14.6009 18.9371C14.1432 19.0798 13.6515 18.9761 13.2816 18.6656L13.1839 18.5758L12.8043 18.1947C12.4753 17.8644 12.4075 17.3419 12.6281 16.9331L12.6842 16.8409L13.2563 16.0003C13.4815 15.6695 13.8666 15.513 14.2377 15.5921L14.3384 15.6195L15.3947 15.9718C15.8162 15.6528 16.1677 15.2513 16.4491 14.7673C16.6904 14.3524 16.8481 13.9319 16.9225 13.5057L16.9527 13.2922L16.0732 12.4574C15.7835 12.1824 15.6782 11.7542 15.7967 11.3688L15.8345 11.2649Z\"\n    })));\n  },\n  displayName: 'UserPhoneIcon'\n});\n//# sourceMappingURL=UserPhoneIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var VideoCameraEmphasisIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5 5a2 2 0 00-2 2v6a2 2 0 002 2h6a2 2 0 002-2v-1.029l2.841 1.847A.75.75 0 0017 13.19V6.811a.75.75 0 00-1.16-.629L13 8.032V7a2 2 0 00-2-2H5zm8 4.224l3-1.952v5.457l-3-1.95V9.224zM12 7v6a1 1 0 01-1 1H5a1 1 0 01-1-1V7a1 1 0 011-1h6a1 1 0 011 1zM6.892 2.03a7.067 7.067 0 00-.85.37 4.67 4.67 0 00-.292.166l-.018.012-.006.004-.002.001-.001.001L6 3l-.277-.416a.5.5 0 00.554.833l.007-.005.041-.025c.038-.023.099-.058.18-.1.162-.085.407-.2.728-.317A8.105 8.105 0 0110 2.5c1.183 0 2.125.236 2.767.47.32.117.566.232.728.317a3.69 3.69 0 01.22.125l.008.004.262-.393-.262.393a.5.5 0 10.554-.832L14 3l.277-.416-.001-.001-.002-.001-.006-.004-.019-.012a4.665 4.665 0 00-.292-.166 7.063 7.063 0 00-.849-.37A9.104 9.104 0 0010 1.5a9.104 9.104 0 00-3.108.53zm-.615 1.387c-.001 0 0 0 0 0zm7.446 0zM6.892 17.97c.733.267 1.79.53 3.108.53a9.104 9.104 0 003.108-.53c.367-.133.653-.268.85-.37a4.626 4.626 0 00.291-.166l.019-.012.006-.004.002-.001s.001-.001-.276-.417l.277.416a.5.5 0 00-.554-.832l.262.393-.262-.393-.008.005a3.67 3.67 0 01-.22.125c-.162.084-.407.2-.728.316A8.106 8.106 0 0110 17.5a8.106 8.106 0 01-2.767-.47 6.075 6.075 0 01-.728-.317 3.663 3.663 0 01-.22-.125l-.008-.005a.5.5 0 00-.554.833L6 17l-.277.416.001.001.002.001.006.004.018.012.063.038a7.063 7.063 0 001.078.497zm-.615-1.386c-.001 0 0 0 0 0zm7.446 0z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.892 2.03a7.067 7.067 0 00-.85.37 4.67 4.67 0 00-.292.166l-.018.012-.006.004-.002.001-.001.001L6 3l-.277-.416a.5.5 0 00.554.833l.007-.005.041-.025c.038-.023.099-.058.18-.1.162-.085.407-.2.728-.317A8.105 8.105 0 0110 2.5c1.183 0 2.125.236 2.767.47.32.117.566.232.728.317a3.69 3.69 0 01.22.125l.008.004.262-.393-.262.393a.5.5 0 10.554-.832L14 3l.277-.416-.001-.001-.002-.001-.006-.004-.019-.012a4.665 4.665 0 00-.292-.166 7.063 7.063 0 00-.849-.37A9.104 9.104 0 0010 1.5a9.104 9.104 0 00-3.108.53zm-.615 1.387c-.001 0 0 0 0 0zm7.446 0zM6.892 17.97c.733.267 1.79.53 3.108.53a9.104 9.104 0 003.108-.53c.367-.133.653-.268.85-.37a4.626 4.626 0 00.291-.166l.019-.012.006-.004.002-.001s.001-.001-.276-.417l.277.416a.5.5 0 00-.554-.832l.262.393-.262-.393-.008.005a3.67 3.67 0 01-.22.125c-.162.084-.407.2-.728.316A8.106 8.106 0 0110 17.5a8.106 8.106 0 01-2.767-.47 6.075 6.075 0 01-.728-.317 3.663 3.663 0 01-.22-.125l-.008-.005a.5.5 0 00-.554.833L6 17l-.277.416.001.001.002.001.006.004.018.012.063.038a7.063 7.063 0 001.078.497zm-.615-1.386c-.001 0 0 0 0 0zm7.446 0zM2.5 7v6a2 2 0 002 2h6a2 2 0 002-2V7a2 2 0 00-2-2h-6a2 2 0 00-2 2zM13.5 11.55l2.777 2.257a.75.75 0 001.223-.582v-6.45a.75.75 0 00-1.223-.582L13.5 8.45v3.1z\"\n    }))));\n  },\n  displayName: 'VideoCameraEmphasisIcon'\n});\n//# sourceMappingURL=VideoCameraEmphasisIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var VideoLoadingIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 4C3.11929 4 2 5.11929 2 6.5V10.2572C2.30711 10.0035 2.64222 9.78261 3 9.59971V6.5C3 5.67157 3.67157 5 4.5 5H11.5C12.3284 5 13 5.67157 13 6.5V13.5C13 14.3284 12.3284 15 11.5 15H10.9776C10.9466 15.3434 10.8841 15.6777 10.793 16H11.5C12.8807 16 14 14.8807 14 13.5V12.5L16.4 14.3C17.0592 14.7944 18 14.324 18 13.5V6.49998C18 5.67594 17.0592 5.20556 16.4 5.69998L14 7.49998V6.5C14 5.11929 12.8807 4 11.5 4H4.5ZM14 8.74998L17 6.49998V13.5L14 11.25V8.74998Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14.5C10 16.9853 7.98528 19 5.5 19C3.01472 19 1 16.9853 1 14.5C1 12.0147 3.01472 10 5.5 10C7.98528 10 10 12.0147 10 14.5ZM3.5 11.5C3.22386 11.5 3 11.7239 3 12V13.5C3 13.7761 3.22386 14 3.5 14H5C5.27614 14 5.5 13.7761 5.5 13.5C5.5 13.2239 5.27614 13 5 13H4.53179C4.58213 12.9722 4.63372 12.9464 4.68645 12.923C4.93176 12.8137 5.19656 12.755 5.46505 12.7503C5.73354 12.7456 6.00023 12.795 6.24921 12.8956C6.4982 12.9962 6.72437 13.1459 6.91425 13.3358C7.10952 13.531 7.4261 13.531 7.62136 13.3358C7.81662 13.1405 7.81662 12.8239 7.62136 12.6287C7.33654 12.3439 6.99727 12.1193 6.6238 11.9684C6.25033 11.8175 5.85029 11.7434 5.44755 11.7505C5.04482 11.7575 4.64762 11.8456 4.27966 12.0094C4.18383 12.0521 4.09049 12.0997 4 12.1519V12C4 11.7239 3.77614 11.5 3.5 11.5ZM4.3762 17.0316C4.74967 17.1825 5.14971 17.2566 5.55245 17.2495C5.95518 17.2425 6.35238 17.1544 6.72034 16.9906C6.81617 16.9479 6.90951 16.9003 7 16.8481V17C7 17.2761 7.22386 17.5 7.5 17.5C7.77614 17.5 8 17.2761 8 17V15.5C8 15.2239 7.77614 15 7.5 15H6C5.72386 15 5.5 15.2239 5.5 15.5C5.5 15.7761 5.72386 16 6 16H6.46821C6.41787 16.0278 6.36628 16.0536 6.31355 16.077C6.06824 16.1863 5.80344 16.245 5.53495 16.2497C5.26646 16.2544 4.99977 16.205 4.75079 16.1044C4.5018 16.0038 4.27563 15.8541 4.08575 15.6642C3.89049 15.469 3.5739 15.469 3.37864 15.6642C3.18338 15.8595 3.18338 16.1761 3.37864 16.3713C3.66346 16.6561 4.00273 16.8807 4.3762 17.0316Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 4C11.8807 4 13 5.11929 13 6.5V13.5C13 14.7799 12.0382 15.8352 10.7979 15.9824C10.9296 15.5108 11 15.0136 11 14.5C11 11.4624 8.53757 9 5.5 9C4.17037 9 2.95094 9.47182 2 10.2572V6.5C2 5.11929 3.11929 4 4.5 4H10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 12.0815V7.93082L16.7692 5.61756C17.2575 5.20962 18 5.55685 18 6.19315V13.8606C18 14.4999 17.2512 14.8461 16.7642 14.4319L14 12.0815Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 14.5C10 16.9853 7.98528 19 5.5 19C3.01472 19 1 16.9853 1 14.5C1 12.0147 3.01472 10 5.5 10C7.98528 10 10 12.0147 10 14.5ZM3.5 11.5C3.22386 11.5 3 11.7239 3 12V13.5C3 13.7761 3.22386 14 3.5 14H5C5.27614 14 5.5 13.7761 5.5 13.5C5.5 13.2239 5.27614 13 5 13H4.53179C4.58213 12.9722 4.63372 12.9464 4.68645 12.923C4.93176 12.8137 5.19656 12.755 5.46505 12.7503C5.73354 12.7456 6.00023 12.795 6.24921 12.8956C6.4982 12.9962 6.72437 13.1459 6.91425 13.3358C7.10952 13.531 7.4261 13.531 7.62136 13.3358C7.81662 13.1405 7.81662 12.8239 7.62136 12.6287C7.33654 12.3439 6.99727 12.1193 6.6238 11.9684C6.25033 11.8175 5.85029 11.7434 5.44755 11.7505C5.04482 11.7575 4.64762 11.8456 4.27966 12.0094C4.18383 12.0521 4.09049 12.0997 4 12.1519V12C4 11.7239 3.77614 11.5 3.5 11.5ZM4.3762 17.0316C4.74967 17.1825 5.14971 17.2566 5.55245 17.2495C5.95518 17.2425 6.35238 17.1544 6.72034 16.9906C6.81617 16.9479 6.90951 16.9003 7 16.8481V17C7 17.2761 7.22386 17.5 7.5 17.5C7.77614 17.5 8 17.2761 8 17V15.5C8 15.2239 7.77614 15 7.5 15H6C5.72386 15 5.5 15.2239 5.5 15.5C5.5 15.7761 5.72386 16 6 16H6.46821C6.41787 16.0278 6.36628 16.0536 6.31355 16.077C6.06824 16.1863 5.80344 16.245 5.53495 16.2497C5.26646 16.2544 4.99977 16.205 4.75079 16.1044C4.5018 16.0038 4.27563 15.8541 4.08575 15.6642C3.89049 15.469 3.5739 15.469 3.37864 15.6642C3.18338 15.8595 3.18338 16.1761 3.37864 16.3713C3.66346 16.6561 4.00273 16.8807 4.3762 17.0316Z\"\n    })));\n  },\n  displayName: 'VideoLoadingIcon'\n});\n//# sourceMappingURL=VideoLoadingIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var VideomailIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      style: {\n        overflow: 'visible'\n      },\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4.5 4C3.11929 4 2 5.11929 2 6.5V9.33681C2.31085 9.18915 2.64693 9.08595 3 9.03544V6.5C3 5.67157 3.67157 5 4.5 5H11.5C12.3284 5 13 5.67157 13 6.5V13.5C13 14.3284 12.3284 15 11.5 15H11V16H11.5C12.8807 16 14 14.8807 14 13.5V12.5L16.4 14.3C17.0592 14.7944 18 14.324 18 13.5V6.49998C18 5.67594 17.0592 5.20556 16.4 5.69998L14 7.49998V6.5C14 5.11929 12.8807 4 11.5 4H4.5ZM14 8.74998L17 6.49998V13.5L14 11.25V8.74998Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M1 12.5C1 11.1193 2.11929 10 3.5 10H7.5C8.88071 10 10 11.1193 10 12.5V16.5C10 17.8807 8.88071 19 7.5 19H3.5C2.11929 19 1 17.8807 1 16.5V12.5ZM5.02008 12.534C4.94209 12.4811 4.85564 12.4546 4.7607 12.4546C4.69458 12.4546 4.63186 12.4687 4.57252 12.4969C4.51319 12.5234 4.46148 12.5596 4.41741 12.6054C4.37333 12.6513 4.33773 12.7051 4.31061 12.7668C4.28518 12.8286 4.27246 12.8938 4.27246 12.9626V16.0374C4.27246 16.1045 4.28518 16.1689 4.31061 16.2306C4.33773 16.2924 4.37333 16.347 4.41741 16.3947C4.46318 16.4405 4.51573 16.4776 4.57507 16.5058C4.6344 16.5323 4.69628 16.5455 4.7607 16.5455C4.80986 16.5455 4.85564 16.5384 4.89802 16.5243C4.94209 16.5102 4.98532 16.489 5.02771 16.4608L7.32395 14.8943C7.39346 14.8485 7.44771 14.7867 7.4867 14.7091C7.52569 14.6315 7.54519 14.5503 7.54519 14.4656C7.54519 14.3774 7.52485 14.2963 7.48416 14.2222C7.44347 14.1463 7.38753 14.0855 7.31633 14.0396L5.02008 12.534Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.5 4C11.8807 4 13 5.11929 13 6.5V13.5C13 14.7095 12.1411 15.7184 11 15.95V12.5C11 10.567 9.433 9 7.5 9H3.5C2.9632 9 2.45463 9.12085 2 9.33681V6.5C2 5.11929 3.11929 4 4.5 4H10.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14 12.0815V7.93082L16.7692 5.61756C17.2575 5.20962 18 5.55685 18 6.19315V13.8606C18 14.4999 17.2512 14.8461 16.7642 14.4319L14 12.0815Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M1 12.5C1 11.1193 2.11929 10 3.5 10H7.5C8.88071 10 10 11.1193 10 12.5V16.5C10 17.8807 8.88071 19 7.5 19H3.5C2.11929 19 1 17.8807 1 16.5V12.5ZM5.02008 12.534C4.94209 12.4811 4.85564 12.4546 4.7607 12.4546C4.69458 12.4546 4.63186 12.4687 4.57252 12.4969C4.51319 12.5234 4.46148 12.5596 4.41741 12.6054C4.37333 12.6513 4.33773 12.7051 4.31061 12.7668C4.28518 12.8286 4.27246 12.8938 4.27246 12.9626V16.0374C4.27246 16.1045 4.28518 16.1689 4.31061 16.2306C4.33773 16.2924 4.37333 16.347 4.41741 16.3947C4.46318 16.4405 4.51573 16.4776 4.57507 16.5058C4.6344 16.5323 4.69628 16.5455 4.7607 16.5455C4.80986 16.5455 4.85564 16.5384 4.89802 16.5243C4.94209 16.5102 4.98532 16.489 5.02771 16.4608L7.32395 14.8943C7.39346 14.8485 7.44771 14.7867 7.4867 14.7091C7.52569 14.6315 7.54519 14.5503 7.54519 14.4656C7.54519 14.3774 7.52485 14.2963 7.48416 14.2222C7.44347 14.1463 7.38753 14.0855 7.31633 14.0396L5.02008 12.534Z\"\n    })));\n  },\n  displayName: 'VideomailIcon'\n});\n//# sourceMappingURL=VideomailIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var VideoProhibitedIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M2 6.5C2 5.11929 3.11929 4 4.5 4H11.5C12.8807 4 14 5.11929 14 6.5V7.49998L16.4 5.69998C17.0592 5.20556 18 5.67594 18 6.49998V10.2572C17.6929 10.0035 17.3578 9.78261 17 9.59971V6.49998L14 8.74998V9.02242C13.6566 9.05337 13.3223 9.11588 13 9.20703V6.5C13 5.67157 12.3284 5 11.5 5H4.5C3.67157 5 3 5.67157 3 6.5V13.5C3 14.3284 3.67157 15 4.5 15H9.02242C9.05337 15.3434 9.11588 15.6777 9.20703 16H4.5C3.11929 16 2 14.8807 2 13.5V6.5ZM10 14.5C10 16.9853 12.0147 19 14.5 19C16.9853 19 19 16.9853 19 14.5C19 12.0147 16.9853 10 14.5 10C12.0147 10 10 12.0147 10 14.5ZM12.4039 17.3032L17.3032 12.4039C17.7408 12.9882 18 13.7138 18 14.5C18 16.433 16.433 18 14.5 18C13.7138 18 12.9882 17.7408 12.4039 17.3032ZM11.6968 16.5961C11.2592 16.0118 11 15.2862 11 14.5C11 12.567 12.567 11 14.5 11C15.2862 11 16.0118 11.2592 16.5961 11.6968L11.6968 16.5961Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M13 6.5C13 5.11929 11.8807 4 10.5 4H4.5C3.11929 4 2 5.11929 2 6.5V13.5C2 14.8807 3.11929 16 4.5 16H9.20703C9.07217 15.5232 9 15.02 9 14.5C9 11.9824 10.6915 9.85996 13 9.20703V6.5ZM18 6.19315V10.2572C17.0491 9.47182 15.8296 9 14.5 9C14.3315 9 14.1647 9.00758 14 9.02242V7.93082L16.7692 5.61756C17.2575 5.20962 18 5.55685 18 6.19315ZM10 14.5C10 16.9853 12.0147 19 14.5 19C16.9853 19 19 16.9853 19 14.5C19 12.0147 16.9853 10 14.5 10C12.0147 10 10 12.0147 10 14.5ZM11 14.5C11 12.567 12.567 11 14.5 11C15.2862 11 16.0118 11.2592 16.5961 11.6968L11.6968 16.5961C11.2592 16.0118 11 15.2862 11 14.5ZM14.5 18C13.7138 18 12.9882 17.7408 12.4039 17.3032L17.3032 12.4039C17.7408 12.9882 18 13.7138 18 14.5C18 16.433 16.433 18 14.5 18Z\"\n    }));\n  },\n  displayName: 'VideoProhibitedIcon'\n});\n//# sourceMappingURL=VideoProhibitedIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var VisioColorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 32 32\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 29H28.5C28.7761 29 29 28.7761 29 28.5V9H24.5C23.6716 9 23 8.32843 23 7.5V3H9.5C9.22386 3 9 3.22386 9 3.5V28.5C9 28.7761 9.22386 29 9.5 29Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M28.29 7.99996L24 3.70996V7.49996C24 7.7761 24.2239 7.99996 24.5 7.99996H28.29Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M29.56 7.85L24.15 2.44C23.8677 2.16045 23.4873 2.00251 23.09 2H9.5C8.67157 2 8 2.67157 8 3.5V28.5C8 29.3284 8.67157 30 9.5 30H28.5C29.3284 30 30 29.3284 30 28.5V8.91C29.9975 8.51274 29.8396 8.13226 29.56 7.85ZM24 3.71L28.29 8H24.5C24.2239 8 24 7.77614 24 7.5V3.71ZM9.5 29H28.5C28.7761 29 29 28.7761 29 28.5V9H24.5C23.6716 9 23 8.32843 23 7.5V3H9.5C9.22386 3 9 3.22386 9 3.5V28.5C9 28.7761 9.22386 29 9.5 29Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"rect\", {\n      x: \"2\",\n      y: \"11\",\n      width: \"14\",\n      height: \"14\",\n      rx: \"1.5\",\n      fill: \"#185ABD\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.58 19.29C8.82 19.9567 8.96 20.3767 9 20.55C9 20.38 9.19 19.93 9.44 19.21L11.31 14H13L9.88 22H8.08L5 14H6.74L8.58 19.29Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M22.5 22H19.5V21H22.5C22.7761 21 23 20.7761 23 20.5V17.5H24V20.5C24 21.3284 23.3284 22 22.5 22Z\",\n      fill: \"#185ABD\"\n    }), /*#__PURE__*/React.createElement(\"rect\", {\n      x: \"17\",\n      y: \"19\",\n      width: \"3\",\n      height: \"5\",\n      fill: \"#41A5EE\"\n    }), /*#__PURE__*/React.createElement(\"rect\", {\n      x: \"20.499\",\n      y: \"15.5029\",\n      width: \"4.24\",\n      height: \"4.24\",\n      transform: \"rotate(-45 20.499 15.5029)\",\n      fill: \"#103F91\"\n    }));\n  },\n  displayName: 'VisioColorIcon'\n});\n//# sourceMappingURL=VisioColorIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var VisioIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M26 9.16989V18.8299C26 19.4799 25.48 19.9999 24.83 19.9999H15.17C14.52 19.9999 14 19.4799 14 18.8299V9.16989C14 9.10989 14 9.05989 14.01 8.99989C14.09 8.42989 14.58 7.99989 15.17 7.99989H24.83C25.48 7.99989 26 8.51989 26 9.16989Z\",\n      fill: \"#2B7CD3\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M19.66 9.83009L17 12.4801L14.82 14.6601C14.6 14.8901 14.3 15.0001 14 15.0001C13.7 15.0001 13.4 14.8901 13.17 14.6601L8.34 9.83009C8.11 9.60009 8 9.30009 8 9.00009C8 8.70009 8.11 8.40009 8.34 8.18009L13.17 3.34009C13.63 2.89009 14.37 2.89009 14.82 3.34009L19.48 8.00009L19.66 8.18009C20.11 8.63009 20.11 9.37009 19.66 9.83009Z\",\n      fill: \"#41A5EE\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M20 20.5C20 23.54 17.54 26 14.5 26C12.36 26 10.51 24.78 9.61 23C9.22 22.25 9 21.4 9 20.5C9 17.63 11.19 15.28 14 15.03C14.16 15.01 14.33 15 14.5 15C15.4 15 16.25 15.22 17 15.61C18.64 16.43 19.8 18.07 19.97 20C19.99 20.16 20 20.33 20 20.5Z\",\n      fill: \"#103F91\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 10.1699V21.6499C17 22.2899 16.31 22.9999 15.6 22.9999H9.61C9.22 22.2499 9 21.3999 9 20.4999C9 17.6299 11.19 15.2799 14 15.0299V14.9999C13.7 14.9999 13.4 14.8899 13.17 14.6599L8.34 9.82989C8.11 9.59989 8 9.29989 8 8.99989H15.83C16.47 8.99989 17 9.52989 17 10.1699Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.8335 22H3.16649C2.52549 22 2.00049 21.475 2.00049 20.833V9.167C2.00049 8.525 2.52549 8 3.16649 8H14.8335C15.4755 8 16.0005 8.525 16.0005 9.167V20.833C16.0005 21.475 15.4755 22 14.8335 22Z\",\n      fill: \"#185ABD\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.59552 16.2942C8.82252 16.9602 8.95652 17.3802 8.99752 17.5552H9.02552C9.06552 17.3802 9.21052 16.9302 9.46052 16.2052L11.2515 11.0002H12.8965L9.86152 19.0002H8.09852L5.10352 11.0002H6.79952L8.59552 16.2942Z\",\n      fill: \"white\"\n    }));\n  },\n  displayName: 'VisioIcon'\n});\n//# sourceMappingURL=VisioIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var VolumeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.9961 3.00613C11.9961 2.13311 10.9558 1.67928 10.3159 2.27313L6.44369 5.86651C6.35122 5.95232 6.22973 6.00001 6.10358 6.00001H3.49609C2.66767 6.00001 1.99609 6.67158 1.99609 7.50001V12.5C1.99609 13.3284 2.66767 14 3.49609 14H6.10358C6.22973 14 6.35122 14.0477 6.44369 14.1335L10.3159 17.7269C10.9558 18.3207 11.9961 17.8669 11.9961 16.9939V3.00613ZM7.12392 6.59951L10.9961 3.00613V16.9939L7.12392 13.4005C6.84651 13.1431 6.48204 13 6.10358 13H3.49609C3.21995 13 2.99609 12.7761 2.99609 12.5V7.50001C2.99609 7.22386 3.21995 7.00001 3.49609 7.00001H6.10358C6.48204 7.00001 6.84651 6.85695 7.12392 6.59951Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.0804 12.9332C13.8412 12.7954 13.7589 12.4897 13.8967 12.2504C14.6729 10.9028 14.7284 9.1916 13.8961 7.74991C13.758 7.51076 13.8399 7.20497 14.0791 7.0669C14.3182 6.92883 14.624 7.01076 14.7621 7.24991C15.7801 9.01318 15.7103 11.1054 14.7633 12.7495C14.6254 12.9888 14.3197 13.0711 14.0804 12.9332Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3.00613C12 2.13311 10.9597 1.67928 10.3198 2.27313L6.4476 5.86651C6.35513 5.95232 6.23364 6.00001 6.10749 6.00001H3.5C2.67157 6.00001 2 6.67158 2 7.50001V12.5C2 13.3284 2.67157 14 3.5 14H6.10749C6.23364 14 6.35513 14.0477 6.4476 14.1335L10.3198 17.7269C10.9597 18.3207 12 17.8669 12 16.9939V3.00613Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.0785 12.9333C13.8393 12.7954 13.757 12.4897 13.8948 12.2504C14.671 10.9029 14.7265 9.19163 13.8942 7.74995C13.7561 7.5108 13.838 7.205 14.0772 7.06693C14.3163 6.92886 14.6221 7.0108 14.7602 7.24995C15.7782 9.01322 15.7084 11.1054 14.7614 12.7496C14.6235 12.9888 14.3178 13.0711 14.0785 12.9333Z\"\n    })));\n  },\n  displayName: 'VolumeIcon'\n});\n//# sourceMappingURL=VolumeIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var VolumeDownIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M11.9961 3.00613C11.9961 2.13311 10.9558 1.67928 10.3159 2.27313L6.44369 5.86651C6.35122 5.95232 6.22973 6.00001 6.10358 6.00001H3.49609C2.66767 6.00001 1.99609 6.67158 1.99609 7.50001V12.5C1.99609 13.3284 2.66767 14 3.49609 14H6.10358C6.22973 14 6.35122 14.0477 6.44369 14.1335L10.3159 17.7269C10.9558 18.3207 11.9961 17.8669 11.9961 16.9939V3.00613ZM7.12392 6.59951L10.9961 3.00613V16.9939L7.12392 13.4005C6.84651 13.1431 6.48204 13 6.10358 13H3.49609C3.21995 13 2.99609 12.7761 2.99609 12.5V7.50001C2.99609 7.22386 3.21995 7.00001 3.49609 7.00001H6.10358C6.48204 7.00001 6.84651 6.85695 7.12392 6.59951Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M12 3.00613C12 2.13311 10.9597 1.67928 10.3198 2.27313L6.4476 5.86651C6.35513 5.95232 6.23364 6.00001 6.10749 6.00001H3.5C2.67157 6.00001 2 6.67158 2 7.50001V12.5C2 13.3284 2.67157 14 3.5 14H6.10749C6.23364 14 6.35513 14.0477 6.4476 14.1335L10.3198 17.7269C10.9597 18.3207 12 17.8669 12 16.9939V3.00613Z\"\n    }));\n  },\n  displayName: 'VolumeDownIcon'\n});\n//# sourceMappingURL=VolumeDownIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var VolumeUpIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      className: classes.svg,\n      viewBox: \"2 2 16 16\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M11.9961 3.00614C11.9961 2.13312 10.9558 1.67929 10.3159 2.27314L6.44369 5.86652C6.35122 5.95234 6.22973 6.00002 6.10358 6.00002H3.49609C2.66767 6.00002 1.99609 6.67159 1.99609 7.50002V12.5C1.99609 13.3284 2.66767 14 3.49609 14H6.10358C6.22973 14 6.35122 14.0477 6.44369 14.1335L10.3159 17.7269C10.9558 18.3208 11.9961 17.8669 11.9961 16.9939V3.00614ZM7.12392 6.59952L10.9961 3.00614V16.9939L7.12392 13.4005C6.84651 13.1431 6.48204 13 6.10358 13H3.49609C3.21995 13 2.99609 12.7762 2.99609 12.5V7.50002C2.99609 7.22388 3.21995 7.00002 3.49609 7.00002H6.10358C6.48204 7.00002 6.84651 6.85696 7.12392 6.59952Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.2557 4.62761C15.4614 4.44334 15.7775 4.46068 15.9617 4.66635C18.678 7.69793 18.678 12.3021 15.9618 15.3337C15.7775 15.5393 15.4614 15.5567 15.2557 15.3724C15.0501 15.1881 15.0327 14.872 15.217 14.6664C17.5929 12.0145 17.5929 7.98545 15.217 5.33365C15.0327 5.12799 15.05 4.81188 15.2557 4.62761Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.0804 12.9332C13.8412 12.7954 13.7589 12.4897 13.8967 12.2504C14.6729 10.9029 14.7284 9.19161 13.8961 7.74993C13.758 7.51078 13.8399 7.20498 14.0791 7.06691C14.3182 6.92884 14.624 7.01078 14.7621 7.24993C15.7801 9.0132 15.7103 11.1054 14.7633 12.7495C14.6254 12.9888 14.3197 13.0711 14.0804 12.9332Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12 3.00613C12 2.13311 10.9597 1.67928 10.3198 2.27313L6.4476 5.86651C6.35513 5.95232 6.23364 6.00001 6.10749 6.00001H3.5C2.67157 6.00001 2 6.67158 2 7.50001V12.5C2 13.3284 2.67157 14 3.5 14H6.10749C6.23364 14 6.35513 14.0477 6.4476 14.1335L10.3198 17.7269C10.9597 18.3207 12 17.8669 12 16.9939V3.00613Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.2537 4.62764C15.4594 4.44337 15.7755 4.46071 15.9598 4.66638C18.676 7.69797 18.676 12.3021 15.9598 15.3337C15.7756 15.5394 15.4594 15.5567 15.2538 15.3724C15.0481 15.1882 15.0308 14.872 15.215 14.6664C17.591 12.0146 17.591 7.98548 15.215 5.33369C15.0307 5.12802 15.0481 4.81191 15.2537 4.62764Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.0785 12.9333C13.8393 12.7954 13.757 12.4897 13.8948 12.2504C14.671 10.9029 14.7265 9.19163 13.8942 7.74995C13.7561 7.5108 13.838 7.205 14.0772 7.06693C14.3163 6.92886 14.6221 7.0108 14.7602 7.24995C15.7782 9.01322 15.7084 11.1054 14.7614 12.7496C14.6235 12.9888 14.3178 13.0711 14.0785 12.9333Z\"\n    })));\n  },\n  displayName: 'VolumeUpIcon'\n});\n//# sourceMappingURL=VolumeUpIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var WandIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16.5001 2C16.7762 2 17.0001 2.22386 17.0001 2.5V3H17.5001C17.7762 3 18.0001 3.22386 18.0001 3.5C18.0001 3.77614 17.7762 4 17.5001 4H17.0001V4.5C17.0001 4.77614 16.7762 5 16.5001 5C16.224 5 16.0001 4.77614 16.0001 4.5V4H15.5001C15.224 4 15.0001 3.77614 15.0001 3.5C15.0001 3.22386 15.224 3 15.5001 3H16.0001V2.5C16.0001 2.22386 16.224 2 16.5001 2Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5001 6C6.77625 6 7.0001 5.77614 7.0001 5.5C7.0001 5.22386 6.77625 5 6.5001 5H6.0001V4.5C6.0001 4.22386 5.77625 4 5.5001 4C5.22396 4 5.0001 4.22386 5.0001 4.5V5H4.5001C4.22396 5 4.0001 5.22386 4.0001 5.5C4.0001 5.77614 4.22396 6 4.5001 6H5.0001V6.5C5.0001 6.77614 5.22396 7 5.5001 7C5.77625 7 6.0001 6.77614 6.0001 6.5V6H6.5001Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.5001 15C15.7762 15 16.0001 14.7761 16.0001 14.5C16.0001 14.2239 15.7762 14 15.5001 14H15.0001V13.5C15.0001 13.2239 14.7762 13 14.5001 13C14.224 13 14.0001 13.2239 14.0001 13.5V14H13.5001C13.224 14 13.0001 14.2239 13.0001 14.5C13.0001 14.7761 13.224 15 13.5001 15H14.0001V15.5C14.0001 15.7761 14.224 16 14.5001 16C14.7762 16 15.0001 15.7761 15.0001 15.5V15H15.5001Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M13.4346 6.56566C12.687 5.81812 11.475 5.81812 10.7275 6.56566L2.56067 14.7324C1.81311 15.4799 1.81311 16.6919 2.56066 17.4395C3.3082 18.187 4.52021 18.187 5.26776 17.4395L13.4346 9.27278C14.1821 8.52523 14.1821 7.31321 13.4346 6.56566ZM11.4346 7.27277C11.7916 6.91575 12.3704 6.91575 12.7275 7.27277C13.0845 7.6298 13.0845 8.20865 12.7274 8.56567L12.2501 9.04299L10.9572 7.7501L11.4346 7.27277ZM10.2501 8.4572L11.543 9.75009L4.56066 16.7324C4.20363 17.0894 3.62479 17.0894 3.26777 16.7324C2.91074 16.3754 2.91074 15.7965 3.26777 15.4395L10.2501 8.4572Z\"\n    }));\n  },\n  displayName: 'WandIcon'\n});\n//# sourceMappingURL=WandIcon.js.map\n","// This is Fluent-style icon\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var WhiteboardIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 20 20\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M12.8909,4 L11.8947,5 L5,5 C3.94563773,5 3.08183483,5.81587733 3.00548573,6.85073759 L3,7 L3,7.93304 C3.47803,7.55093 4.02816,7.14442 4.57397,6.82886 C5.02331,6.56908 5.5064,6.34883 5.96843,6.27026 C6.43964,6.19013 6.95714,6.25003 7.35356,6.64645 C7.5652,6.85809 7.69589,7.1065 7.73962,7.3821 C7.78203,7.64932 7.73713,7.90637 7.65956,8.13543 C7.53525167,8.502505 7.29857528,8.87317028 7.06342551,9.20988532 L6.82956,9.53849 C6.57002,9.9001 6.33421,10.2286 6.17356,10.5491 C5.99399,10.9073 5.9618,11.1542 6.02435,11.3419 C6.1049,11.5835 6.2283,11.6844 6.36375,11.737 C6.52509,11.7997 6.75863,11.8123 7.0616,11.7579 C7.66848,11.6489 8.34429,11.3104 8.74276,11.0713 C8.97955,10.9292 9.28668,11.006 9.42875,11.2428 C9.57083,11.4796 9.49405,11.7867 9.25726,11.9288 C8.8224,12.1897 8.0232,12.6012 7.23841,12.7421 C6.84556,12.8127 6.4041,12.8254 6.00189,12.6693 C5.5738,12.5031 5.24512,12.1665 5.07567,11.6581 C4.88822,11.0958 5.05535,10.5483 5.27961,10.101 C5.43869,9.783632 5.6534244,9.4658096 5.8619636,9.17198592 L6.10999,8.82589 C6.40207,8.41742 6.61887,8.09086 6.7124,7.81467 C6.75618,7.68539 6.76137,7.59799 6.75198,7.53881 C6.74392,7.488 6.72095,7.42805 6.64645,7.35356 C6.5585,7.2656 6.41716,7.20831 6.13608,7.25611 C5.84583,7.30547 5.48323,7.45827 5.07449,7.69458 C4.44434429,8.05890857 3.79155531,8.56933102 3.25685682,9.01445073 L3,9.23059 L3,13 C3,14.0543909 3.81587733,14.9181678 4.85073759,14.9945144 L5,15 L15,15 C16.0543909,15 16.9181678,14.18415 16.9945144,13.1492661 L17,13 L17,8.1379 L18,7.13407 L18,13 C18,14.597725 16.7511226,15.903664 15.1762773,15.9949075 L15,16 L5,16 C3.40232321,16 2.09633941,14.7511226 2.00509271,13.1762773 L2,13 L2,7 C2,5.40232321 3.24892392,4.09633941 4.82372764,4.00509271 L5,4 L12.8909,4 Z M17.3314,3.46118 L17.4411,3.56329 L17.5425,3.67353 C18.1849,4.42823 18.1507,5.5651 17.4402,6.27912 L13.8367,9.89642 C13.6153,10.1186 13.3427,10.2823 13.0431,10.3727 L11.0838,10.964 C10.6385,11.0984 10.1692,10.8444 10.0355,10.3967 C9.98651,10.2325 9.98825,10.0571 10.0405,9.89393 L10.6625,7.95152 C10.7548,7.66332 10.9141,7.4014 11.1272,7.18748 L14.739,3.56174 C15.4501,2.84784 16.5811,2.81448 17.3314,3.46118 Z M16.6666,4.20847 C16.3428727,3.93915182 15.8767488,3.9306105 15.5432093,4.18370253 L15.4474,4.26748 L11.8357,7.89321 C11.760025,7.969185 11.6984125,8.05819313 11.6537734,8.15596078 L11.6149,8.25649 L11.0822,9.91996 L12.7541,9.41534 C12.859625,9.3834875 12.9583437,9.33220625 13.0453203,9.26417938 L13.1282,9.19067 L16.7314,5.57374 C17.03995,5.26361333 17.0829722,4.78427993 16.8589262,4.42780494 L16.7912,4.33385 L16.7313,4.26874 L16.6666,4.20847 Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M12.8912281,3.99999924 L10.4187326,6.48173646 C10.0936511,6.80806881 9.85079103,7.20737132 9.71014878,7.64651647 L9.0881369,9.58896357 C8.97444508,9.94400844 8.97065504,10.3253569 9.07724113,10.682602 C9.36908531,11.6598544 10.3966432,12.2159518 11.3727451,11.9213457 L13.3320209,11.330053 C13.7901004,11.191834 14.2068257,10.9416973 14.5450491,10.6022823 L17.9992281,7.13399924 L18,12.9999992 C18,14.6568535 16.6568542,15.9999992 15,15.9999992 L5,15.9999992 C3.34314575,15.9999992 2,14.6568535 2,12.9999992 L1.99922809,10.0209992 L2.05850952,9.97771873 L2.53568554,9.56271467 C4.78308928,7.64269649 6.17265242,6.96185896 6.56911941,7.28427143 L6.60658514,7.32119355 C6.90532224,7.67780214 6.82124514,7.96405096 6.19114166,8.75196781 L5.87318646,9.14395603 C5.52212386,9.58392329 5.3470344,9.85761334 5.22959289,10.1960821 C4.78536386,11.476359 5.18891277,12.4646829 6.20508057,12.7345871 C6.74864047,12.878962 7.40634293,12.7797707 8.18763495,12.4634578 C8.44359562,12.3598299 8.56708571,12.0683257 8.46345779,11.812365 C8.35982987,11.5564044 8.06832572,11.4329143 7.81236505,11.5365422 C7.21353012,11.7789858 6.76018929,11.8473563 6.46178955,11.7680984 C6.05708729,11.6606055 5.90724982,11.2936414 6.17433777,10.5238886 C6.23650056,10.3447342 6.34848783,10.1618899 6.56963108,9.87624938 L6.78729833,9.60392849 L6.97052714,9.37816636 C7.89545442,8.21724451 8.1041757,7.55166698 7.37315119,6.67902808 C6.48219543,5.61547598 4.74039919,6.37651116 2.00009037,8.70454435 L2,6.99999924 C2,5.34314499 3.34314575,3.99999924 5,3.99999924 L12.8912281,3.99999924 Z M17.3314,3.46118 L17.4411,3.56329 L17.5425,3.67353 C18.1849,4.42823 18.1507,5.5651 17.4402,6.27912 L13.8367,9.89642 C13.6153,10.1186 13.3427,10.2823 13.0431,10.3727 L11.0838,10.964 C10.6385,11.0984 10.1692,10.8444 10.0355,10.3967 C9.98651,10.2325 9.98825,10.0571 10.0405,9.89393 L10.6625,7.95152 C10.7548,7.66332 10.9141,7.4014 11.1272,7.18748 L14.739,3.56174 C15.4501,2.84784 16.5811,2.81448 17.3314,3.46118 Z\"\n    }));\n  },\n  displayName: 'WhiteboardIcon'\n});\n//# sourceMappingURL=WhiteboardIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var WindowMaximizeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 10h12v12H10V10zm11 11V11H11v10h10z\"\n    }));\n  },\n  displayName: 'WindowMaximizeIcon'\n});\n//# sourceMappingURL=WindowMaximizeIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var WindowMinimizeIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 16v-1h12v1H10z\"\n    }));\n  },\n  displayName: 'WindowMinimizeIcon'\n});\n//# sourceMappingURL=WindowMinimizeIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var WindowRestoreIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"8 8 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 9v2H9v12h12v-2h2V9H11zm9 13H10V12h10v10zm2-2h-1v-9h-9v-1h10v10z\"\n    }));\n  },\n  displayName: 'WindowRestoreIcon'\n});\n//# sourceMappingURL=WindowRestoreIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var WordColorIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 32 32\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9.5 29H28.5C28.775 29 29 28.775 29 28.5V9H24.5C23.673 9 23 8.327 23 7.5V3H9.5C9.225 3 9 3.225 9 3.5V28.5C9 28.775 9.225 29 9.5 29Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M28.293 8.00003L24 3.70703V7.50003C24 7.77503 24.225 8.00003 24.5 8.00003H28.293Z\",\n      fill: \"white\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.64\",\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M29.56 7.854L24.146 2.439C23.8642 2.15891 23.4833 2.00117 23.086 2H9.5C8.673 2 8 2.673 8 3.5V28.5C8 29.327 8.673 30 9.5 30H28.5C29.327 30 30 29.327 30 28.5V8.914C30 8.514 29.844 8.137 29.56 7.854ZM24 3.707L28.293 8H24.5C24.2241 7.99945 24.0005 7.77591 24 7.5V3.707ZM9.5 29H28.5C28.775 29 29 28.775 29 28.5V9H24.5C23.673 9 23 8.327 23 7.5V3H9.5C9.225 3 9 3.225 9 3.5V28.5C9.00055 28.7759 9.22409 28.9995 9.5 29Z\",\n      fill: \"#605E5C\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25.5 22H17V23H25.5C25.7761 23 26 22.7761 26 22.5C26 22.2239 25.7761 22 25.5 22Z\",\n      fill: \"#103F91\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25.5 19H17V20H25.5C25.7761 20 26 19.7761 26 19.5C26 19.2239 25.7761 19 25.5 19Z\",\n      fill: \"#185ABD\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25.5 16H17V17H25.5C25.7761 17 26 16.7761 26 16.5C26 16.2239 25.7761 16 25.5 16Z\",\n      fill: \"#2B7CD3\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25.5 13H17V14H25.5C25.7761 14 26 13.7761 26 13.5C26 13.2239 25.7761 13 25.5 13Z\",\n      fill: \"#41A5EE\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M3.5 25H14.5C15.3284 25 16 24.3284 16 23.5V12.5C16 11.6716 15.3284 11 14.5 11H3.5C2.67157 11 2 11.6716 2 12.5V23.5C2 24.3284 2.67157 25 3.5 25Z\",\n      fill: \"#185ABD\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.215 20.73H7.237C7.246 20.615 8.37 15 8.37 15H9.676C9.676 15 10.816 20.353 10.851 20.72H10.868C10.883 20.468 11.812 15 11.812 15H13L11.538 22H10.149C10.149 22 8.996 16.47 8.987 16.372H8.969C8.959 16.485 7.886 22 7.886 22H6.476L5 15H6.21C6.21 15 7.21 20.607 7.215 20.73Z\",\n      fill: \"#F9F7F7\"\n    }));\n  },\n  displayName: 'WordColorIcon'\n});\n//# sourceMappingURL=WordColorIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var WordIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M26 9V4C26 3.448 25.552 3 25 3H9C8.448 3 8 3.448 8 4V9L17 11L26 9Z\",\n      fill: \"#41A5EE\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M26 9H8V14L17.5 16L26 14V9Z\",\n      fill: \"#2B7CD3\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M26 14H8V19L17 20.5L26 19V14Z\",\n      fill: \"#185ABD\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M26 19H8V23.958C8 24.51 8.448 24.958 9 24.958H25C25.552 24.958 26 24.51 26 23.958V19Z\",\n      fill: \"#103F91\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.5\",\n      d: \"M15.8332 8H8.00024V22H15.6042C16.3122 22 17.0002 21.288 17.0002 20.646V9.167C17.0002 8.525 16.4752 8 15.8332 8Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.8335 21H3.16649C2.52549 21 2.00049 20.475 2.00049 19.833V8.167C2.00049 7.525 2.52549 7 3.16649 7H14.8335C15.4755 7 16.0005 7.525 16.0005 8.167V19.833C16.0005 20.475 15.4755 21 14.8335 21Z\",\n      fill: \"#185ABD\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.16 18H10.72L9.03999 12.48L7.27999 18H5.83999L4.23999 10H5.67999L6.79999 15.6L8.47999 10.16H9.67999L11.28 15.6L12.4 10H13.76L12.16 18Z\",\n      fill: \"white\"\n    }));\n  },\n  displayName: 'WordIcon'\n});\n//# sourceMappingURL=WordIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var WorkOrSchoolIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      className: classes.svg,\n      viewBox: \"2 2 16 16\",\n      role: \"presentation\",\n      focusable: \"false\"\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8 9C8 7.89543 8.89543 7 10 7C11.1046 7 12 7.89543 12 9C12 10.1046 11.1046 11 10 11C8.89543 11 8 10.1046 8 9ZM10 8C9.44772 8 9 8.44772 9 9C9 9.55228 9.44772 10 10 10C10.5523 10 11 9.55228 11 9C11 8.44772 10.5523 8 10 8Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.72077 12C7.10838 12 6.40961 12.4146 6.38992 13.1973C6.37693 13.7135 6.48426 14.4381 7.04816 15.0319C7.61451 15.6283 8.55301 16 10 16C11.447 16 12.3855 15.6283 12.9519 15.0319C13.5158 14.4381 13.6231 13.7135 13.6101 13.1973C13.5904 12.4146 12.8916 12 12.2793 12H7.72077ZM7.3896 13.2225C7.39099 13.1675 7.41262 13.1226 7.46275 13.082C7.51876 13.0366 7.6101 13 7.72077 13H12.2793C12.3899 13 12.4813 13.0366 12.5373 13.082C12.5874 13.1226 12.609 13.1675 12.6104 13.2225C12.6198 13.5933 12.5397 14.0138 12.2268 14.3433C11.9163 14.6702 11.2885 15 10 15C8.71154 15 8.08375 14.6702 7.77327 14.3433C7.46033 14.0138 7.38027 13.5933 7.3896 13.2225Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 2C7.89543 2 7 2.89543 7 4H5.5C4.67157 4 4 4.67157 4 5.5V16.5C4 17.3284 4.67157 18 5.5 18H14.5C15.3284 18 16 17.3284 16 16.5V5.5C16 4.67157 15.3284 4 14.5 4H13C13 2.89543 12.1046 2 11 2H9ZM12.7324 5H14.5C14.7761 5 15 5.22386 15 5.5V16.5C15 16.7761 14.7761 17 14.5 17H5.5C5.22386 17 5 16.7761 5 16.5V5.5C5 5.22386 5.22386 5 5.5 5H7.26756C7.61337 5.5978 8.25972 6 9 6H11C11.7403 6 12.3866 5.5978 12.7324 5ZM8 4C8 3.44772 8.44772 3 9 3H11C11.5523 3 12 3.44772 12 4C12 4.55228 11.5523 5 11 5H9C8.44772 5 8 4.55228 8 4Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 7C8.89543 7 8 7.89543 8 9C8 10.1046 8.89543 11 10 11C11.1046 11 12 10.1046 12 9C12 7.89543 11.1046 7 10 7Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M7.72077 12C7.10838 12 6.40961 12.4146 6.38992 13.1973C6.37693 13.7135 6.48426 14.4381 7.04816 15.0319C7.61451 15.6283 8.55301 16 10 16C11.447 16 12.3855 15.6283 12.9519 15.0319C13.5158 14.4381 13.6231 13.7135 13.6101 13.1973C13.5904 12.4146 12.8916 12 12.2793 12H7.72077Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M9 2C7.89543 2 7 2.89543 7 4H5.5C4.67157 4 4 4.67157 4 5.5V16.5C4 17.3284 4.67157 18 5.5 18H14.5C15.3284 18 16 17.3284 16 16.5V5.5C16 4.67157 15.3284 4 14.5 4H13C13 2.89543 12.1046 2 11 2H9ZM12.7324 5H14.5C14.7761 5 15 5.22386 15 5.5V16.5C15 16.7761 14.7761 17 14.5 17H5.5C5.22386 17 5 16.7761 5 16.5V5.5C5 5.22386 5.22386 5 5.5 5H7.26756C7.61337 5.5978 8.25972 6 9 6H11C11.7403 6 12.3866 5.5978 12.7324 5ZM8 4C8 3.44772 8.44772 3 9 3H11C11.5523 3 12 3.44772 12 4C12 4.55228 11.5523 5 11 5H9C8.44772 5 8 4.55228 8 4Z\"\n    })));\n  },\n  displayName: 'WorkOrSchoolIcon'\n});\n//# sourceMappingURL=WorkOrSchoolIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var YammerIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"0 0 28 28\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.4324 12.2019C12.3484 11.8869 12.2424 11.5089 12.1144 11.2069C11.7954 10.4529 11.3534 9.7649 10.7994 9.1619C10.7444 9.1049 10.7104 9.0269 10.7104 8.9409C10.7104 8.8529 10.7464 8.7729 10.8044 8.7149L17.3424 2.1869C17.5984 1.9309 18.0164 1.9389 18.2624 2.2039C19.6364 3.6859 20.7284 5.3749 21.5154 7.2349C21.8264 7.9699 22.1204 8.8529 22.3254 9.6169L18.3384 13.6359L12.4324 12.2019Z\",\n      fill: \"#28A8EA\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M25.4119 9.4829C25.3299 9.1419 24.9729 8.9369 24.6249 9.0269L12.4299 12.1929C12.5919 12.7779 12.6739 13.3829 12.6739 13.9999C12.6739 14.6139 12.5929 15.2159 12.4319 15.7979L16.9989 19.1769L22.3259 18.3829L24.6219 18.9829C24.9699 19.0739 25.3279 18.8679 25.4099 18.5279C25.7639 17.0539 25.9429 15.5399 25.9429 13.9999C25.9429 12.4639 25.7649 10.9529 25.4119 9.4829Z\",\n      fill: \"#0078D4\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M12.4324 15.7979C12.3484 16.1129 12.2424 16.4909 12.1144 16.7929C11.7954 17.5469 11.3524 18.2349 10.7994 18.8379C10.7444 18.8949 10.7104 18.9729 10.7104 19.0589C10.7104 19.1469 10.7464 19.2269 10.8044 19.2849L17.3424 25.8129C17.5984 26.0689 18.0154 26.0609 18.2624 25.7959C19.6354 24.3149 20.7284 22.6249 21.5154 20.7659C21.8264 20.0299 22.1204 19.1469 22.3254 18.3829L12.4324 15.7979Z\",\n      fill: \"#0358A7\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      opacity: \"0.5\",\n      d: \"M16.9999 20.647V9.16801C16.9999 8.52601 16.4749 8.00101 15.8329 8.00101H11.5239L10.7859 8.74001C10.7679 8.75901 10.7519 8.78001 10.7379 8.80401C10.6659 8.92901 10.6869 9.08201 10.7809 9.18201C11.3459 9.79201 11.7949 10.486 12.1179 11.25C12.2429 11.545 12.3469 11.888 12.4299 12.195C12.5919 12.779 12.6739 13.383 12.6739 14C12.6739 14.614 12.5929 15.216 12.4319 15.798C12.3479 16.113 12.2419 16.491 12.1139 16.793C11.7959 17.547 11.3529 18.235 10.7989 18.838C10.7439 18.896 10.7099 18.974 10.7099 19.06C10.7099 19.148 10.7459 19.228 10.8039 19.286L13.5229 22.001H15.6039C16.3129 22.001 16.9999 21.289 16.9999 20.647Z\",\n      fill: \"black\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.8335 21H3.16649C2.52549 21 2.00049 20.475 2.00049 19.833V8.167C2.00049 7.525 2.52549 7 3.16649 7H14.8335C15.4755 7 16.0005 7.525 16.0005 8.167V19.833C16.0005 20.475 15.4755 21 14.8335 21Z\",\n      fill: \"#0078D4\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M8.8469 13.3557C8.9079 13.4697 8.9729 13.6457 9.0429 13.8827H9.0609C9.1179 13.6697 9.1819 13.4987 9.2509 13.3677L11.0279 10.0217C11.1629 9.7667 11.4289 9.6067 11.7179 9.6067C12.3179 9.6067 12.6939 10.2567 12.3949 10.7767L9.9369 15.0557C9.8689 15.1737 9.8329 15.3077 9.8329 15.4447V17.6097C9.8329 18.0407 9.4829 18.3907 9.0519 18.3907H8.8929C8.4619 18.3907 8.1119 18.0407 8.1119 17.6097V15.4697C8.1119 15.3367 8.0779 15.2057 8.0129 15.0887L5.5999 10.7687C5.3099 10.2487 5.6859 9.6067 6.2819 9.6067H6.4359C6.7279 9.6067 6.9959 9.7697 7.1299 10.0297L8.8469 13.3557Z\",\n      fill: \"#F9F7F7\"\n    }));\n  },\n  displayName: 'YammerIcon'\n});\n//# sourceMappingURL=YammerIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ZoomInIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.5 8.5C11.5 8.22386 11.2761 8 11 8H9V6C9 5.72386 8.77614 5.5 8.5 5.5C8.22386 5.5 8 5.72386 8 6V8H6C5.72386 8 5.5 8.22386 5.5 8.5C5.5 8.77614 5.72386 9 6 9H8V11C8 11.2761 8.22386 11.5 8.5 11.5C8.77614 11.5 9 11.2761 9 11V9H11C11.2761 9 11.5 8.77614 11.5 8.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M8.5 3C11.5376 3 14 5.46243 14 8.5C14 9.83879 13.5217 11.0659 12.7266 12.0196L16.8536 16.1464C17.0488 16.3417 17.0488 16.6583 16.8536 16.8536C16.68 17.0271 16.4106 17.0464 16.2157 16.9114L16.1464 16.8536L12.0196 12.7266C11.0659 13.5217 9.83879 14 8.5 14C5.46243 14 3 11.5376 3 8.5C3 5.46243 5.46243 3 8.5 3ZM8.5 4C6.01472 4 4 6.01472 4 8.5C4 10.9853 6.01472 13 8.5 13C10.9853 13 13 10.9853 13 8.5C13 6.01472 10.9853 4 8.5 4Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.74832 14 10.8995 13.5841 11.8226 12.8834L15.9697 17.0303L16.0538 17.1029C16.3474 17.3208 16.7641 17.2966 17.0303 17.0303C17.3232 16.7374 17.3232 16.2626 17.0303 15.9697L12.8834 11.8226C13.5841 10.8995 14 9.74832 14 8.5ZM8.5 5.25C8.08579 5.25 7.75 5.58579 7.75 6V7.75H6C5.58579 7.75 5.25 8.08579 5.25 8.5C5.25 8.91421 5.58579 9.25 6 9.25H7.75V11C7.75 11.4142 8.08579 11.75 8.5 11.75C8.91421 11.75 9.25 11.4142 9.25 11V9.25H11C11.4142 9.25 11.75 8.91421 11.75 8.5C11.75 8.08579 11.4142 7.75 11 7.75H9.25V6C9.25 5.58579 8.91421 5.25 8.5 5.25Z\"\n    }));\n  },\n  displayName: 'ZoomInIcon'\n});\n//# sourceMappingURL=ZoomInIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ZoomOutIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11 8C11.2761 8 11.5 8.22386 11.5 8.5C11.5 8.77614 11.2761 9 11 9H6C5.72386 9 5.5 8.77614 5.5 8.5C5.5 8.22386 5.72386 8 6 8H11Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.83879 14 11.0659 13.5217 12.0196 12.7266L16.1464 16.8536L16.2157 16.9114C16.4106 17.0464 16.68 17.0271 16.8536 16.8536C17.0488 16.6583 17.0488 16.3417 16.8536 16.1464L12.7266 12.0196C13.5217 11.0659 14 9.83879 14 8.5ZM4 8.5C4 6.01472 6.01472 4 8.5 4C10.9853 4 13 6.01472 13 8.5C13 10.9853 10.9853 13 8.5 13C6.01472 13 4 10.9853 4 8.5Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M14 8.5C14 5.46243 11.5376 3 8.5 3C5.46243 3 3 5.46243 3 8.5C3 11.5376 5.46243 14 8.5 14C9.74832 14 10.8995 13.5841 11.8226 12.8834L15.9697 17.0303L16.0538 17.1029C16.3474 17.3208 16.7641 17.2966 17.0303 17.0303C17.3232 16.7374 17.3232 16.2626 17.0303 15.9697L12.8834 11.8226C13.5841 10.8995 14 9.74832 14 8.5ZM11 7.75C11.4142 7.75 11.75 8.08579 11.75 8.5C11.75 8.91421 11.4142 9.25 11 9.25H6C5.58579 9.25 5.25 8.91421 5.25 8.5C5.25 8.08579 5.58579 7.75 6 7.75H11Z\"\n    }));\n  },\n  displayName: 'ZoomOutIcon'\n});\n//# sourceMappingURL=ZoomOutIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ZoomToFitIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 4C4.67157 4 4 4.67157 4 5.5V6.5C4 6.77614 3.77614 7 3.5 7C3.22386 7 3 6.77614 3 6.5V5.5C3 4.11929 4.11929 3 5.5 3H6.5C6.77614 3 7 3.22386 7 3.5C7 3.77614 6.77614 4 6.5 4H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 5.5C16 4.67157 15.3284 4 14.5 4H13.5C13.2239 4 13 3.77614 13 3.5C13 3.22386 13.2239 3 13.5 3H14.5C15.8807 3 17 4.11929 17 5.5V6.5C17 6.77614 16.7761 7 16.5 7C16.2239 7 16 6.77614 16 6.5V5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M16 14.5C16 15.3284 15.3284 16 14.5 16H13.5C13.2239 16 13 16.2239 13 16.5C13 16.7761 13.2239 17 13.5 17H14.5C15.8807 17 17 15.8807 17 14.5V13.5C17 13.2239 16.7761 13 16.5 13C16.2239 13 16 13.2239 16 13.5V14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M4 14.5C4 15.3284 4.67157 16 5.5 16H6.75C7.02614 16 7.25 16.2239 7.25 16.5C7.25 16.7761 7.02614 17 6.75 17H5.5C4.11929 17 3 15.8807 3 14.5V13.25C3 12.9739 3.22386 12.75 3.5 12.75C3.77614 12.75 4 12.9739 4 13.25V14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 5C5.67157 5 5 5.67157 5 6.5V13.5C5 14.3284 5.67157 15 6.5 15H13.5C14.3284 15 15 14.3284 15 13.5V6.5C15 5.67157 14.3284 5 13.5 5H6.5ZM6 6.5C6 6.22386 6.22386 6 6.5 6H13.5C13.7761 6 14 6.22386 14 6.5V13.5C14 13.7761 13.7761 14 13.5 14H6.5C6.22386 14 6 13.7761 6 13.5V6.5Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 4C4.67157 4 4 4.67157 4 5.5V6.5C4 6.77614 3.77614 7 3.5 7C3.22386 7 3 6.77614 3 6.5V5.5C3 4.11929 4.11929 3 5.5 3H6.5C6.77614 3 7 3.22386 7 3.5C7 3.77614 6.77614 4 6.5 4H5.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 5C5.67157 5 5 5.67157 5 6.5V13.5C5 14.3284 5.67157 15 6.5 15H13.5C14.3284 15 15 14.3284 15 13.5V6.5C15 5.67157 14.3284 5 13.5 5H6.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 4C15.3284 4 16 4.67157 16 5.5V6.5C16 6.77614 16.2239 7 16.5 7C16.7761 7 17 6.77614 17 6.5V5.5C17 4.11929 15.8807 3 14.5 3H13.5C13.2239 3 13 3.22386 13 3.5C13 3.77614 13.2239 4 13.5 4H14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M14.5 16C15.3284 16 16 15.3284 16 14.5V13.5C16 13.2239 16.2239 13 16.5 13C16.7761 13 17 13.2239 17 13.5V14.5C17 15.8807 15.8807 17 14.5 17H13.5C13.2239 17 13 16.7761 13 16.5C13 16.2239 13.2239 16 13.5 16H14.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M5.5 16C4.67157 16 4 15.3284 4 14.5V13.25C4 12.9739 3.77614 12.75 3.5 12.75C3.22386 12.75 3 12.9739 3 13.25V14.5C3 15.8807 4.11929 17 5.5 17H6.75C7.02614 17 7.25 16.7761 7.25 16.5C7.25 16.2239 7.02614 16 6.75 16H5.5Z\"\n    })));\n  },\n  displayName: 'ZoomToFitIcon'\n});\n//# sourceMappingURL=ZoomToFitIcon.js.map\n","var baseMerge = require('./_baseMerge'),\n    createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\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 * @example\n *\n * function customizer(objValue, srcValue) {\n *   if (_.isArray(objValue)) {\n *     return objValue.concat(srcValue);\n *   }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n  baseMerge(object, source, srcIndex, customizer);\n});\n\nmodule.exports = mergeWith;\n","var baseDifference = require('./_baseDifference'),\n    baseFlatten = require('./_baseFlatten'),\n    baseRest = require('./_baseRest'),\n    isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of `array` values not included in the other 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 * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = baseRest(function(array, values) {\n  return isArrayLikeObject(array)\n    ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n    : [];\n});\n\nmodule.exports = difference;\n","var baseToString = require('./_baseToString'),\n    baseTrim = require('./_baseTrim'),\n    castSlice = require('./_castSlice'),\n    charsEndIndex = require('./_charsEndIndex'),\n    charsStartIndex = require('./_charsStartIndex'),\n    stringToArray = require('./_stringToArray'),\n    toString = require('./toString');\n\n/**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim('  abc  ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map(['  foo  ', '  bar  '], _.trim);\n * // => ['foo', 'bar']\n */\nfunction trim(string, chars, guard) {\n  string = toString(string);\n  if (string && (guard || chars === undefined)) {\n    return baseTrim(string);\n  }\n  if (!string || !(chars = baseToString(chars))) {\n    return string;\n  }\n  var strSymbols = stringToArray(string),\n      chrSymbols = stringToArray(chars),\n      start = charsStartIndex(strSymbols, chrSymbols),\n      end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n  return castSlice(strSymbols, start, end).join('');\n}\n\nmodule.exports = trim;\n","var baseFlatten = require('./_baseFlatten'),\n    baseOrderBy = require('./_baseOrderBy'),\n    baseRest = require('./_baseRest'),\n    isIterateeCall = require('./_isIterateeCall');\n\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 */\nvar sortBy = baseRest(function(collection, iteratees) {\n  if (collection == null) {\n    return [];\n  }\n  var length = iteratees.length;\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  return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var baseSlice = require('./_baseSlice'),\n    toInteger = require('./toInteger');\n\n/**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\nfunction take(array, n, guard) {\n  if (!(array && array.length)) {\n    return [];\n  }\n  n = (guard || n === undefined) ? 1 : toInteger(n);\n  return baseSlice(array, 0, n < 0 ? 0 : n);\n}\n\nmodule.exports = take;\n","var baseHas = require('./_baseHas'),\n    hasPath = require('./_hasPath');\n\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 */\nfunction has(object, path) {\n  return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var baseDifference = require('./_baseDifference'),\n    baseFlatten = require('./_baseFlatten'),\n    baseIteratee = require('./_baseIteratee'),\n    baseRest = require('./_baseRest'),\n    isArrayLikeObject = require('./isArrayLikeObject'),\n    last = require('./last');\n\n/**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\nvar differenceBy = baseRest(function(array, values) {\n  var iteratee = last(values);\n  if (isArrayLikeObject(iteratee)) {\n    iteratee = undefined;\n  }\n  return isArrayLikeObject(array)\n    ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2))\n    : [];\n});\n\nmodule.exports = differenceBy;\n","import { FocusZoneDirection } from '../../focusZone/types';\n\n/**\n * @description\n * The listbox role is used to identify an element that creates a list from which a user may select one or more items.\n *\n * @specification\n * Adds role='listbox'.\n * Adds attribute 'tabIndex=-1' to 'root' slot.\n * Adds attribute 'aria-orientation=horizontal' to 'root' slot if 'horizontal' property is true. Does not set the attribute otherwise.\n * Provides arrow key navigation in bidirectionalDomOrder direction.\n */\nexport var selectableListBehavior = function selectableListBehavior(props) {\n  return {\n    attributes: {\n      root: Object.assign({\n        role: 'listbox',\n        tabIndex: -1\n      }, props.horizontal && {\n        'aria-orientation': 'horizontal'\n      })\n    },\n    focusZone: {\n      props: {\n        shouldFocusInnerElementWhenReceivedFocus: true,\n        direction: FocusZoneDirection.bidirectionalDomOrder\n      }\n    }\n  };\n};\n//# sourceMappingURL=selectableListBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @specification\n * Adds role 'presentation' to 'wrapper' slot.\n * Adds role 'tab' to 'root' slot.\n * Adds attribute 'tabIndex=0' to 'root' slot.\n * Adds attribute 'data-is-focusable=false' to 'root' slot if 'disabled' property is true. Sets the attribute to 'true' otherwise.\n * Adds attribute 'aria-selected=true' based on the property 'active'. This can be overriden by providing 'aria-selected' property directly to the component.\n * Adds attribute 'aria-label' based on the property 'aria-label' to 'root' slot.\n * Adds attribute 'aria-labelledby' based on the property 'aria-labelledby' to 'root' slot.\n * Adds attribute 'aria-describedby' based on the property 'aria-describedby' to 'root' slot.\n * Adds attribute 'aria-controls' based on the property 'aria-controls' to 'root' slot.\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'. This can be overriden by providing 'aria-disabled' property directly to the component.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n */\nexport var tabBehavior = function tabBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      wrapper: {\n        role: 'presentation'\n      },\n      root: (_root = {\n        role: 'tab',\n        tabIndex: 0,\n        'aria-selected': !!props.active,\n        'aria-label': props['aria-label'],\n        'aria-labelledby': props['aria-labelledby'],\n        'aria-describedby': props['aria-describedby'],\n        'aria-controls': props['aria-controls'],\n        'aria-disabled': props['disabled']\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = !props.disabled, _root)\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=tabBehavior.js.map\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or 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 boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n  return value === true || value === false ||\n    (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = assignStyle;\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 _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(n); 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\nfunction filterUniqueArray(arr) {\n  return arr.filter(function (val, index) {\n    return arr.lastIndexOf(val) === index;\n  });\n}\n\nfunction assignStyle(base) {\n  for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n    var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n    for (var property in style) {\n      var value = style[property];\n      var baseValue = base[property];\n\n      if (baseValue && value) {\n        if (Array.isArray(baseValue)) {\n          base[property] = filterUniqueArray(baseValue.concat(value));\n          continue;\n        }\n\n        if (Array.isArray(value)) {\n          base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n          continue;\n        }\n\n        if (_typeof(value) === 'object') {\n          base[property] = assignStyle({}, baseValue, value);\n          continue;\n        }\n      }\n\n      base[property] = value;\n    }\n  }\n\n  return base;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = resolveArrayValue;\n\nvar _hyphenateProperty = require(\"./hyphenateProperty\");\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction resolveArrayValue(property, value) {\n  return value.join(';' + (0, _hyphenateProperty2[\"default\"])(property) + ':');\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = camelCaseProperty;\nvar DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n  return match[1].toUpperCase();\n}\n\nfunction camelCaseProperty(property) {\n  if (cache.hasOwnProperty(property)) {\n    return cache[property];\n  }\n\n  var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n  cache[property] = camelProp;\n  return camelProp;\n}","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n  return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _get from \"lodash/get\";\nimport { getElementType, useUnhandledProps, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\nimport { FlexItem } from './FlexItem';\nexport var flexClassName = 'ui-flex';\n/**\n * A Flex is a layout component that arranges group of items aligned towards common direction (either row or column).\n */\n\nexport var Flex = /*#__PURE__*/function () {\n  var Flex = function Flex(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Flex.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        className = props.className,\n        column = props.column,\n        debug = props.debug,\n        design = props.design,\n        fill = props.fill,\n        gap = props.gap,\n        hAlign = props.hAlign,\n        inline = props.inline,\n        padding = props.padding,\n        space = props.space,\n        styles = props.styles,\n        variables = props.variables,\n        vAlign = props.vAlign,\n        wrap = props.wrap;\n\n    var _useStyles = useStyles(Flex.displayName, {\n      className: flexClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          column: column,\n          debug: debug,\n          fill: fill,\n          gap: gap,\n          hAlign: hAlign,\n          inline: inline,\n          padding: padding,\n          space: space,\n          vAlign: vAlign,\n          wrap: wrap\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Flex.handledProps, props);\n    var content = React.Children.map(children, function (child) {\n      var isFlexItemElement = _get(child, 'type.__isFlexItem');\n\n      return isFlexItemElement ? /*#__PURE__*/React.cloneElement(child, {\n        flexDirection: column ? 'column' : 'row'\n      }) : child;\n    });\n    var element = /*#__PURE__*/React.createElement(ElementType, _extends({\n      className: classes.root\n    }, unhandledProps), content);\n    setEnd();\n    return element;\n  };\n\n  Flex.displayName = 'Flex';\n  Flex.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    accessibility: false,\n    content: false\n  }), {\n    inline: PropTypes.bool,\n    column: PropTypes.bool,\n    wrap: PropTypes.bool,\n    hAlign: PropTypes.oneOf(['start', 'center', 'end', 'stretch']),\n    vAlign: PropTypes.oneOf(['start', 'center', 'end', 'stretch']),\n    space: PropTypes.oneOf(['around', 'between', 'evenly']),\n    gap: PropTypes.oneOf(['gap.smaller', 'gap.small', 'gap.medium', 'gap.large']),\n    padding: PropTypes.oneOf(['padding.medium']),\n    fill: PropTypes.bool,\n    debug: PropTypes.bool\n  });\n  Flex.handledProps = Object.keys(Flex.propTypes);\n  Flex.Item = FlexItem;\n  return Flex;\n}();\n//# sourceMappingURL=Flex.js.map\n","import _isNil from \"lodash/isNil\";\nimport { useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport { mergeStyles } from '@fluentui/styles';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\n\nvar applyStyles = function applyStyles(element, styles, classes) {\n  if (!styles) {\n    return element;\n  } // if element is DOM element\n\n\n  if (typeof element.type === 'string') {\n    return /*#__PURE__*/React.cloneElement(element, {\n      className: cx(element.props.className, classes.root)\n    });\n  } // assuming element is Fluent UI element\n\n\n  return /*#__PURE__*/React.cloneElement(element, {\n    styles: mergeStyles(styles.root || {}, element.props.styles)\n  });\n};\n\nexport var flexItemClassName = 'ui-flex__item';\n/**\n * A FlexItem is a layout component that customizes alignment of Flex child.\n */\n\nexport var FlexItem = /*#__PURE__*/function () {\n  var FlexItem = function FlexItem(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(FlexItem.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var align = props.align,\n        children = props.children,\n        className = props.className,\n        design = props.design,\n        grow = props.grow,\n        flexDirection = props.flexDirection,\n        push = props.push,\n        shrink = props.shrink,\n        size = props.size,\n        styles = props.styles,\n        variables = props.variables;\n\n    var _useStyles = useStyles(FlexItem.displayName, {\n      className: flexItemClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          align: align,\n          grow: grow,\n          flexDirection: flexDirection,\n          push: push,\n          shrink: shrink,\n          size: size\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var element; // pass calculated bits using Render Props pattern\n\n    if (typeof children === 'function') {\n      element = children({\n        styles: resolvedStyles.root,\n        classes: classes.root\n      });\n    } else if (_isNil(children)) {\n      element = null;\n    } else {\n      element = applyStyles(React.Children.only(children), resolvedStyles, classes);\n    }\n\n    setEnd();\n    return element;\n  };\n\n  FlexItem.displayName = 'FlexItem';\n  FlexItem.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    accessibility: false,\n    content: false\n  }), {\n    children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n    align: PropTypes.oneOf(['auto', 'start', 'end', 'center', 'baseline', 'stretch']),\n    size: PropTypes.oneOfType([PropTypes.oneOf(['size.half', 'size.quarter', 'size.small', 'size.medium', 'size.large']), PropTypes.string]),\n    shrink: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n    push: PropTypes.bool,\n\n    /**\n     * Will be automatically set by parent Flex component\n     */\n    flexDirection: PropTypes.oneOf(['row', 'column'])\n  }); // Boolean flag for now, Symbol-based approach may be used instead.\n  // However, there are  concerns related to browser compatibility if Symbols will be used.\n  // Completely alternative approach - check class name of React element (and generalize this logic).\n\n  FlexItem.__isFlexItem = true;\n  return FlexItem;\n}();\n//# sourceMappingURL=FlexItem.js.map\n","/**\n * Returns an object consisting of props beyond the scope of the Component.\n * Useful for getting and spreading unknown props from the user.\n *\n * @param handledProps - An array with names of props\n * @param props - A ReactElement props object\n * @returns A shallow copy of the prop object\n */\nexport function getUnhandledProps(handledProps, props) {\n  return Object.keys(props).reduce(function (acc, prop) {\n    if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];\n    return acc;\n  }, {});\n}\n//# sourceMappingURL=getUnhandledProps.js.map\n","import { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nexport var cardHeaderClassName = 'ui-card__header';\n/**\n * A CardHeader is used to display data in Card header.\n */\n\nexport var CardHeader = /*#__PURE__*/function () {\n  var CardHeader = function CardHeader(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CardHeader.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children,\n        fitted = props.fitted;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(CardHeader.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: CardHeader.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(CardHeader.displayName, {\n      className: cardHeaderClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          fitted: fitted\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), children);\n    setEnd();\n    return element;\n  };\n\n  CardHeader.displayName = 'CardHeader';\n  CardHeader.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    fitted: PropTypes.bool\n  });\n  CardHeader.handledProps = Object.keys(CardHeader.propTypes);\n  CardHeader.create = createShorthandFactory({\n    Component: CardHeader\n  });\n  return CardHeader;\n}();\n//# sourceMappingURL=CardHeader.js.map\n","import * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nimport { useTelemetry, useStyles, getElementType, useUnhandledProps, useFluentContext, useAccessibility } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nexport var cardBodyClassName = 'ui-card__body';\n/**\n * A CardBody is used to display data in Card body.\n */\n\nexport var CardBody = /*#__PURE__*/function () {\n  var CardBody = function CardBody(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CardBody.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children,\n        fitted = props.fitted;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(CardBody.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: CardBody.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(CardBody.displayName, {\n      className: cardBodyClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          fitted: fitted\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), children);\n    setEnd();\n    return element;\n  };\n\n  CardBody.displayName = 'CardBody';\n  CardBody.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    fitted: PropTypes.bool\n  });\n  CardBody.handledProps = Object.keys(CardBody.propTypes);\n  CardBody.create = createShorthandFactory({\n    Component: CardBody\n  });\n  return CardBody;\n}();\n//# sourceMappingURL=CardBody.js.map\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var formLabelClassName = 'ui-form__label';\n/**\n * An FormLabel provides a slot for label in the FormField.\n */\n\nexport var FormLabel = /*#__PURE__*/function () {\n  var FormLabel = compose(Box, {\n    className: formLabelClassName,\n    displayName: 'FormLabel',\n    overrideStyles: true,\n    mapPropsToStylesProps: function mapPropsToStylesProps(_ref) {\n      var inline = _ref.inline,\n          required = _ref.required;\n      return {\n        inline: inline,\n        required: required\n      };\n    },\n    handledProps: ['required', 'inline']\n  });\n  FormLabel.defaultProps = {\n    as: 'label'\n  };\n  FormLabel.propTypes = commonPropTypes.createCommon();\n  return FormLabel;\n}();\n//# sourceMappingURL=FormLabel.js.map\n","var arrayEachRight = require('./_arrayEachRight'),\n    baseEachRight = require('./_baseEachRight'),\n    castFunction = require('./_castFunction'),\n    isArray = require('./isArray');\n\n/**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\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|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n *   console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\nfunction forEachRight(collection, iteratee) {\n  var func = isArray(collection) ? arrayEachRight : baseEachRight;\n  return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEachRight;\n","var baseAssignValue = require('./_baseAssignValue'),\n    createAggregator = require('./_createAggregator');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is 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} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n  if (hasOwnProperty.call(result, key)) {\n    result[key].push(value);\n  } else {\n    baseAssignValue(result, key, [value]);\n  }\n});\n\nmodule.exports = groupBy;\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n/**\n * https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n *\n * Modified `useCallback` that can be used when dependencies change too frequently. Can occur when\n * e.g. user props are depedencies which could change on every render\n * e.g. volatile values (i.e. useState/useDispatch) are dependencies which could change frequently\n *\n * This should not be used often, but can be a useful re-render optimization since the callback is a ref and\n * will not be invalidated between rerenders\n *\n * @param fn - The callback function that will be used\n */\n\nexport var useEventCallback = function useEventCallback(fn) {\n  var callbackRef = React.useRef(function () {\n    throw new Error('Cannot call an event handler while rendering');\n  });\n  useIsomorphicLayoutEffect(function () {\n    callbackRef.current = fn;\n  }, [fn]);\n  return React.useCallback(function () {\n    var callback = callbackRef.current;\n    return callback.apply(void 0, arguments);\n  }, [callbackRef]);\n};\n//# sourceMappingURL=useEventCallback.js.map\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n/**\n * Creates a MutableRef with ref change callback. Is useful as React.useRef() doesn't notify you when its content\n * changes and mutating the .current property doesn't cause a re-render. An opt-out will be use a callback ref via\n * React.useState(), but it will cause re-renders always.\n *\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n * @param {Boolean} skipInitialResolve - a flag to skip an initial ref report\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\n\nexport function useCallbackRef(initialValue, callback, skipInitialResolve) {\n  var isFirst = React.useRef(true);\n\n  var _React$useState = React.useState(function () {\n    return {\n      // value\n      value: initialValue,\n      // last callback\n      callback: callback,\n      // \"memoized\" public interface\n      facade: {\n        get current() {\n          return ref.value;\n        },\n\n        set current(value) {\n          var last = ref.value;\n\n          if (last !== value) {\n            ref.value = value;\n\n            if (skipInitialResolve && isFirst.current) {\n              return;\n            }\n\n            ref.callback(value, last);\n          }\n        }\n\n      }\n    };\n  }),\n      ref = _React$useState[0];\n\n  useIsomorphicLayoutEffect(function () {\n    isFirst.current = false;\n  }, []); // update callback\n\n  ref.callback = callback;\n  return ref.facade;\n}\n//# sourceMappingURL=useCallbackRef.js.map\n","export default function getBoundingClientRect(element) {\n  var rect = element.getBoundingClientRect();\n  return {\n    width: rect.width,\n    height: rect.height,\n    top: rect.top,\n    right: rect.right,\n    bottom: rect.bottom,\n    left: rect.left,\n    x: rect.left,\n    y: rect.top\n  };\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n  return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n  return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","/*:: import type { Window } from '../types'; */\n\n/*:: declare function getWindow(node: Node | Window): Window; */\nexport default function getWindow(node) {\n  if (node.toString() !== '[object Window]') {\n    var ownerDocument = node.ownerDocument;\n    return ownerDocument ? ownerDocument.defaultView : window;\n  }\n\n  return node;\n}","import getWindow from \"./getWindow.js\";\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n  Element); */\n\nfunction isElement(node) {\n  var OwnElement = getWindow(node).Element;\n  return node instanceof OwnElement || node instanceof Element;\n}\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n  HTMLElement); */\n\n\nfunction isHTMLElement(node) {\n  var OwnElement = getWindow(node).HTMLElement;\n  return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nexport { isElement, isHTMLElement };","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n  // $FlowFixMe: assume body is always available\n  return (isElement(element) ? element.ownerDocument : element.document).documentElement;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n  var win = getWindow(node);\n  var scrollLeft = win.pageXOffset;\n  var scrollTop = win.pageYOffset;\n  return {\n    scrollLeft: scrollLeft,\n    scrollTop: scrollTop\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  // Popper 1 is broken in this case and never had a bug report so let's assume\n  // it's not an issue. I don't think anyone ever specifies width on <html>\n  // anyway.\n  // Browsers where the left scrollbar doesn't cause an issue report `0` for\n  // this (e.g. Edge 2019, IE11, Safari)\n  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}","export default function getNodeName(element) {\n  return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nexport default function getParentNode(element) {\n  if (getNodeName(element) === 'html') {\n    return element;\n  }\n\n  return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n    element.parentNode || // DOM Element detected\n    // $FlowFixMe: need a better way to handle this...\n    element.host || // ShadowRoot detected\n    // $FlowFixMe: HTMLElement is a Node\n    getDocumentElement(element) // fallback\n\n  );\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n  // Firefox wants us to check `-x` and `-y` variations as well\n  var _getComputedStyle = getComputedStyle(element),\n      overflow = _getComputedStyle.overflow,\n      overflowX = _getComputedStyle.overflowX,\n      overflowY = _getComputedStyle.overflowY;\n\n  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the \nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n  if (list === void 0) {\n    list = [];\n  }\n\n  var scrollParent = getScrollParent(element);\n  var isBody = getNodeName(scrollParent) === 'body';\n  var win = getWindow(scrollParent);\n  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n  var updatedList = list.concat(target);\n  return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n  updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n    // $FlowFixMe: assume body is always available\n    return node.ownerDocument.body;\n  }\n\n  if (isHTMLElement(node) && isScrollParent(node)) {\n    return node;\n  }\n\n  return getScrollParent(getParentNode(node));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n  return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\n\nfunction getTrueOffsetParent(element) {\n  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n  getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n\n  var offsetParent = element.offsetParent;\n\n  if (offsetParent) {\n    var html = getDocumentElement(offsetParent);\n\n    if (getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && getComputedStyle(html).position !== 'static') {\n      return html;\n    }\n  }\n\n  return offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n  var currentNode = getParentNode(element);\n\n  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n    var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n    // create a containing block.\n\n    if (css.transform !== 'none' || css.perspective !== 'none' || css.willChange && css.willChange !== 'auto') {\n      return currentNode;\n    } else {\n      currentNode = currentNode.parentNode;\n    }\n  }\n\n  return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n  var window = getWindow(element);\n  var offsetParent = getTrueOffsetParent(element);\n\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent);\n  }\n\n  if (offsetParent && getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static') {\n    return window;\n  }\n\n  return offsetParent || getContainingBlock(element) || window;\n}","export default function contains(parent, child) {\n  // $FlowFixMe: hasOwnProperty doesn't seem to work in tests\n  var isShadow = Boolean(child.getRootNode && child.getRootNode().host); // First, attempt with faster native method\n\n  if (parent.contains(child)) {\n    return true;\n  } // then fallback to custom implementation with Shadow DOM support\n  else if (isShadow) {\n      var next = child;\n\n      do {\n        if (next && parent.isSameNode(next)) {\n          return true;\n        } // $FlowFixMe: need a better way to handle this...\n\n\n        next = next.parentNode || next.host;\n      } while (next);\n    } // Give up, the result is false\n\n\n  return false;\n}","export default function rectToClientRect(rect) {\n  return Object.assign(Object.assign({}, rect), {}, {\n    left: rect.x,\n    top: rect.y,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\n\nfunction getInnerBoundingClientRect(element) {\n  var rect = getBoundingClientRect(element);\n  rect.top = rect.top + element.clientTop;\n  rect.left = rect.left + element.clientLeft;\n  rect.bottom = rect.top + element.clientHeight;\n  rect.right = rect.left + element.clientWidth;\n  rect.width = element.clientWidth;\n  rect.height = element.clientHeight;\n  rect.x = rect.left;\n  rect.y = rect.top;\n  return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n  return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n  var clippingParents = listScrollParents(getParentNode(element));\n  var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n  if (!isElement(clipperElement)) {\n    return [];\n  } // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n\n\n  return clippingParents.filter(function (clippingParent) {\n    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n  });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n  var firstClippingParent = clippingParents[0];\n  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n    var rect = getClientRectFromMixedType(element, clippingParent);\n    accRect.top = Math.max(rect.top, accRect.top);\n    accRect.right = Math.min(rect.right, accRect.right);\n    accRect.bottom = Math.min(rect.bottom, accRect.bottom);\n    accRect.left = Math.max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromMixedType(element, firstClippingParent));\n  clippingRect.width = clippingRect.right - clippingRect.left;\n  clippingRect.height = clippingRect.bottom - clippingRect.top;\n  clippingRect.x = clippingRect.left;\n  clippingRect.y = clippingRect.top;\n  return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n  // can be obscured underneath it.\n  // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n  // if it isn't open, so if this isn't available, the popper will be detected\n  // to overflow the bottom of the screen too early.\n\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n    // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n    // errors due to floating point numbers, so we need to check precision.\n    // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n    // Feature detection fails in mobile emulation mode in Chrome.\n    // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n    // 0.001\n    // Fallback here: \"Not Safari\" userAgent\n\n    if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x + getWindowScrollBarX(element),\n    y: y\n  };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n  var html = getDocumentElement(element);\n  var winScroll = getWindowScroll(element);\n  var body = element.ownerDocument.body;\n  var width = Math.max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n  var height = Math.max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -winScroll.scrollTop;\n\n  if (getComputedStyle(body || html).direction === 'rtl') {\n    x += Math.max(html.clientWidth, body ? body.clientWidth : 0) - width;\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n  return placement.split('-')[0];\n}","export default function getVariation(placement) {\n  return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n  var reference = _ref.reference,\n      element = _ref.element,\n      placement = _ref.placement;\n  var basePlacement = placement ? getBasePlacement(placement) : null;\n  var variation = placement ? getVariation(placement) : null;\n  var commonX = reference.x + reference.width / 2 - element.width / 2;\n  var commonY = reference.y + reference.height / 2 - element.height / 2;\n  var offsets;\n\n  switch (basePlacement) {\n    case top:\n      offsets = {\n        x: commonX,\n        y: reference.y - element.height\n      };\n      break;\n\n    case bottom:\n      offsets = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n\n    case right:\n      offsets = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n\n    case left:\n      offsets = {\n        x: reference.x - element.width,\n        y: commonY\n      };\n      break;\n\n    default:\n      offsets = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n\n  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n  if (mainAxis != null) {\n    var len = mainAxis === 'y' ? 'height' : 'width';\n\n    switch (variation) {\n      case start:\n        offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2);\n        break;\n\n      case end:\n        offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2);\n        break;\n\n      default:\n    }\n  }\n\n  return offsets;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n  return Object.assign(Object.assign({}, getFreshSideObject()), paddingObject);\n}","export default function getFreshSideObject() {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  };\n}","export default function expandToHashMap(value, keys) {\n  return keys.reduce(function (hashMap, key) {\n    hashMap[key] = value;\n    return hashMap;\n  }, {});\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$placement = _options.placement,\n      placement = _options$placement === void 0 ? state.placement : _options$placement,\n      _options$boundary = _options.boundary,\n      boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n      _options$rootBoundary = _options.rootBoundary,\n      rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n      _options$elementConte = _options.elementContext,\n      elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n      _options$altBoundary = _options.altBoundary,\n      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n      _options$padding = _options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n  var altContext = elementContext === popper ? reference : popper;\n  var referenceElement = state.elements.reference;\n  var popperRect = state.rects.popper;\n  var element = state.elements[altBoundary ? altContext : elementContext];\n  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n  var referenceClientRect = getBoundingClientRect(referenceElement);\n  var popperOffsets = computeOffsets({\n    reference: referenceClientRect,\n    element: popperRect,\n    strategy: 'absolute',\n    placement: placement\n  });\n  var popperClientRect = rectToClientRect(Object.assign(Object.assign({}, popperRect), popperOffsets));\n  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n  // 0 or negative = within the clipping rect\n\n  var overflowOffsets = {\n    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n    right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n  };\n  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n  if (elementContext === popper && offsetData) {\n    var offset = offsetData[placement];\n    Object.keys(overflowOffsets).forEach(function (key) {\n      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n      var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n      overflowOffsets[key] += offset[axis] * multiply;\n    });\n  }\n\n  return overflowOffsets;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n\n  var documentElement = getDocumentElement(offsetParent);\n  var rect = getBoundingClientRect(elementOrVirtualElement);\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = {\n    x: 0,\n    y: 0\n  };\n\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n    isScrollParent(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n\n    if (isHTMLElement(offsetParent)) {\n      offsets = getBoundingClientRect(offsetParent);\n      offsets.x += offsetParent.clientLeft;\n      offsets.y += offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n  if (node === getWindow(node) || !isHTMLElement(node)) {\n    return getWindowScroll(node);\n  } else {\n    return getHTMLElementScroll(node);\n  }\n}","export default function getHTMLElementScroll(element) {\n  return {\n    scrollLeft: element.scrollLeft,\n    scrollTop: element.scrollTop\n  };\n}","// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element) {\n  return {\n    x: element.offsetLeft,\n    y: element.offsetTop,\n    width: element.offsetWidth,\n    height: element.offsetHeight\n  };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n  var map = new Map();\n  var visited = new Set();\n  var result = [];\n  modifiers.forEach(function (modifier) {\n    map.set(modifier.name, modifier);\n  }); // On visiting object, check for its dependencies and visit them recursively\n\n  function sort(modifier) {\n    visited.add(modifier.name);\n    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n    requires.forEach(function (dep) {\n      if (!visited.has(dep)) {\n        var depModifier = map.get(dep);\n\n        if (depModifier) {\n          sort(depModifier);\n        }\n      }\n    });\n    result.push(modifier);\n  }\n\n  modifiers.forEach(function (modifier) {\n    if (!visited.has(modifier.name)) {\n      // check for visited object\n      sort(modifier);\n    }\n  });\n  return result;\n}\n\nexport default function orderModifiers(modifiers) {\n  // order based on dependencies\n  var orderedModifiers = order(modifiers); // order based on phase\n\n  return modifierPhases.reduce(function (acc, phase) {\n    return acc.concat(orderedModifiers.filter(function (modifier) {\n      return modifier.phase === phase;\n    }));\n  }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nexport * from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n  placement: 'bottom',\n  modifiers: [],\n  strategy: 'absolute'\n};\n\nfunction areValidElements() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return !args.some(function (element) {\n    return !(element && typeof element.getBoundingClientRect === 'function');\n  });\n}\n\nexport function popperGenerator(generatorOptions) {\n  if (generatorOptions === void 0) {\n    generatorOptions = {};\n  }\n\n  var _generatorOptions = generatorOptions,\n      _generatorOptions$def = _generatorOptions.defaultModifiers,\n      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n      _generatorOptions$def2 = _generatorOptions.defaultOptions,\n      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n  return function createPopper(reference, popper, options) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    var state = {\n      placement: 'bottom',\n      orderedModifiers: [],\n      options: Object.assign(Object.assign({}, DEFAULT_OPTIONS), defaultOptions),\n      modifiersData: {},\n      elements: {\n        reference: reference,\n        popper: popper\n      },\n      attributes: {},\n      styles: {}\n    };\n    var effectCleanupFns = [];\n    var isDestroyed = false;\n    var instance = {\n      state: state,\n      setOptions: function setOptions(options) {\n        cleanupModifierEffects();\n        state.options = Object.assign(Object.assign(Object.assign({}, defaultOptions), state.options), options);\n        state.scrollParents = {\n          reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n          popper: listScrollParents(popper)\n        }; // Orders the modifiers based on their dependencies and `phase`\n        // properties\n\n        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n        state.orderedModifiers = orderedModifiers.filter(function (m) {\n          return m.enabled;\n        }); // Validate the provided modifiers so that the consumer will get warned\n        // if one of the modifiers is invalid for any reason\n\n        if (process.env.NODE_ENV !== \"production\") {\n          var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n            var name = _ref.name;\n            return name;\n          });\n          validateModifiers(modifiers);\n\n          if (getBasePlacement(state.options.placement) === auto) {\n            var flipModifier = state.orderedModifiers.find(function (_ref2) {\n              var name = _ref2.name;\n              return name === 'flip';\n            });\n\n            if (!flipModifier) {\n              console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n            }\n          }\n\n          var _getComputedStyle = getComputedStyle(popper),\n              marginTop = _getComputedStyle.marginTop,\n              marginRight = _getComputedStyle.marginRight,\n              marginBottom = _getComputedStyle.marginBottom,\n              marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n          // cause bugs with positioning, so we'll warn the consumer\n\n\n          if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n            return parseFloat(margin);\n          })) {\n            console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n          }\n        }\n\n        runModifierEffects();\n        return instance.update();\n      },\n      // Sync update – it will always be executed, even if not necessary. This\n      // is useful for low frequency updates where sync behavior simplifies the\n      // logic.\n      // For high frequency updates (e.g. `resize` and `scroll` events), always\n      // prefer the async Popper#update method\n      forceUpdate: function forceUpdate() {\n        if (isDestroyed) {\n          return;\n        }\n\n        var _state$elements = state.elements,\n            reference = _state$elements.reference,\n            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n        // anymore\n\n        if (!areValidElements(reference, popper)) {\n          if (process.env.NODE_ENV !== \"production\") {\n            console.error(INVALID_ELEMENT_ERROR);\n          }\n\n          return;\n        } // Store the reference and popper rects to be read by modifiers\n\n\n        state.rects = {\n          reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n          popper: getLayoutRect(popper)\n        }; // Modifiers have the ability to reset the current update cycle. The\n        // most common use case for this is the `flip` modifier changing the\n        // placement, which then needs to re-run all the modifiers, because the\n        // logic was previously ran for the previous placement and is therefore\n        // stale/incorrect\n\n        state.reset = false;\n        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n        // is filled with the initial data specified by the modifier. This means\n        // it doesn't persist and is fresh on each update.\n        // To ensure persistent data, use `${name}#persistent`\n\n        state.orderedModifiers.forEach(function (modifier) {\n          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n        });\n        var __debug_loops__ = 0;\n\n        for (var index = 0; index < state.orderedModifiers.length; index++) {\n          if (process.env.NODE_ENV !== \"production\") {\n            __debug_loops__ += 1;\n\n            if (__debug_loops__ > 100) {\n              console.error(INFINITE_LOOP_ERROR);\n              break;\n            }\n          }\n\n          if (state.reset === true) {\n            state.reset = false;\n            index = -1;\n            continue;\n          }\n\n          var _state$orderedModifie = state.orderedModifiers[index],\n              fn = _state$orderedModifie.fn,\n              _state$orderedModifie2 = _state$orderedModifie.options,\n              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n              name = _state$orderedModifie.name;\n\n          if (typeof fn === 'function') {\n            state = fn({\n              state: state,\n              options: _options,\n              name: name,\n              instance: instance\n            }) || state;\n          }\n        }\n      },\n      // Async and optimistically optimized update – it will not be executed if\n      // not necessary (debounced to run at most once-per-tick)\n      update: debounce(function () {\n        return new Promise(function (resolve) {\n          instance.forceUpdate();\n          resolve(state);\n        });\n      }),\n      destroy: function destroy() {\n        cleanupModifierEffects();\n        isDestroyed = true;\n      }\n    };\n\n    if (!areValidElements(reference, popper)) {\n      if (process.env.NODE_ENV !== \"production\") {\n        console.error(INVALID_ELEMENT_ERROR);\n      }\n\n      return instance;\n    }\n\n    instance.setOptions(options).then(function (state) {\n      if (!isDestroyed && options.onFirstUpdate) {\n        options.onFirstUpdate(state);\n      }\n    }); // Modifiers have the ability to execute arbitrary code before the first\n    // update cycle runs. They will be executed in the same order as the update\n    // cycle. This is useful when a modifier adds some persistent data that\n    // other modifiers need to use, but the modifier is run after the dependent\n    // one.\n\n    function runModifierEffects() {\n      state.orderedModifiers.forEach(function (_ref3) {\n        var name = _ref3.name,\n            _ref3$options = _ref3.options,\n            options = _ref3$options === void 0 ? {} : _ref3$options,\n            effect = _ref3.effect;\n\n        if (typeof effect === 'function') {\n          var cleanupFn = effect({\n            state: state,\n            name: name,\n            instance: instance,\n            options: options\n          });\n\n          var noopFn = function noopFn() {};\n\n          effectCleanupFns.push(cleanupFn || noopFn);\n        }\n      });\n    }\n\n    function cleanupModifierEffects() {\n      effectCleanupFns.forEach(function (fn) {\n        return fn();\n      });\n      effectCleanupFns = [];\n    }\n\n    return instance;\n  };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n  var pending;\n  return function () {\n    if (!pending) {\n      pending = new Promise(function (resolve) {\n        Promise.resolve().then(function () {\n          pending = undefined;\n          resolve(fn());\n        });\n      });\n    }\n\n    return pending;\n  };\n}","export default function mergeByName(modifiers) {\n  var merged = modifiers.reduce(function (merged, current) {\n    var existing = merged[current.name];\n    merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {\n      options: Object.assign(Object.assign({}, existing.options), current.options),\n      data: Object.assign(Object.assign({}, existing.data), current.data)\n    }) : current;\n    return merged;\n  }, {}); // IE11 does not support Object.values\n\n  return Object.keys(merged).map(function (key) {\n    return merged[key];\n  });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n  passive: true\n};\n\nfunction effect(_ref) {\n  var state = _ref.state,\n      instance = _ref.instance,\n      options = _ref.options;\n  var _options$scroll = options.scroll,\n      scroll = _options$scroll === void 0 ? true : _options$scroll,\n      _options$resize = options.resize,\n      resize = _options$resize === void 0 ? true : _options$resize;\n  var window = getWindow(state.elements.popper);\n  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n  if (scroll) {\n    scrollParents.forEach(function (scrollParent) {\n      scrollParent.addEventListener('scroll', instance.update, passive);\n    });\n  }\n\n  if (resize) {\n    window.addEventListener('resize', instance.update, passive);\n  }\n\n  return function () {\n    if (scroll) {\n      scrollParents.forEach(function (scrollParent) {\n        scrollParent.removeEventListener('scroll', instance.update, passive);\n      });\n    }\n\n    if (resize) {\n      window.removeEventListener('resize', instance.update, passive);\n    }\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'eventListeners',\n  enabled: true,\n  phase: 'write',\n  fn: function fn() {},\n  effect: effect,\n  data: {}\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  // Offsets are the actual position the popper needs to have to be\n  // properly positioned near its reference element\n  // This is the most basic placement, and will be adjusted by\n  // the modifiers in the next step\n  state.modifiersData[name] = computeOffsets({\n    reference: state.rects.reference,\n    element: state.rects.popper,\n    strategy: 'absolute',\n    placement: state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'popperOffsets',\n  enabled: true,\n  phase: 'read',\n  fn: popperOffsets,\n  data: {}\n};","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n  top: 'auto',\n  right: 'auto',\n  bottom: 'auto',\n  left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsets(_ref) {\n  var x = _ref.x,\n      y = _ref.y;\n  var win = window;\n  var dpr = win.devicePixelRatio || 1;\n  return {\n    x: Math.round(x * dpr) / dpr || 0,\n    y: Math.round(y * dpr) / dpr || 0\n  };\n}\n\nexport function mapToStyles(_ref2) {\n  var _Object$assign2;\n\n  var popper = _ref2.popper,\n      popperRect = _ref2.popperRect,\n      placement = _ref2.placement,\n      offsets = _ref2.offsets,\n      position = _ref2.position,\n      gpuAcceleration = _ref2.gpuAcceleration,\n      adaptive = _ref2.adaptive;\n\n  var _roundOffsets = roundOffsets(offsets),\n      x = _roundOffsets.x,\n      y = _roundOffsets.y;\n\n  var hasX = offsets.hasOwnProperty('x');\n  var hasY = offsets.hasOwnProperty('y');\n  var sideX = left;\n  var sideY = top;\n  var win = window;\n\n  if (adaptive) {\n    var offsetParent = getOffsetParent(popper);\n\n    if (offsetParent === getWindow(popper)) {\n      offsetParent = getDocumentElement(popper);\n    } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n    /*:: offsetParent = (offsetParent: Element); */\n\n\n    if (placement === top) {\n      sideY = bottom;\n      y -= offsetParent.clientHeight - popperRect.height;\n      y *= gpuAcceleration ? 1 : -1;\n    }\n\n    if (placement === left) {\n      sideX = right;\n      x -= offsetParent.clientWidth - popperRect.width;\n      x *= gpuAcceleration ? 1 : -1;\n    }\n  }\n\n  var commonStyles = Object.assign({\n    position: position\n  }, adaptive && unsetSides);\n\n  if (gpuAcceleration) {\n    var _Object$assign;\n\n    return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n  }\n\n  return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref3) {\n  var state = _ref3.state,\n      options = _ref3.options;\n  var _options$gpuAccelerat = options.gpuAcceleration,\n      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n      _options$adaptive = options.adaptive,\n      adaptive = _options$adaptive === void 0 ? true : _options$adaptive;\n\n  if (process.env.NODE_ENV !== \"production\") {\n    var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n    if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n      return transitionProperty.indexOf(property) >= 0;\n    })) {\n      console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n    }\n  }\n\n  var commonStyles = {\n    placement: getBasePlacement(state.placement),\n    popper: state.elements.popper,\n    popperRect: state.rects.popper,\n    gpuAcceleration: gpuAcceleration\n  };\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n      offsets: state.modifiersData.popperOffsets,\n      position: state.options.strategy,\n      adaptive: adaptive\n    })));\n  }\n\n  if (state.modifiersData.arrow != null) {\n    state.styles.arrow = Object.assign(Object.assign({}, state.styles.arrow), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n      offsets: state.modifiersData.arrow,\n      position: 'absolute',\n      adaptive: false\n    })));\n  }\n\n  state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n    'data-popper-placement': state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'computeStyles',\n  enabled: true,\n  phase: 'beforeWrite',\n  fn: computeStyles,\n  data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n  var basePlacement = getBasePlacement(placement);\n  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n  var _ref = typeof offset === 'function' ? offset(Object.assign(Object.assign({}, rects), {}, {\n    placement: placement\n  })) : offset,\n      skidding = _ref[0],\n      distance = _ref[1];\n\n  skidding = skidding || 0;\n  distance = (distance || 0) * invertDistance;\n  return [left, right].indexOf(basePlacement) >= 0 ? {\n    x: distance,\n    y: skidding\n  } : {\n    x: skidding,\n    y: distance\n  };\n}\n\nfunction offset(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$offset = options.offset,\n      offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n  var data = placements.reduce(function (acc, placement) {\n    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n    return acc;\n  }, {});\n  var _data$state$placement = data[state.placement],\n      x = _data$state$placement.x,\n      y = _data$state$placement.y;\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.modifiersData.popperOffsets.x += x;\n    state.modifiersData.popperOffsets.y += y;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'offset',\n  enabled: true,\n  phase: 'main',\n  requires: ['popperOffsets'],\n  fn: offset\n};","var hash = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}","var hash = {\n  start: 'end',\n  end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n  return placement.replace(/start|end/g, function (matched) {\n    return hash[matched];\n  });\n}","export default function within(min, value, max) {\n  return Math.max(min, Math.min(value, max));\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n  if (preventedOffsets === void 0) {\n    preventedOffsets = {\n      x: 0,\n      y: 0\n    };\n  }\n\n  return {\n    top: overflow.top - rect.height - preventedOffsets.y,\n    right: overflow.right - rect.width + preventedOffsets.x,\n    bottom: overflow.bottom - rect.height + preventedOffsets.y,\n    left: overflow.left - rect.width - preventedOffsets.x\n  };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n  return [top, right, bottom, left].some(function (side) {\n    return overflow[side] >= 0;\n  });\n}\n\nfunction hide(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var preventedOffsets = state.modifiersData.preventOverflow;\n  var referenceOverflow = detectOverflow(state, {\n    elementContext: 'reference'\n  });\n  var popperAltOverflow = detectOverflow(state, {\n    altBoundary: true\n  });\n  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n  state.modifiersData[name] = {\n    referenceClippingOffsets: referenceClippingOffsets,\n    popperEscapeOffsets: popperEscapeOffsets,\n    isReferenceHidden: isReferenceHidden,\n    hasPopperEscaped: hasPopperEscaped\n  };\n  state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n    'data-popper-reference-hidden': isReferenceHidden,\n    'data-popper-escaped': hasPopperEscaped\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'hide',\n  enabled: true,\n  phase: 'main',\n  requiresIfExists: ['preventOverflow'],\n  fn: hide\n};","// ========================================================\n// react/packages/shared/ReactTypes.js\n// ========================================================\n// ========================================================\n// react/packages/react-reconciler/src/ReactFiberHooks.js\n// ========================================================\nvar WorkTag;\n\n(function (WorkTag) {\n  WorkTag[WorkTag[\"FunctionComponent\"] = 0] = \"FunctionComponent\";\n  WorkTag[WorkTag[\"ClassComponent\"] = 1] = \"ClassComponent\";\n  WorkTag[WorkTag[\"IndeterminateComponent\"] = 2] = \"IndeterminateComponent\";\n  WorkTag[WorkTag[\"HostRoot\"] = 3] = \"HostRoot\";\n  WorkTag[WorkTag[\"HostPortal\"] = 4] = \"HostPortal\";\n  WorkTag[WorkTag[\"HostComponent\"] = 5] = \"HostComponent\";\n  WorkTag[WorkTag[\"HostText\"] = 6] = \"HostText\";\n  WorkTag[WorkTag[\"Fragment\"] = 7] = \"Fragment\";\n  WorkTag[WorkTag[\"Mode\"] = 8] = \"Mode\";\n  WorkTag[WorkTag[\"ContextConsumer\"] = 9] = \"ContextConsumer\";\n  WorkTag[WorkTag[\"ContextProvider\"] = 10] = \"ContextProvider\";\n  WorkTag[WorkTag[\"ForwardRef\"] = 11] = \"ForwardRef\";\n  WorkTag[WorkTag[\"Profiler\"] = 12] = \"Profiler\";\n  WorkTag[WorkTag[\"SuspenseComponent\"] = 13] = \"SuspenseComponent\";\n  WorkTag[WorkTag[\"MemoComponent\"] = 14] = \"MemoComponent\";\n  WorkTag[WorkTag[\"SimpleMemoComponent\"] = 15] = \"SimpleMemoComponent\";\n  WorkTag[WorkTag[\"LazyComponent\"] = 16] = \"LazyComponent\";\n  WorkTag[WorkTag[\"IncompleteClassComponent\"] = 17] = \"IncompleteClassComponent\";\n  WorkTag[WorkTag[\"DehydratedFragment\"] = 18] = \"DehydratedFragment\";\n  WorkTag[WorkTag[\"SuspenseListComponent\"] = 19] = \"SuspenseListComponent\";\n  WorkTag[WorkTag[\"FundamentalComponent\"] = 20] = \"FundamentalComponent\";\n  WorkTag[WorkTag[\"ScopeComponent\"] = 21] = \"ScopeComponent\";\n})(WorkTag || (WorkTag = {}));\n\nexport function getReactFiberFromNode(elm) {\n  if (!elm) {\n    return null;\n  }\n\n  for (var k in elm) {\n    // React 16 uses \"__reactInternalInstance$\" prefix\n    // React 17 uses \"__reactFiber$\" prefix\n    // https://github.com/facebook/react/pull/18377\n    if (k.indexOf('__reactInternalInstance$') === 0 || k.indexOf('__reactFiber$') === 0) {\n      return elm[k];\n    }\n  }\n\n  throw new Error('getReactFiber(): Failed to find a React Fiber on a node');\n}\n//# sourceMappingURL=getReactFiberFromNode.js.map\n","import { popperGenerator, detectOverflow } from \"./index.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n  var state = _ref.state;\n  Object.keys(state.elements).forEach(function (name) {\n    var style = state.styles[name] || {};\n    var attributes = state.attributes[name] || {};\n    var element = state.elements[name]; // arrow is optional + virtual elements\n\n    if (!isHTMLElement(element) || !getNodeName(element)) {\n      return;\n    } // Flow doesn't support to extend this property, but it's the most\n    // effective way to apply styles to an HTMLElement\n    // $FlowFixMe\n\n\n    Object.assign(element.style, style);\n    Object.keys(attributes).forEach(function (name) {\n      var value = attributes[name];\n\n      if (value === false) {\n        element.removeAttribute(name);\n      } else {\n        element.setAttribute(name, value === true ? '' : value);\n      }\n    });\n  });\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state;\n  var initialStyles = {\n    popper: {\n      position: state.options.strategy,\n      left: '0',\n      top: '0',\n      margin: '0'\n    },\n    arrow: {\n      position: 'absolute'\n    },\n    reference: {}\n  };\n  Object.assign(state.elements.popper.style, initialStyles.popper);\n\n  if (state.elements.arrow) {\n    Object.assign(state.elements.arrow.style, initialStyles.arrow);\n  }\n\n  return function () {\n    Object.keys(state.elements).forEach(function (name) {\n      var element = state.elements[name];\n      var attributes = state.attributes[name] || {};\n      var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n      var style = styleProperties.reduce(function (style, property) {\n        style[property] = '';\n        return style;\n      }, {}); // arrow is optional + virtual elements\n\n      if (!isHTMLElement(element) || !getNodeName(element)) {\n        return;\n      } // Flow doesn't support to extend this property, but it's the most\n      // effective way to apply styles to an HTMLElement\n      // $FlowFixMe\n\n\n      Object.assign(element.style, style);\n      Object.keys(attributes).forEach(function (attribute) {\n        element.removeAttribute(attribute);\n      });\n    });\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'applyStyles',\n  enabled: true,\n  phase: 'write',\n  fn: applyStyles,\n  effect: effect,\n  requires: ['computeStyles']\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n  if (getBasePlacement(placement) === auto) {\n    return [];\n  }\n\n  var oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n\n  if (state.modifiersData[name]._skip) {\n    return;\n  }\n\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n      specifiedFallbackPlacements = options.fallbackPlacements,\n      padding = options.padding,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      _options$flipVariatio = options.flipVariations,\n      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n      allowedAutoPlacements = options.allowedAutoPlacements;\n  var preferredPlacement = state.options.placement;\n  var basePlacement = getBasePlacement(preferredPlacement);\n  var isBasePlacement = basePlacement === preferredPlacement;\n  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n    return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding,\n      flipVariations: flipVariations,\n      allowedAutoPlacements: allowedAutoPlacements\n    }) : placement);\n  }, []);\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var checksMap = new Map();\n  var makeFallbackChecks = true;\n  var firstFittingPlacement = placements[0];\n\n  for (var i = 0; i < placements.length; i++) {\n    var placement = placements[i];\n\n    var _basePlacement = getBasePlacement(placement);\n\n    var isStartVariation = getVariation(placement) === start;\n    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n    var len = isVertical ? 'width' : 'height';\n    var overflow = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      altBoundary: altBoundary,\n      padding: padding\n    });\n    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n    if (referenceRect[len] > popperRect[len]) {\n      mainVariationSide = getOppositePlacement(mainVariationSide);\n    }\n\n    var altVariationSide = getOppositePlacement(mainVariationSide);\n    var checks = [];\n\n    if (checkMainAxis) {\n      checks.push(overflow[_basePlacement] <= 0);\n    }\n\n    if (checkAltAxis) {\n      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n    }\n\n    if (checks.every(function (check) {\n      return check;\n    })) {\n      firstFittingPlacement = placement;\n      makeFallbackChecks = false;\n      break;\n    }\n\n    checksMap.set(placement, checks);\n  }\n\n  if (makeFallbackChecks) {\n    // `2` may be desired in some cases – research later\n    var numberOfChecks = flipVariations ? 3 : 1;\n\n    var _loop = function _loop(_i) {\n      var fittingPlacement = placements.find(function (placement) {\n        var checks = checksMap.get(placement);\n\n        if (checks) {\n          return checks.slice(0, _i).every(function (check) {\n            return check;\n          });\n        }\n      });\n\n      if (fittingPlacement) {\n        firstFittingPlacement = fittingPlacement;\n        return \"break\";\n      }\n    };\n\n    for (var _i = numberOfChecks; _i > 0; _i--) {\n      var _ret = _loop(_i);\n\n      if (_ret === \"break\") break;\n    }\n  }\n\n  if (state.placement !== firstFittingPlacement) {\n    state.modifiersData[name]._skip = true;\n    state.placement = firstFittingPlacement;\n    state.reset = true;\n  }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'flip',\n  enabled: true,\n  phase: 'main',\n  fn: flip,\n  requiresIfExists: ['offset'],\n  data: {\n    _skip: false\n  }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\nexport default function computeAutoPlacement(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      placement = _options.placement,\n      boundary = _options.boundary,\n      rootBoundary = _options.rootBoundary,\n      padding = _options.padding,\n      flipVariations = _options.flipVariations,\n      _options$allowedAutoP = _options.allowedAutoPlacements,\n      allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n  var variation = getVariation(placement);\n  var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n    return getVariation(placement) === variation;\n  }) : basePlacements; // $FlowFixMe\n\n  var allowedPlacements = placements.filter(function (placement) {\n    return allowedAutoPlacements.indexOf(placement) >= 0;\n  });\n\n  if (allowedPlacements.length === 0) {\n    allowedPlacements = placements;\n\n    if (process.env.NODE_ENV !== \"production\") {\n      console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n    }\n  } // $FlowFixMe: Flow seems to have problems with two array unions...\n\n\n  var overflows = allowedPlacements.reduce(function (acc, placement) {\n    acc[placement] = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding\n    })[getBasePlacement(placement)];\n    return acc;\n  }, {});\n  return Object.keys(overflows).sort(function (a, b) {\n    return overflows[a] - overflows[b];\n  });\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\n\nfunction preventOverflow(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      padding = options.padding,\n      _options$tether = options.tether,\n      tether = _options$tether === void 0 ? true : _options$tether,\n      _options$tetherOffset = options.tetherOffset,\n      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n  var overflow = detectOverflow(state, {\n    boundary: boundary,\n    rootBoundary: rootBoundary,\n    padding: padding,\n    altBoundary: altBoundary\n  });\n  var basePlacement = getBasePlacement(state.placement);\n  var variation = getVariation(state.placement);\n  var isBasePlacement = !variation;\n  var mainAxis = getMainAxisFromPlacement(basePlacement);\n  var altAxis = getAltAxis(mainAxis);\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign(Object.assign({}, state.rects), {}, {\n    placement: state.placement\n  })) : tetherOffset;\n  var data = {\n    x: 0,\n    y: 0\n  };\n\n  if (!popperOffsets) {\n    return;\n  }\n\n  if (checkMainAxis) {\n    var mainSide = mainAxis === 'y' ? top : left;\n    var altSide = mainAxis === 'y' ? bottom : right;\n    var len = mainAxis === 'y' ? 'height' : 'width';\n    var offset = popperOffsets[mainAxis];\n    var min = popperOffsets[mainAxis] + overflow[mainSide];\n    var max = popperOffsets[mainAxis] - overflow[altSide];\n    var additive = tether ? -popperRect[len] / 2 : 0;\n    var minLen = variation === start ? referenceRect[len] : popperRect[len];\n    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n    // outside the reference bounds\n\n    var arrowElement = state.elements.arrow;\n    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n      width: 0,\n      height: 0\n    };\n    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n    var arrowPaddingMin = arrowPaddingObject[mainSide];\n    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n    // to include its full size in the calculation. If the reference is small\n    // and near the edge of a boundary, the popper can overflow even if the\n    // reference is not overflowing as well (e.g. virtual elements with no\n    // width or height)\n\n    var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n    var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n    var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n    var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n    var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n    var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);\n    popperOffsets[mainAxis] = preventedOffset;\n    data[mainAxis] = preventedOffset - offset;\n  }\n\n  if (checkAltAxis) {\n    var _mainSide = mainAxis === 'x' ? top : left;\n\n    var _altSide = mainAxis === 'x' ? bottom : right;\n\n    var _offset = popperOffsets[altAxis];\n\n    var _min = _offset + overflow[_mainSide];\n\n    var _max = _offset - overflow[_altSide];\n\n    var _preventedOffset = within(_min, _offset, _max);\n\n    popperOffsets[altAxis] = _preventedOffset;\n    data[altAxis] = _preventedOffset - _offset;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'preventOverflow',\n  enabled: true,\n  phase: 'main',\n  fn: preventOverflow,\n  requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction arrow(_ref) {\n  var _state$modifiersData$;\n\n  var state = _ref.state,\n      name = _ref.name;\n  var arrowElement = state.elements.arrow;\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var basePlacement = getBasePlacement(state.placement);\n  var axis = getMainAxisFromPlacement(basePlacement);\n  var isVertical = [left, right].indexOf(basePlacement) >= 0;\n  var len = isVertical ? 'height' : 'width';\n\n  if (!arrowElement || !popperOffsets) {\n    return;\n  }\n\n  var paddingObject = state.modifiersData[name + \"#persistent\"].padding;\n  var arrowRect = getLayoutRect(arrowElement);\n  var minProp = axis === 'y' ? top : left;\n  var maxProp = axis === 'y' ? bottom : right;\n  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n  var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n  var arrowOffsetParent = getOffsetParent(arrowElement);\n  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n  // outside of the popper bounds\n\n  var min = paddingObject[minProp];\n  var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n  var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n  var axisProp = axis;\n  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$element = options.element,\n      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,\n      _options$padding = options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n\n  if (arrowElement == null) {\n    return;\n  } // CSS selector\n\n\n  if (typeof arrowElement === 'string') {\n    arrowElement = state.elements.popper.querySelector(arrowElement);\n\n    if (!arrowElement) {\n      return;\n    }\n  }\n\n  if (process.env.NODE_ENV !== \"production\") {\n    if (!isHTMLElement(arrowElement)) {\n      console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n    }\n  }\n\n  if (!contains(state.elements.popper, arrowElement)) {\n    if (process.env.NODE_ENV !== \"production\") {\n      console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n    }\n\n    return;\n  }\n\n  state.elements.arrow = arrowElement;\n  state.modifiersData[name + \"#persistent\"] = {\n    padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'arrow',\n  enabled: true,\n  phase: 'main',\n  fn: arrow,\n  effect: effect,\n  requires: ['popperOffsets'],\n  requiresIfExists: ['preventOverflow']\n};","import { getScrollParent } from './getScrollParent';\n\n/**\n * Allows to mimic a behavior from V1 of Popper and accept `window` and `scrollParent` as strings.\n */\nexport function getBoundary(element, boundary) {\n  if (boundary === 'window') {\n    return element.ownerDocument.documentElement;\n  }\n\n  if (boundary === 'scrollParent') {\n    var boundariesNode = getScrollParent(element);\n\n    if (boundariesNode.nodeName === 'BODY') {\n      boundariesNode = element.ownerDocument.documentElement;\n    }\n\n    return boundariesNode;\n  }\n\n  return boundary;\n}\n//# sourceMappingURL=getBoundary.js.map\n","import { useCallbackRef, useDeepMemo, useEventCallback, useFirstMount, useIsomorphicLayoutEffect } from '@fluentui/react-bindings';\nimport * as PopperJs from '@popperjs/core';\nimport * as React from 'react';\nimport { getReactFiberFromNode } from '../getReactFiberFromNode';\nimport { isBrowser } from '../isBrowser';\nimport { getBoundary } from './getBoundary';\nimport { getScrollParent } from './getScrollParent';\nimport { applyRtlToOffset, getPlacement } from './positioningHelper';\n\n//\n// Dev utils to detect if nodes have \"autoFocus\" props.\n//\n\n/**\n * Detects if a passed HTML node has \"autoFocus\" prop on a React's fiber. Is needed as React handles autofocus behavior\n * in React DOM and will not pass \"autoFocus\" to an actual HTML.\n *\n * @param {Node} node\n * @returns {Boolean}\n */\nfunction hasAutofocusProp(node) {\n  // https://github.com/facebook/react/blob/848bb2426e44606e0a55dfe44c7b3ece33772485/packages/react-dom/src/client/ReactDOMHostConfig.js#L157-L166\n  var isAutoFocusableElement = node.nodeName === 'BUTTON' || node.nodeName === 'INPUT' || node.nodeName === 'SELECT' || node.nodeName === 'TEXTAREA';\n\n  if (isAutoFocusableElement) {\n    return !!getReactFiberFromNode(node).pendingProps.autoFocus;\n  }\n\n  return false;\n}\n\nfunction hasAutofocusFilter(node) {\n  return hasAutofocusProp(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n}\n/**\n * Provides a callback to resolve Popper options, it's stable and should be used as a dependency to trigger updates\n * of Popper options.\n *\n * A callback is used there intentionally as some of Popper.js modifiers require DOM nodes (targer, container, arrow)\n * that can't be resolved properly during an initial rendering.\n *\n * @param {PopperOptions} options\n * @param {React.MutableRefObject} popperOriginalPositionRef\n *\n * @returns {Function}\n */\n\n\nfunction usePopperOptions(options, popperOriginalPositionRef) {\n  var autoSize = options.autoSize,\n      flipBoundary = options.flipBoundary,\n      offset = options.offset,\n      onStateUpdate = options.onStateUpdate,\n      overflowBoundary = options.overflowBoundary,\n      rtl = options.rtl,\n      unstable_disableTether = options.unstable_disableTether,\n      unstable_pinned = options.unstable_pinned;\n  var placement = getPlacement(options.align, options.position, options.rtl);\n  var strategy = options.positionFixed ? 'fixed' : 'absolute';\n  var handleStateUpdate = useEventCallback(function (_ref) {\n    var state = _ref.state;\n\n    if (onStateUpdate) {\n      onStateUpdate(state);\n    }\n  });\n  var offsetModifier = React.useMemo(function () {\n    return offset ? {\n      name: 'offset',\n      options: {\n        offset: rtl ? applyRtlToOffset(offset) : offset\n      }\n    } : null;\n  }, [offset, rtl]);\n  var userModifiers = useDeepMemo(function () {\n    return options.modifiers;\n  }, options.modifiers);\n  return React.useCallback(function (target, container, arrow) {\n    var scrollParentElement = getScrollParent(container);\n    var hasScrollableElement = scrollParentElement ? scrollParentElement !== scrollParentElement.ownerDocument.body : false;\n    var modifiers = [\n    /**\n     * We are setting the position to `fixed` in the first effect to prevent scroll jumps in case of the content\n     * with managed focus. Modifier sets the position to `fixed` before all other modifier effects. Another part of\n     * a patch modifies \".forceUpdate()\" directly after a Popper will be created.\n     */\n    {\n      name: 'positionStyleFix',\n      enabled: true,\n      phase: 'afterWrite',\n      effect: function effect(_ref2) {\n        var state = _ref2.state,\n            instance = _ref2.instance;\n\n        // \".isFirstRun\" is a part of our patch, on a first evaluation it will \"undefined\"\n        // should be disabled for subsequent runs as it breaks positioning for them\n        if (instance.isFirstRun !== false) {\n          popperOriginalPositionRef.current = state.elements.popper.style['position'];\n          state.elements.popper.style['position'] = 'fixed';\n        }\n\n        return function () {};\n      },\n      requires: []\n    }, {\n      name: 'flip',\n      options: {\n        flipVariations: true\n      }\n    },\n    /**\n     * unstable_pinned disables the flip modifier by setting flip.enabled to false; this\n     * disables automatic repositioning of the popper box; it will always be placed according to\n     * the values of `align` and `position` props, regardless of the size of the component, the\n     * reference element or the viewport.\n     */\n    unstable_pinned && {\n      name: 'flip',\n      enabled: false\n    },\n    /**\n     * When the popper box is placed in the context of a scrollable element, we need to set\n     * preventOverflow.escapeWithReference to true and flip.boundariesElement to 'scrollParent'\n     * (default is 'viewport') so that the popper box will stick with the targetRef when we\n     * scroll targetRef out of the viewport.\n     */\n    hasScrollableElement && {\n      name: 'flip',\n      options: {\n        boundary: 'clippingParents'\n      }\n    }, hasScrollableElement && {\n      name: 'preventOverflow',\n      options: {\n        boundary: 'clippingParents'\n      }\n    }, offsetModifier].concat(typeof userModifiers === 'function' ? userModifiers(target, container, arrow) : userModifiers, [\n    /**\n     * This modifier is necessary to retain behaviour from popper v1 where untethered poppers are allowed by\n     * default. i.e. popper is still rendered fully in the viewport even if anchor element is no longer in the\n     * viewport.\n     */\n    unstable_disableTether && {\n      name: 'preventOverflow',\n      options: {\n        altAxis: unstable_disableTether === 'all',\n        tether: false\n      }\n    }, flipBoundary && {\n      name: 'flip',\n      options: {\n        altBoundary: true,\n        boundary: getBoundary(container, flipBoundary)\n      }\n    }, overflowBoundary && {\n      name: 'preventOverflow',\n      options: {\n        altBoundary: true,\n        boundary: getBoundary(container, overflowBoundary)\n      }\n    }, {\n      name: 'onUpdate',\n      enabled: true,\n      phase: 'afterWrite',\n      fn: handleStateUpdate\n    }, autoSize && {\n      // Similar code as popper-maxsize-modifier: https://github.com/atomiks/popper.js/blob/master/src/modifiers/maxSize.js\n      // popper-maxsize-modifier only calculates the max sizes.\n      // This modifier can apply max sizes always, or apply the max sizes only when overflow is detected\n      name: 'applyMaxSize',\n      enabled: true,\n      phase: 'beforeWrite',\n      requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n      options: {\n        altBoundary: true,\n        boundary: getBoundary(container, overflowBoundary)\n      },\n      fn: function fn(_ref3) {\n        var state = _ref3.state,\n            modifierOptions = _ref3.options;\n        var overflow = PopperJs.detectOverflow(state, modifierOptions);\n\n        var _ref4 = state.modifiersData.preventOverflow || {\n          x: 0,\n          y: 0\n        },\n            x = _ref4.x,\n            y = _ref4.y;\n\n        var _state$rects$popper = state.rects.popper,\n            width = _state$rects$popper.width,\n            height = _state$rects$popper.height;\n\n        var _state$placement$spli = state.placement.split('-'),\n            basePlacement = _state$placement$spli[0];\n\n        var widthProp = basePlacement === 'left' ? 'left' : 'right';\n        var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n        var applyMaxWidth = autoSize === 'always' || autoSize === 'width-always' || overflow[widthProp] > 0 && (autoSize === true || autoSize === 'width');\n        var applyMaxHeight = autoSize === 'always' || autoSize === 'height-always' || overflow[heightProp] > 0 && (autoSize === true || autoSize === 'height');\n\n        if (applyMaxWidth) {\n          state.styles.popper.maxWidth = width - overflow[widthProp] - x + \"px\";\n        }\n\n        if (applyMaxHeight) {\n          state.styles.popper.maxHeight = height - overflow[heightProp] - y + \"px\";\n        }\n      }\n    },\n    /**\n     * This modifier is necessary in order to render the pointer. Refs are resolved in effects, so it can't be\n     * placed under computed modifiers. Deep merge is not required as this modifier has only these properties.\n     */\n    {\n      name: 'arrow',\n      enabled: !!arrow,\n      options: {\n        element: arrow\n      }\n    }]).filter(Boolean);\n    var popperOptions = {\n      modifiers: modifiers,\n      placement: placement,\n      strategy: strategy,\n      onFirstUpdate: function onFirstUpdate(state) {\n        return handleStateUpdate({\n          state: state\n        });\n      }\n    };\n    return popperOptions;\n  }, [autoSize, flipBoundary, offsetModifier, overflowBoundary, placement, strategy, unstable_disableTether, unstable_pinned, userModifiers, // These can be skipped from deps as they will not ever change\n  handleStateUpdate, popperOriginalPositionRef]);\n}\n/**\n * Exposes Popper positioning API via React hook. Contains few important differences between an official \"react-popper\"\n * package:\n * - style attributes are applied directly on DOM to avoid re-renders\n * - refs changes and resolution is handled properly without re-renders\n * - contains a specific to React fix related to initial positioning when containers have components with managed focus\n *   to avoid focus jumps\n *\n * @param {PopperOptions} options\n */\n\n\nexport function usePopper(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$enabled = _options.enabled,\n      enabled = _options$enabled === void 0 ? true : _options$enabled;\n  var isFirstMount = useFirstMount();\n  var popperOriginalPositionRef = React.useRef('absolute');\n  var resolvePopperOptions = usePopperOptions(options, popperOriginalPositionRef);\n  var popperInstanceRef = React.useRef(null);\n  var handlePopperUpdate = useEventCallback(function () {\n    var _popperInstanceRef$cu;\n\n    (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.destroy();\n    popperInstanceRef.current = null;\n    var popperInstance = null;\n\n    if (isBrowser() && enabled) {\n      if (targetRef.current && containerRef.current) {\n        popperInstance = PopperJs.createPopper(targetRef.current, containerRef.current, resolvePopperOptions(targetRef.current, containerRef.current, arrowRef.current));\n      }\n    }\n\n    if (popperInstance) {\n      /**\n       * The patch updates `.forceUpdate()` Popper function which restores the original position before the first\n       * forceUpdate() call. See also \"positionStyleFix\" modifier in usePopperOptions().\n       */\n      var originalForceUpdate = popperInstance.forceUpdate;\n      popperInstance.isFirstRun = true;\n\n      popperInstance.forceUpdate = function () {\n        if (popperInstance.isFirstRun) {\n          popperInstance.state.elements.popper.style['position'] = popperOriginalPositionRef.current;\n          popperInstance.isFirstRun = false;\n        }\n\n        originalForceUpdate();\n      };\n    }\n\n    popperInstanceRef.current = popperInstance;\n  }); // Refs are managed by useCallbackRef() to handle ref updates scenarios.\n  //\n  // The first scenario are updates for a targetRef, we can handle it properly only via callback refs, but it causes\n  // re-renders (we would like to avoid them).\n  //\n  // The second problem is related to refs resolution on React's layer: refs are resolved in the same order as effects\n  // that causes an issue when you have a container inside a target, for example: a menu in ChatMessage.\n  //\n  // function ChatMessage(props) {\n  //   <div className=\"message\" ref={targetRef}> // 3) ref will be resolved only now, but it's too late already\n  //     <Popper target={targetRef}> // 2) create a popper instance\n  //       <div className=\"menu\" /> // 1) capture ref from this element\n  //     </Popper>\n  //   </div>\n  // }\n  //\n  // Check a demo on CodeSandbox: https://codesandbox.io/s/popper-refs-emy60.\n  //\n  // This again can be solved with callback refs. It's not a huge issue as with hooks we are moving popper's creation\n  // to ChatMessage itself, however, without `useCallback()` refs it's still a Pandora box.\n\n  var targetRef = useCallbackRef(null, handlePopperUpdate, true);\n  var containerRef = useCallbackRef(null, handlePopperUpdate, true);\n  var arrowRef = useCallbackRef(null, handlePopperUpdate, true);\n  React.useImperativeHandle(options.popperRef, function () {\n    return {\n      updatePosition: function updatePosition() {\n        var _popperInstanceRef$cu2;\n\n        (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.update();\n      }\n    };\n  }, []);\n  useIsomorphicLayoutEffect(function () {\n    handlePopperUpdate();\n    return function () {\n      var _popperInstanceRef$cu3;\n\n      (_popperInstanceRef$cu3 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu3.destroy();\n      popperInstanceRef.current = null;\n    };\n  }, [options.enabled]);\n  useIsomorphicLayoutEffect(function () {\n    if (!isFirstMount) {\n      var _popperInstanceRef$cu4;\n\n      (_popperInstanceRef$cu4 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu4.setOptions(resolvePopperOptions(targetRef.current, containerRef.current, arrowRef.current));\n    }\n  }, [resolvePopperOptions]);\n\n  if (process.env.NODE_ENV !== 'production') {\n    // This checked should run only in development mode\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useEffect(function () {\n      if (containerRef.current) {\n        var _contentNode$ownerDoc;\n\n        var contentNode = containerRef.current;\n        var treeWalker = (_contentNode$ownerDoc = contentNode.ownerDocument) == null ? void 0 : _contentNode$ownerDoc.createTreeWalker(contentNode, NodeFilter.SHOW_ELEMENT, {\n          acceptNode: hasAutofocusFilter\n        });\n\n        while (treeWalker.nextNode()) {\n          var node = treeWalker.currentNode; // eslint-disable-next-line no-console\n\n          console.warn('<Popper>:', node); // eslint-disable-next-line no-console\n\n          console.warn(['<Popper>: ^ this node contains \"autoFocus\" prop on a React element. This can break the initial', 'positioning of an element and cause a window jump effect. This issue occurs because React polyfills', '\"autoFocus\" behavior to solve inconsistencies between different browsers:', 'https://github.com/facebook/react/issues/11851#issuecomment-351787078', '\\n', 'However, \".focus()\" in this case occurs before any other React effects will be executed', '(React.useEffect(), componentDidMount(), etc.) and we can not prevent this behavior. If you really', 'want to use \"autoFocus\" please add \"position: fixed\" to styles of the element that is wrapped by', '\"Popper\".', \"In general, it's not recommended to use \\\"autoFocus\\\" as it may break accessibility aspects:\", 'https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/no-autofocus.md', '\\n', 'We suggest to use the \"trapFocus\" prop on Fluent components or a catch \"ref\" and then use', '\"ref.current.focus\" in React.useEffect():', 'https://reactjs.org/docs/refs-and-the-dom.html#adding-a-ref-to-a-dom-element'].join(' '));\n        }\n      } // We run this check once, no need to add deps here\n      // TODO: Should be rework to handle options.enabled and contentRef updates\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n\n    }, []);\n  }\n\n  return {\n    targetRef: targetRef,\n    containerRef: containerRef,\n    arrowRef: arrowRef\n  };\n}\n//# sourceMappingURL=usePopper.js.map\n","import _isEqual from \"lodash/isEqual\";\nimport * as React from 'react';\n\n/**\n * Memoize a result using deep equality. This hook has two advantages over\n * React.useMemo: it uses deep equality to compare memo keys, and it guarantees\n * that the memo function will only be called if the keys are unequal.\n * React.useMemo cannot be relied on to do this, since it is only a performance\n * optimization (see https://reactjs.org/docs/hooks-reference.html#usememo).\n *\n * Copied from https://github.com/apollographql/react-apollo/blob/master/packages/hooks/src/utils/useDeepMemo.ts.\n */\nexport function useDeepMemo(memoFn, key) {\n  var ref = React.useRef();\n\n  if (!ref.current || !_isEqual(key, ref.current.key)) {\n    ref.current = {\n      key: key,\n      value: memoFn()\n    };\n  }\n\n  return ref.current.value;\n}\n//# sourceMappingURL=useDeepMemo.js.map\n","import * as React from 'react';\n/**\n * Checks if components was mounted the first time.\n * @example\n * const isFirstMount = useFirstMount();\n *\n * @returns {Boolean}\n */\n\nexport function useFirstMount() {\n  var isFirst = React.useRef(true);\n\n  if (isFirst.current) {\n    isFirst.current = false;\n    return true;\n  }\n\n  return isFirst.current;\n}\n//# sourceMappingURL=useFirstMount.js.map\n","import { selectableListBehavior } from './selectableListBehavior';\nimport { basicListBehavior } from './basicListBehavior';\nimport { navigableListBehavior } from './navigableListBehavior';\n/**\n * @description\n * Defines a behavior 'BasicListBehavior' or 'SelectableListBehavior' based on property 'selectable'.\n */\n\nexport var listBehavior = function listBehavior(props) {\n  return props.selectable ? selectableListBehavior(props) : props.navigable ? navigableListBehavior(props) : basicListBehavior(props);\n};\n//# sourceMappingURL=listBehavior.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\n\n/**\n * @specification\n * Adds role='menu'.\n * Provides arrow key navigation in bidirectionalDomOrder direction.\n */\nexport var navigableListBehavior = function navigableListBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'menu'\n      }\n    },\n    focusZone: {\n      props: {\n        shouldFocusInnerElementWhenReceivedFocus: true,\n        direction: FocusZoneDirection.bidirectionalDomOrder\n      }\n    }\n  };\n};\n//# sourceMappingURL=navigableListBehavior.js.map\n","/**\n * @description\n * The 'list' role is used to identify an element that creates a list.\n *\n * @specification\n * Adds role='list'.\n */\nexport var basicListBehavior = function basicListBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'list'\n      }\n    }\n  };\n};\n//# sourceMappingURL=basicListBehavior.js.map\n","import _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport { listBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useAutoControlled, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { ListContextProvider } from './listContext';\nimport { ListItem } from './ListItem';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemContentMedia } from './ListItemContentMedia';\nimport { ListItemEndMedia } from './ListItemEndMedia';\nimport { ListItemHeader } from './ListItemHeader';\nimport { ListItemHeaderMedia } from './ListItemHeaderMedia';\nimport { ListItemMedia } from './ListItemMedia';\nexport var listClassName = 'ui-list';\n/**\n * A List displays a group of related sequential items.\n *\n * @accessibility\n * List may follow one of the following accessibility semantics:\n * - Static non-navigable list. Implements [ARIA list](https://www.w3.org/TR/wai-aria-1.1/#list) role.\n * - Selectable list: allows the user to select item from a list of choices. Implements [ARIA Listbox](https://www.w3.org/TR/wai-aria-practices-1.1/#Listbox) design pattern.\n */\n\nexport var List = /*#__PURE__*/function () {\n  var List = function List(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(List.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        as = props.as,\n        children = props.children,\n        className = props.className,\n        debug = props.debug,\n        design = props.design,\n        horizontal = props.horizontal,\n        items = props.items,\n        navigable = props.navigable,\n        selectable = props.selectable,\n        styles = props.styles,\n        truncateContent = props.truncateContent,\n        truncateHeader = props.truncateHeader,\n        variables = props.variables,\n        wrap = props.wrap;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultSelectedIndex,\n      value: props.selectedIndex,\n      initialValue: -1\n    }),\n        selectedIndex = _useAutoControlled[0],\n        setSelectedIndex = _useAutoControlled[1];\n\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: List.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          horizontal: horizontal,\n          navigable: navigable,\n          selectable: selectable\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(List.displayName, {\n      className: listClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          isListTag: as === 'ol' || as === 'ul',\n          debug: debug,\n          horizontal: horizontal\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var latestProps = React.useRef(props);\n    latestProps.current = props;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(List.handledProps, props);\n    var hasContent = childrenExist(children) || items && items.length > 0;\n    var onItemClick = React.useCallback(function (e, itemIndex) {\n      if (latestProps.current.selectable) {\n        setSelectedIndex(itemIndex);\n\n        _invoke(latestProps.current, 'onSelectedIndexChange', e, Object.assign({}, latestProps.current, {\n          selectedIndex: itemIndex\n        }));\n      }\n    }, [latestProps, setSelectedIndex]);\n    var childProps = {\n      debug: debug,\n      navigable: navigable,\n      onItemClick: onItemClick,\n      selectable: selectable,\n      selectedIndex: selectedIndex,\n      truncateContent: truncateContent,\n      truncateHeader: truncateHeader,\n      variables: variables\n    };\n\n    var renderItems = function renderItems() {\n      return _map(items, function (item, index) {\n        return ListItem.create(item, {\n          defaultProps: function defaultProps() {\n            return {\n              index: index\n            };\n          }\n        });\n      });\n    };\n\n    var element = getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), /*#__PURE__*/React.createElement(ListContextProvider, {\n      value: childProps\n    }, hasContent && wrap(childrenExist(children) ? children : renderItems()))));\n    setEnd();\n    return element;\n  };\n\n  List.displayName = 'List';\n  List.defaultProps = {\n    as: 'ul',\n    accessibility: listBehavior,\n    wrap: function wrap(children) {\n      return children;\n    }\n  };\n  List.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    debug: PropTypes.bool,\n    items: customPropTypes.collectionShorthand,\n    selectable: customPropTypes.every([customPropTypes.disallow(['navigable']), PropTypes.bool]),\n    navigable: customPropTypes.every([customPropTypes.disallow(['selectable']), PropTypes.bool]),\n    truncateContent: PropTypes.bool,\n    truncateHeader: PropTypes.bool,\n    selectedIndex: PropTypes.number,\n    defaultSelectedIndex: PropTypes.number,\n    onSelectedIndexChange: PropTypes.func,\n    horizontal: PropTypes.bool,\n    wrap: PropTypes.func\n  });\n  List.handledProps = Object.keys(List.propTypes);\n  List.Item = ListItem;\n  List.ItemContent = ListItemContent;\n  List.ItemContentMedia = ListItemContentMedia;\n  List.ItemEndMedia = ListItemEndMedia;\n  List.ItemHeader = ListItemHeader;\n  List.ItemHeaderMedia = ListItemHeaderMedia;\n  List.ItemMedia = ListItemMedia;\n  List.create = createShorthandFactory({\n    Component: List,\n    mappedArrayProp: 'items'\n  });\n  return List;\n}();\n//# sourceMappingURL=List.js.map\n","/**\n * @description\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'.\n * Adds attribute 'aria-orientation=vertical' or 'horizontal' based on the property 'vertical'.\n * Adds attribute 'aria-valuemin' with value based on the property 'min'.\n * Adds attribute 'aria-valuemax' with value based on the property 'max'.\n * Adds attribute 'aria-valuenow' with value based on the property 'value'.\n * Adds attribute 'aria-valuetext' with value based on the callback function 'getA11yValueMessageOnChange'.\n */\nexport var sliderBehavior = function sliderBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        'aria-disabled': props.disabled\n      },\n      input: {\n        'aria-orientation': props.vertical ? 'vertical' : 'horizontal',\n        'aria-valuemin': props.min,\n        'aria-valuemax': props.max,\n        'aria-valuenow': props.value,\n        'aria-valuetext': props.getA11yValueMessageOnChange(props)\n      }\n    }\n  };\n};\n//# sourceMappingURL=sliderBehavior.js.map\n","import { createManager } from '../createManager';\nexport var createSliderManager = function createSliderManager(config) {\n  if (config === void 0) {\n    config = {};\n  }\n\n  return createManager(Object.assign({}, config, {\n    state: Object.assign({\n      value: '50'\n    }, config.state),\n    actions: Object.assign({\n      change: function change(value) {\n        return function () {\n          return {\n            value: value\n          };\n        };\n      }\n    }, config.actions)\n  }));\n};\n//# sourceMappingURL=sliderManager.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport _toNumber from \"lodash/toNumber\";\nimport { sliderBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStateManager, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { createSliderManager } from '@fluentui/state';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, partitionHTMLProps, setWhatInputSource, createShorthandFactory } from '../../utils';\nimport { Box } from '../Box/Box';\n\nvar processInputValues = function processInputValues(p) {\n  var min = _toNumber(p.min);\n\n  var max = _toNumber(p.max);\n\n  var value = _toNumber(p.value);\n\n  if (isNaN(min)) min = Number(Slider.defaultProps.min);\n  if (isNaN(max)) max = Number(Slider.defaultProps.max);\n  value = isNaN(value) ? min + (max - min) / 2 : Math.min(max, Math.max(min, value));\n  var valueAsPercentage = 100 * (value - min) / (max - min) + \"%\";\n  return {\n    min: min,\n    max: max,\n    value: value,\n    valueAsPercentage: valueAsPercentage\n  };\n};\n\nexport var sliderClassName = 'ui-slider';\nexport var sliderSlotClassNames = {\n  input: sliderClassName + \"__input\",\n  inputWrapper: sliderClassName + \"__input-wrapper\",\n  rail: sliderClassName + \"__rail\",\n  thumb: sliderClassName + \"__thumb\",\n  track: sliderClassName + \"__track\"\n};\n/**\n * A Slider represents an input that allows user to choose a value from within a specific range.\n *\n * @accessibility\n * Implements [ARIA Slider](https://www.w3.org/TR/wai-aria-practices-1.1/#slider) design pattern.\n * @accessibilityIssues\n * [Slider - JAWS narrates slider value twice when using PageUp / PageDown](https://github.com/FreedomScientific/VFO-standards-support/issues/220)\n * [Slider - JAWS narrates current and new value in vertical slider](https://github.com/FreedomScientific/VFO-standards-support/issues/219)\n */\n\nexport var Slider = /*#__PURE__*/function () {\n  var Slider = function Slider(props) {\n    var _ref;\n\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Slider.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        min = props.min,\n        max = props.max,\n        value = props.value,\n        getA11yValueMessageOnChange = props.getA11yValueMessageOnChange,\n        defaultValue = props.defaultValue,\n        input = props.input,\n        userInputRef = props.inputRef,\n        step = props.step,\n        className = props.className,\n        styles = props.styles,\n        variables = props.variables,\n        design = props.design,\n        fluid = props.fluid,\n        vertical = props.vertical,\n        disabled = props.disabled;\n    var inputRef = React.useRef();\n\n    var _useStateManager = useStateManager(createSliderManager, {\n      mapPropsToInitialState: function mapPropsToInitialState() {\n        return {\n          value: defaultValue\n        };\n      },\n      mapPropsToState: function mapPropsToState() {\n        return {\n          value: value\n        };\n      }\n    }),\n        state = _useStateManager.state,\n        actions = _useStateManager.actions;\n\n    var _processInputValues = processInputValues({\n      min: min,\n      max: max,\n      value: state.value || ''\n    }),\n        numericMin = _processInputValues.min,\n        numericMax = _processInputValues.max,\n        numericValue = _processInputValues.value,\n        valueAsPercentage = _processInputValues.valueAsPercentage;\n\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: Slider.displayName,\n      rtl: context.rtl,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          disabled: disabled,\n          getA11yValueMessageOnChange: getA11yValueMessageOnChange,\n          max: numericMax,\n          min: numericMax,\n          value: numericValue,\n          vertical: vertical\n        };\n      }\n    });\n\n    var _useStyles = useStyles(Slider.displayName, {\n      className: sliderClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          fluid: fluid,\n          vertical: vertical,\n          disabled: disabled\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          styles: styles,\n          variables: variables,\n          design: design\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var handleInputOverrides = function handleInputOverrides() {\n      return {\n        onChange: function onChange(e) {\n          var value = _get(e, 'target.value');\n\n          _invoke(props, 'onChange', e, Object.assign({}, props, {\n            value: value\n          }));\n\n          actions.change(value);\n        },\n        onMouseDown: function onMouseDown(e) {\n          setWhatInputSource(context.target, 'mouse');\n\n          _invoke(props, 'onMouseDown', e, props);\n        }\n      };\n    };\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Slider.handledProps, props);\n\n    var _partitionHTMLProps = partitionHTMLProps(unhandledProps),\n        htmlInputProps = _partitionHTMLProps[0],\n        restProps = _partitionHTMLProps[1];\n\n    var type = 'range'; // we need 2 wrappers around the slider rail, track, input and thumb slots to achieve correct component sizes\n\n    var inputElement = Box.create(input || type, {\n      defaultProps: function defaultProps() {\n        return getA11Props('input', Object.assign({}, htmlInputProps, {\n          as: 'input',\n          className: sliderSlotClassNames.input,\n          min: numericMin,\n          max: numericMax,\n          step: step,\n          styles: resolvedStyles.input,\n          type: type,\n          value: numericValue\n        }));\n      },\n      overrideProps: handleInputOverrides\n    });\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, restProps)), /*#__PURE__*/React.createElement(\"div\", getA11Props('inputWrapper', {\n      className: cx(sliderSlotClassNames.inputWrapper, classes.inputWrapper)\n    }), /*#__PURE__*/React.createElement(\"span\", getA11Props('rail', {\n      className: cx(sliderSlotClassNames.rail, classes.rail)\n    })), /*#__PURE__*/React.createElement(\"span\", _extends({}, getA11Props('track', {\n      className: cx(sliderSlotClassNames.track, classes.track)\n    }), {\n      style: {\n        width: valueAsPercentage\n      }\n    })), /*#__PURE__*/React.createElement(Ref, {\n      innerRef: function innerRef(inputElement) {\n        handleRef(inputRef, inputElement);\n        handleRef(userInputRef, inputElement);\n      }\n    }, inputElement), /*#__PURE__*/React.createElement(\"span\", _extends({}, getA11Props('thumb', {\n      className: cx(sliderSlotClassNames.thumb, classes.thumb)\n    }), {\n      style: (_ref = {}, _ref[context.rtl ? 'right' : 'left'] = valueAsPercentage, _ref)\n    }))));\n    setEnd();\n    return element;\n  };\n\n  Slider.displayName = 'Slider';\n  Slider.defaultProps = {\n    accessibility: sliderBehavior,\n    getA11yValueMessageOnChange: function getA11yValueMessageOnChange(_ref2) {\n      var value = _ref2.value;\n      return String(value);\n    },\n    max: 100,\n    min: 0,\n    step: 1\n  };\n  Slider.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    fluid: PropTypes.bool,\n    getA11yValueMessageOnChange: PropTypes.func,\n    input: customPropTypes.itemShorthand,\n    inputRef: customPropTypes.ref,\n    max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    onChange: PropTypes.func,\n    step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n    vertical: PropTypes.bool\n  });\n  Slider.handledProps = Object.keys(Slider.propTypes);\n  Slider.create = createShorthandFactory({\n    Component: Slider,\n    mappedProp: 'value'\n  });\n  return Slider;\n}();\n//# sourceMappingURL=Slider.js.map\n","import { callable, mergeComponentVariables, withDebugId } from '@fluentui/styles';\nvar variablesCache = new WeakMap();\nexport var resolveVariables = function resolveVariables(displayNames, theme, variables, enabledVariablesCaching) {\n  var componentThemeVariables; // Filter out components that doesn't have defined variables in theme\n\n  var effectiveDisplayNames = displayNames.filter(function (displayName) {\n    return !!theme.componentVariables[displayName];\n  }); //\n  // Simple caching model, works only if there is no `props.variables`\n  // Resolves variables for this component, cache the result in provider\n  //\n\n  if (enabledVariablesCaching) {\n    if (!variablesCache.has(theme)) {\n      variablesCache.set(theme, {});\n    }\n\n    var variablesThemeCache = variablesCache.get(theme) || {}; // const displayNames = { Foo: variables, Bar: undefined, Baz: undefined }\n    // This allows to avoid creating useless cache entries for `Bar` & `Baz` components\n\n    var handlingDisplayName = effectiveDisplayNames[effectiveDisplayNames.length - 1];\n\n    if (!variablesThemeCache[handlingDisplayName]) {\n      // A short circle to avoid additional merging for non-composed components\n      if (effectiveDisplayNames.length === 1) {\n        variablesThemeCache[handlingDisplayName] = callable(theme.componentVariables[handlingDisplayName])(theme.siteVariables);\n      } else {\n        variablesThemeCache[handlingDisplayName] = mergeComponentVariables.apply(void 0, effectiveDisplayNames.map(function (displayName) {\n          return theme.componentVariables[displayName];\n        }))(theme.siteVariables);\n      }\n\n      variablesCache.set(theme, variablesThemeCache);\n    }\n\n    componentThemeVariables = variablesThemeCache[handlingDisplayName];\n  } else if (effectiveDisplayNames.length === 1) {\n    componentThemeVariables = callable(theme.componentVariables[effectiveDisplayNames[0]])(theme.siteVariables) || {};\n  } else {\n    componentThemeVariables = mergeComponentVariables.apply(void 0, effectiveDisplayNames.map(function (displayName) {\n      return theme.componentVariables[displayName];\n    }))(theme.siteVariables);\n  }\n\n  if (variables === undefined) {\n    return componentThemeVariables;\n  }\n\n  return mergeComponentVariables(componentThemeVariables, withDebugId(variables, 'props.variables'))(theme.siteVariables);\n};\n//# sourceMappingURL=resolveVariables.js.map\n","import _isNil from \"lodash/isNil\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport { isDebugEnabled, mergeComponentStyles, withDebugId } from '@fluentui/styles';\nimport cx from 'classnames';\n// this weak map is used as cache for the classes\nvar classesCache = new WeakMap(); // this weak map is used as cache for the styles\n\nvar stylesCache = new WeakMap();\n/**\n * Both resolvedStyles and classes are objects of getters with lazy evaluation\n *\n * Additionally if the cacheEnabled option is provided, than the resolved styles\n * and classes are caching the results in WeakMaps. The key of the maps contains the following:\n * - theme\n * - displayName\n * - slot name\n * - styling props\n * - rtl mode\n * - disable animations mode\n */\n\nexport var resolveStyles = function resolveStyles(options, resolvedVariables) {\n  var allDisplayNames = options.allDisplayNames,\n      componentClassName = options.className,\n      theme = options.theme,\n      primaryDisplayName = options.primaryDisplayName,\n      componentProps = options.componentProps,\n      inlineStylesProps = options.inlineStylesProps,\n      rtl = options.rtl,\n      disableAnimations = options.disableAnimations,\n      renderer = options.renderer,\n      performanceFlags = options.performance,\n      telemetry = options.telemetry;\n  var className = inlineStylesProps.className,\n      design = inlineStylesProps.design,\n      styles = inlineStylesProps.styles,\n      variables = inlineStylesProps.variables;\n  var noInlineStylesOverrides = !(design || styles);\n  var noVariableOverrides = performanceFlags.enableBooleanVariablesCaching || !variables;\n  /* istanbul ignore else */\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (!performanceFlags.enableStylesCaching && performanceFlags.enableBooleanVariablesCaching) {\n      throw new Error('@fluentui/react-northstar: Please check your \"performance\" settings on \"Provider\", to enable \"enableBooleanVariablesCaching\" you need to enable \"enableStylesCaching\"');\n    }\n  }\n\n  if (performanceFlags.enableBooleanVariablesCaching) {\n    if (_isPlainObject(variables)) {\n      var hasOnlyBooleanVariables = Object.keys(variables).every(function (variableName) {\n        return variables[variableName] === null || typeof variables[variableName] === 'undefined' || typeof variables[variableName] === 'boolean';\n      });\n\n      if (!hasOnlyBooleanVariables) {\n        noVariableOverrides = false;\n      }\n    } else if (!_isNil(variables)) {\n      noVariableOverrides = false;\n    }\n  }\n\n  var cacheEnabled = performanceFlags.enableStylesCaching && noInlineStylesOverrides && noVariableOverrides; // Merge theme styles with inline overrides if any\n\n  var mergedStyles;\n\n  if (allDisplayNames.length === 1) {\n    mergedStyles = theme.componentStyles[allDisplayNames[0]] || {\n      root: function root() {\n        return {};\n      }\n    };\n  } else {\n    var _styles = allDisplayNames.map(function (displayName) {\n      return theme.componentStyles[displayName];\n    }).filter(Boolean);\n\n    if (_styles.length > 0) {\n      mergedStyles = _styles.reduce(function (acc, styles) {\n        return mergeComponentStyles(acc, styles);\n      }, {});\n    } else {\n      mergedStyles = {\n        root: function root() {\n          return {};\n        }\n      };\n    }\n  }\n\n  if (!noInlineStylesOverrides) {\n    mergedStyles = mergeComponentStyles(mergedStyles, mergeComponentStyles(design && withDebugId({\n      root: design\n    }, 'props.design'), styles && withDebugId({\n      root: styles\n    }, 'props.styles')));\n  }\n\n  var styleParam = {\n    props: componentProps,\n    variables: resolvedVariables,\n    theme: theme,\n    rtl: rtl,\n    disableAnimations: disableAnimations\n  }; // Heads Up! Keep in sync with Design.tsx render logic\n\n  var rendererParam = {\n    direction: rtl ? 'rtl' : 'ltr',\n    disableAnimations: disableAnimations,\n    displayName: allDisplayNames.join(':'),\n    // does not affect styles, only used by useEnhancedRenderer in docs\n    sanitizeCss: performanceFlags.enableSanitizeCssPlugin\n  };\n  var resolvedStylesDebug = {};\n\n  if (cacheEnabled && theme) {\n    if (!stylesCache.has(theme)) {\n      stylesCache.set(theme, {});\n    }\n\n    if (!classesCache.has(theme)) {\n      classesCache.set(theme, {});\n    }\n  }\n\n  var propsCacheKey = cacheEnabled ? JSON.stringify(componentProps) : '';\n  var variablesCacheKey = cacheEnabled && performanceFlags.enableBooleanVariablesCaching ? JSON.stringify(variables) : '';\n  var componentCacheKey = cacheEnabled ? allDisplayNames.join(':') + \":\" + propsCacheKey + \":\" + variablesCacheKey + \":\" + styleParam.rtl + styleParam.disableAnimations : '';\n\n  if (typeof Proxy === 'undefined') {\n    //\n    //\n    // IE11 branch of code, feel free to remove later.\n    // Keep it sync with another branch below!\n    //\n    //\n    var _resolvedStyles = {};\n    var _classes = {};\n    Object.keys(mergedStyles).forEach(function (slotName) {\n      // resolve/render slot styles once and cache\n      var lazyEvaluationKey = slotName + \"__return\";\n      var slotCacheKey = componentCacheKey + slotName;\n      Object.defineProperty(_resolvedStyles, slotName, {\n        enumerable: false,\n        configurable: false,\n        set: function set(val) {\n          // Add to the cache if it's enabled\n          if (cacheEnabled && theme) {\n            var _Object$assign;\n\n            stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign = {}, _Object$assign[slotCacheKey] = val, _Object$assign)));\n          }\n\n          _resolvedStyles[lazyEvaluationKey] = val;\n        },\n        get: function get() {\n          // If caching enabled and entry exists, get from cache, avoid lazy evaluation\n          if (cacheEnabled && theme) {\n            var stylesThemeCache = stylesCache.get(theme) || {};\n\n            if (stylesThemeCache[slotCacheKey]) {\n              return stylesThemeCache[slotCacheKey];\n            }\n          }\n\n          if (_resolvedStyles[lazyEvaluationKey]) {\n            return _resolvedStyles[lazyEvaluationKey];\n          }\n\n          var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0; // resolve/render slot styles once and cache\n\n          _resolvedStyles[lazyEvaluationKey] = mergedStyles[slotName](styleParam);\n\n          if (cacheEnabled && theme) {\n            var _Object$assign2;\n\n            stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign2 = {}, _Object$assign2[slotCacheKey] = _resolvedStyles[lazyEvaluationKey], _Object$assign2)));\n          }\n\n          if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n            resolvedStylesDebug[slotName] = _resolvedStyles[slotName]['_debug'];\n            delete _resolvedStyles[slotName]['_debug'];\n          }\n\n          if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n            telemetry.performance[primaryDisplayName].msResolveStylesTotal += performance.now() - telemetryPartStart;\n          }\n\n          return _resolvedStyles[lazyEvaluationKey];\n        }\n      });\n      Object.defineProperty(_classes, slotName, {\n        enumerable: false,\n        configurable: false,\n        set: function set(val) {\n          if (cacheEnabled && theme) {\n            var _Object$assign3;\n\n            classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign3 = {}, _Object$assign3[slotCacheKey] = val, _Object$assign3)));\n          }\n\n          _classes[lazyEvaluationKey] = val;\n        },\n        get: function get() {\n          if (cacheEnabled && theme) {\n            var classesThemeCache = classesCache.get(theme) || {}; //\n            // Cached styles\n            //\n\n            if (classesThemeCache[slotCacheKey] || classesThemeCache[slotCacheKey] === '') {\n              if (telemetry != null && telemetry.performance[primaryDisplayName]) {\n                if (slotName === 'root') {\n                  telemetry.performance[primaryDisplayName].stylesRootCacheHits++;\n                } else {\n                  telemetry.performance[primaryDisplayName].stylesSlotsCacheHits++;\n                }\n              }\n\n              return slotName === 'root' ? cx(componentClassName, classesThemeCache[slotCacheKey], className) : classesThemeCache[slotCacheKey];\n            }\n          } //\n          // Lazy eval\n          //\n\n\n          if (_classes[lazyEvaluationKey]) {\n            return slotName === 'root' ? cx(componentClassName, _classes[lazyEvaluationKey], className) : _classes[lazyEvaluationKey];\n          } // this resolves the getter magic\n\n\n          var styleObj = _resolvedStyles[slotName];\n          var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n\n          if (styleObj) {\n            _classes[lazyEvaluationKey] = renderer.renderRule(styleObj, rendererParam);\n\n            if (cacheEnabled && theme) {\n              var _Object$assign4;\n\n              classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign4 = {}, _Object$assign4[slotCacheKey] = _classes[lazyEvaluationKey], _Object$assign4)));\n            }\n          }\n\n          var resultClassName = slotName === 'root' ? cx(componentClassName, _classes[lazyEvaluationKey], className) : _classes[lazyEvaluationKey];\n\n          if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n            telemetry.performance[primaryDisplayName].msRenderStylesTotal += performance.now() - telemetryPartStart;\n          }\n\n          return resultClassName;\n        }\n      });\n    });\n    return {\n      resolvedStyles: _resolvedStyles,\n      resolvedStylesDebug: resolvedStylesDebug,\n      classes: _classes\n    };\n  }\n\n  var resolvedStyles = new Proxy({}, {\n    get: function get(target, slotName) {\n      var _mergedStyles$slotNam, _mergedStyles;\n\n      var slotCacheKey = componentCacheKey + slotName; // If caching enabled and entry exists, get from cache, avoid lazy evaluation\n\n      if (cacheEnabled && theme) {\n        var stylesThemeCache = stylesCache.get(theme) || {};\n\n        if (stylesThemeCache[slotCacheKey]) {\n          return stylesThemeCache[slotCacheKey];\n        }\n      }\n\n      if (target[slotName]) {\n        return target[slotName];\n      }\n\n      var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0; // resolve/render slot styles once and cache\n\n      target[slotName] = (_mergedStyles$slotNam = (_mergedStyles = mergedStyles)[slotName]) == null ? void 0 : _mergedStyles$slotNam.call(_mergedStyles, styleParam);\n\n      if (cacheEnabled && theme) {\n        var _Object$assign5;\n\n        stylesCache.set(theme, Object.assign({}, stylesCache.get(theme), (_Object$assign5 = {}, _Object$assign5[slotCacheKey] = target[slotName], _Object$assign5)));\n      }\n\n      if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n        resolvedStylesDebug[slotName] = target[slotName]['_debug'];\n        delete target[slotName]['_debug'];\n      }\n\n      if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n        telemetry.performance[primaryDisplayName].msResolveStylesTotal += performance.now() - telemetryPartStart;\n      }\n\n      return target[slotName];\n    }\n  });\n  var classes = new Proxy({}, {\n    get: function get(target, slotName) {\n      var slotCacheKey = componentCacheKey + slotName;\n\n      if (cacheEnabled && theme) {\n        var classesThemeCache = classesCache.get(theme) || {}; //\n        // Cached styles\n        //\n\n        if (classesThemeCache[slotCacheKey] || classesThemeCache[slotCacheKey] === '') {\n          if (telemetry != null && telemetry.performance[primaryDisplayName]) {\n            if (slotName === 'root') {\n              telemetry.performance[primaryDisplayName].stylesRootCacheHits++;\n            } else {\n              telemetry.performance[primaryDisplayName].stylesSlotsCacheHits++;\n            }\n          }\n\n          return slotName === 'root' ? cx(componentClassName, classesThemeCache[slotCacheKey], className) : classesThemeCache[slotCacheKey];\n        }\n      } //\n      // Lazy eval\n      //\n\n\n      if (target[slotName]) {\n        return slotName === 'root' ? cx(componentClassName, target[slotName], className) : target[slotName];\n      } // this resolves the getter magic\n\n\n      var styleObj = resolvedStyles[slotName];\n      var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n\n      if (styleObj) {\n        target[slotName] = renderer.renderRule(styleObj, rendererParam);\n\n        if (cacheEnabled && theme) {\n          var _Object$assign6;\n\n          classesCache.set(theme, Object.assign({}, classesCache.get(theme), (_Object$assign6 = {}, _Object$assign6[slotCacheKey] = target[slotName], _Object$assign6)));\n        }\n      }\n\n      var resultClassName = slotName === 'root' ? cx(componentClassName, target[slotName], className) : target[slotName];\n\n      if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n        telemetry.performance[primaryDisplayName].msRenderStylesTotal += performance.now() - telemetryPartStart;\n      }\n\n      return resultClassName;\n    }\n  });\n  return {\n    resolvedStyles: resolvedStyles,\n    resolvedStylesDebug: resolvedStylesDebug,\n    classes: classes\n  };\n};\n//# sourceMappingURL=resolveStyles.js.map\n","import _isEmpty from \"lodash/isEmpty\";\nimport _filter from \"lodash/filter\";\nimport { isDebugEnabled } from '@fluentui/styles';\nimport { resolveVariables } from './resolveVariables';\nimport { resolveStyles } from './resolveStyles';\nexport var getStyles = function getStyles(options) {\n  var primaryDisplayName = options.primaryDisplayName,\n      telemetry = options.telemetry; //\n  // To compute styles we are going through three stages:\n  // - resolve variables (siteVariables => componentVariables + props.variables)\n  // - resolve styles (with resolvedVariables & props.styles & props.design)\n  // - compute classes (with resolvedStyles)\n  // - conditionally add sources for evaluating debug information to component\n\n  var telemetryPartStart = telemetry != null && telemetry.enabled ? performance.now() : 0;\n  var resolvedVariables = resolveVariables(options.allDisplayNames, options.theme, options.inlineStylesProps.variables, options.performance.enableVariablesCaching);\n\n  if (telemetry != null && telemetry.enabled && telemetry.performance[primaryDisplayName]) {\n    telemetry.performance[primaryDisplayName].msResolveVariablesTotal += performance.now() - telemetryPartStart;\n  }\n\n  var _resolveStyles = resolveStyles(options, resolvedVariables),\n      classes = _resolveStyles.classes,\n      resolvedStyles = _resolveStyles.resolvedStyles,\n      resolvedStylesDebug = _resolveStyles.resolvedStylesDebug; // conditionally add sources for evaluating debug information to component\n\n\n  if (process.env.NODE_ENV !== 'production' && isDebugEnabled) {\n    options.saveDebug({\n      componentName: options.allDisplayNames.join(':'),\n      componentVariables: _filter(resolvedVariables._debug, function (variables) {\n        return !_isEmpty(variables.resolved);\n      }),\n      componentStyles: resolvedStylesDebug,\n      siteVariables: _filter(options.theme.siteVariables._debug, function (siteVars) {\n        if (_isEmpty(siteVars) || _isEmpty(siteVars.resolved)) {\n          return false;\n        }\n\n        var keys = Object.keys(siteVars.resolved);\n\n        if (keys.length === 1 && keys.pop() === 'fontSizes' && _isEmpty(siteVars.resolved['fontSizes'])) {\n          return false;\n        }\n\n        return true;\n      })\n    });\n  }\n\n  return {\n    classes: classes,\n    variables: resolvedVariables,\n    styles: resolvedStyles,\n    theme: options.theme\n  };\n};\n//# sourceMappingURL=getStyles.js.map\n","import { keyboardKey } from '../../keyboard-key';\n\n/**\n * @description\n * Implements ARIA Radio Group design pattern.\n * @specification\n *  Adds role='radiogroup'. This allows screen readers to handle the component as a radio group.\n *  Triggers 'nextItem' action with 'ArrowDown' or 'ArrowRight' on 'root'.\n *  Triggers 'prevItem' action with 'ArrowUp' or 'ArrowLeft' on 'root'.\n */\nexport var radioGroupBehavior = function radioGroupBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'radiogroup'\n      }\n    },\n    keyActions: {\n      root: {\n        nextItem: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowDown\n          }, {\n            keyCode: keyboardKey.ArrowRight\n          }]\n        },\n        prevItem: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowUp\n          }, {\n            keyCode: keyboardKey.ArrowLeft\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=radioGroupBehavior.js.map\n","import _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport _findIndex from \"lodash/findIndex\";\n// TODO:\n// vertical - padding variable?\nimport { radioGroupBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { RadioGroupItem } from './RadioGroupItem';\nimport { useAutoControlled, useTelemetry, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var radioGroupClassName = 'ui-radiogroup';\n\n/**\n * A RadioGroup allows user to select a value from a small set of mutually exclusive options.\n *\n * @accessibility\n * Implements [ARIA Radio Group](https://www.w3.org/TR/wai-aria-practices-1.1/#radiobutton) design pattern.\n * @accessibilityIssues\n * [JAWS narrates instruction message on each radio in radiogroup](https://github.com/FreedomScientific/VFO-standards-support/issues/473)\n */\nexport var RadioGroup = /*#__PURE__*/function () {\n  var RadioGroup = function RadioGroup(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(RadioGroup.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        vertical = props.vertical,\n        items = props.items,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(RadioGroup.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: RadioGroup.displayName,\n      actionHandlers: {\n        nextItem: function nextItem(event) {\n          return setCheckedItem(event, 1);\n        },\n        prevItem: function prevItem(event) {\n          return setCheckedItem(event, -1);\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(RadioGroup.displayName, {\n      className: radioGroupClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          vertical: vertical\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultCheckedValue,\n      value: props.checkedValue,\n      initialValue: undefined\n    }),\n        checkedValue = _useAutoControlled[0],\n        setCheckedValue = _useAutoControlled[1];\n\n    var _React$useState = React.useState(false),\n        shouldFocus = _React$useState[0],\n        setShouldFocus = _React$useState[1];\n\n    var getItemProps = function getItemProps(item) {\n      return item.props || item;\n    };\n\n    var setCheckedItem = function setCheckedItem(event, direction) {\n      var nextItem = findNextEnabledCheckedItem(direction);\n\n      if (nextItem) {\n        checkedValueChange({\n          nextCheckedValue: nextItem.value,\n          shouldFocus: true,\n          event: event,\n          itemProps: nextItem\n        });\n      }\n\n      event.preventDefault();\n    };\n\n    var findNextEnabledCheckedItem = function findNextEnabledCheckedItem(direction) {\n      if (!props.items || !props.items.length) {\n        return undefined;\n      }\n\n      var currentIndex = // if none of the values selected, set current index to the first item\n      checkedValue !== undefined ? _findIndex(props.items, function (item) {\n        return getItemProps(item).value === checkedValue;\n      }) : 0;\n\n      for (var newIndex = currentIndex + direction; newIndex !== currentIndex; newIndex += direction) {\n        if (newIndex < 0) {\n          newIndex = props.items.length - 1;\n        } else if (newIndex >= props.items.length) {\n          newIndex = 0;\n        }\n\n        if (newIndex === currentIndex) {\n          return undefined;\n        }\n\n        var itemProps = getItemProps(props.items[newIndex]);\n\n        if (!itemProps.disabled) {\n          return itemProps;\n        }\n      }\n\n      return undefined;\n    };\n\n    var handleItemOverrides = function handleItemOverrides(predefinedProps) {\n      return {\n        checked: typeof checkedValue !== 'undefined' && checkedValue === predefinedProps.value,\n        onClick: function onClick(event, itemProps) {\n          var value = itemProps.value,\n              disabled = itemProps.disabled;\n\n          if (!disabled && value !== checkedValue) {\n            checkedValueChange({\n              nextCheckedValue: value,\n              shouldFocus: false,\n              event: event,\n              itemProps: itemProps\n            });\n          }\n\n          _invoke(predefinedProps, 'onClick', event, itemProps);\n        },\n        shouldFocus: shouldFocus\n      };\n    };\n\n    var renderItems = function renderItems(vertical) {\n      var isNoneValueSelected = checkedValue === undefined;\n      return _map(items, function (item, index) {\n        return RadioGroupItem.create(item, {\n          defaultProps: function defaultProps() {\n            return getA11yProps('item', Object.assign({\n              vertical: vertical\n            }, index === 0 && isNoneValueSelected && {\n              tabIndex: 0\n            }));\n          },\n          overrideProps: handleItemOverrides\n        });\n      });\n    };\n\n    var checkedValueChange = function checkedValueChange(_ref) {\n      var nextCheckedValue = _ref.nextCheckedValue,\n          shouldFocus = _ref.shouldFocus,\n          event = _ref.event,\n          itemProps = _ref.itemProps;\n      setCheckedValue(nextCheckedValue);\n      setShouldFocus(shouldFocus);\n\n      _invoke(props, 'onCheckedValueChange', event, itemProps);\n    };\n\n    var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }))), childrenExist(children) ? children : renderItems(vertical)));\n    setEnd();\n    return element;\n  };\n\n  RadioGroup.displayName = 'RadioGroup';\n  RadioGroup.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    checkedValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n    defaultCheckedValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n    items: customPropTypes.collectionShorthand,\n    onCheckedValueChange: PropTypes.func,\n    vertical: PropTypes.bool\n  });\n  RadioGroup.defaultProps = {\n    accessibility: radioGroupBehavior\n  };\n  RadioGroup.handledProps = Object.keys(RadioGroup.propTypes);\n  RadioGroup.Item = RadioGroupItem;\n  RadioGroup.create = createShorthandFactory({\n    Component: RadioGroup\n  });\n  return RadioGroup;\n}();\n//# sourceMappingURL=RadioGroup.js.map\n","import * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { useTelemetry, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var headerDescriptionClassName = 'ui-header__description';\n\n/**\n * A HeaderDescription provides more detailed information about the Header.\n */\nexport var HeaderDescription = /*#__PURE__*/function () {\n  var HeaderDescription = function HeaderDescription(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(HeaderDescription.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        content = props.content,\n        color = props.color,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(HeaderDescription.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: HeaderDescription.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(HeaderDescription.displayName, {\n      className: headerDescriptionClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          color: color\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }))), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  };\n\n  HeaderDescription.displayName = 'HeaderDescription';\n  HeaderDescription.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    color: true\n  }));\n  HeaderDescription.defaultProps = {\n    as: 'p'\n  };\n  HeaderDescription.handledProps = Object.keys(HeaderDescription.propTypes);\n  HeaderDescription.create = createShorthandFactory({\n    Component: HeaderDescription,\n    mappedProp: 'content'\n  });\n  return HeaderDescription;\n}();\n//# sourceMappingURL=HeaderDescription.js.map\n","import * as customPropTypes from '@fluentui/react-proptypes';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { HeaderDescription } from './HeaderDescription';\nimport { useTelemetry, useAccessibility, useFluentContext, getElementType, useUnhandledProps, useStyles } from '@fluentui/react-bindings';\nexport var headerClassName = 'ui-header';\n\n/**\n * A Header organises the content by declaring a content's topic.\n *\n * @accessibility\n * Headings communicate the organization of the content on the page. Web browsers, plug-ins, and assistive technologies can use them to provide in-page navigation.\n * Nest headings by their rank (or level). The most important heading has the rank 1 (<h1>), the least important heading rank 6 (<h6>). Headings with an equal or higher rank start a new section, headings with a lower rank start new subsections that are part of the higher ranked section.\n *\n * Other considerations:\n *  - when the description property is used in header, readers will narrate both header content and description within the element. In addition to that, both will be displayed in the list of headings.\n */\nexport var Header = /*#__PURE__*/function () {\n  var Header = function Header(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Header.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        content = props.content,\n        variables = props.variables,\n        align = props.align,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        description = props.description,\n        color = props.color;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Header.handledProps, props);\n    var hasChildren = childrenExist(children);\n    var contentElement = hasChildren ? children : content;\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: Header.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Header.displayName, {\n      className: headerClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          align: align,\n          hasDescription: !!description,\n          color: color\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps, rtlTextContainer.getAttributes({\n      forElements: [children, content],\n      condition: !description\n    }))), rtlTextContainer.createFor({\n      element: contentElement,\n      condition: !!description\n    }), !hasChildren && HeaderDescription.create(description, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('description', {});\n      }\n    }));\n    setEnd();\n    return element;\n  };\n\n  Header.displayName = 'Header';\n  Header.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    color: true\n  }), {\n    description: customPropTypes.itemShorthand,\n    align: customPropTypes.align\n  });\n  Header.defaultProps = {\n    as: 'h1'\n  };\n  Header.handledProps = Object.keys(Header.propTypes);\n  Header.Description = HeaderDescription;\n  Header.create = createShorthandFactory({\n    Component: Header,\n    mappedProp: 'content'\n  });\n  return Header;\n}();\n//# sourceMappingURL=Header.js.map\n","import { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n/**\n * @description\n * @specification\n * Adds role='gridcell'.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n */\n\nexport var gridCellBehavior = function gridCellBehavior() {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {\n        role: 'gridcell'\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root)\n    }\n  };\n};\n//# sourceMappingURL=gridCellBehavior.js.map\n","import { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\nimport { FocusZoneDirection } from '../../focusZone/types';\nimport { getCode, keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { gridCellBehavior } from './gridCellBehavior';\n\n/**\n * @specification\n * Adds role='row'.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n * Adds attribute 'aria-selected=true' based on the property 'selected'. Based on this screen readers will recognize the selected state of the item.\n * Focus can be moved inside a child component with embeded inner FocusZone by pressing a specified key.\n * Provides arrow key navigation in horizontal direction.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n * Triggers 'unsetRowTabbable' action using 'shiftKey' + 'Tab' key on 'root'.\n * Applies 'gridCellBehavior' for 'cell' child component.\n */\nexport var gridRowNestedBehavior = function gridRowNestedBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {}, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root.role = 'row', _root['aria-selected'] = props.selected, _root)\n    },\n    focusZone: {\n      props: {\n        shouldEnterInnerZone: function shouldEnterInnerZone(event) {\n          return getCode(event) === keyboardKey.Enter;\n        },\n        direction: FocusZoneDirection.horizontal\n      }\n    },\n    keyActions: {\n      root: {\n        unsetRowTabbable: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Tab,\n            shiftKey: true\n          }]\n        },\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    },\n    childBehaviors: {\n      cell: gridCellBehavior\n    }\n  };\n};\n//# sourceMappingURL=gridRowNestedBehavior.js.map\n","import _inRange from \"lodash/inRange\";\nimport _first from \"lodash/first\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport _some from \"lodash/some\";\nimport { elementContains } from '@fluentui/dom-utilities';\n/**\n * Determines if a click's coordinates are within the bounds of a node.\n *\n * @see https://github.com/Semantic-Org/Semantic-UI-React/pull/2384\n *\n * @param node - A DOM node.\n * @param e - A SyntheticEvent or DOM Event.\n * @param target - A target document.\n * @param allowVirtualParents - A setting for `elementContains()`.\n */\n\nexport var doesNodeContainClick = function doesNodeContainClick(node, e, // eslint-disable-next-line no-undef\ntarget, allowVirtualParents) {\n  if (target === void 0) {\n    target = document;\n  }\n\n  if (allowVirtualParents === void 0) {\n    allowVirtualParents = true;\n  }\n\n  if (_some([e, node], _isNil)) return false; // if there is an e.target and it is in the document, use a simple node.contains() check\n\n  if (e.target) {\n    _invoke(e.target, 'setAttribute', 'data-suir-click-target', true);\n\n    if (target.querySelector('[data-suir-click-target=true]')) {\n      _invoke(e.target, 'removeAttribute', 'data-suir-click-target');\n\n      return elementContains(node, e.target, allowVirtualParents);\n    }\n  } // Below logic handles cases where the e.target is no longer in the document.\n  // The result of the click likely has removed the e.target node.\n  // Instead of node.contains(), we'll identify the click by X/Y position.\n  // return early if the event properties aren't available\n  // prevent measuring the node and repainting if we don't need to\n\n\n  var clientX = e.clientX,\n      clientY = e.clientY;\n  if (_some([clientX, clientY], _isNil)) return false; // false if the node is not visible\n\n  var clientRects = node.getClientRects(); // Heads Up!\n  // getClientRects returns a DOMRectList, not an array nor a plain object\n  // We explicitly avoid _.isEmpty and check .length to cover all possible shapes\n\n  if (!node.offsetWidth || !node.offsetHeight || !clientRects || !clientRects.length) return false; // false if the node doesn't have a valid bounding rect\n\n  var _first2 = _first(clientRects),\n      top = _first2.top,\n      bottom = _first2.bottom,\n      left = _first2.left,\n      right = _first2.right;\n\n  if (_some([top, bottom, left, right], _isNil)) return false; // we add a small decimal to the upper bound just to make it inclusive\n  // don't add an whole pixel (1) as the event/node values may be decimal sensitive\n\n  return _inRange(clientY, top, bottom + 0.001) && _inRange(clientX, left, right + 0.001);\n};\n//# sourceMappingURL=doesNodeContainClick.js.map\n","/**\n * @description\n * Indicator is usually only visual representation and therefore is hidden from screen readers, unless 'aria-label' property is provided.\n *\n * @specification\n * Adds role='img'.\n * Adds attribute 'aria-hidden=true' to 'root' slot.\n */\nexport var indicatorBehavior = function indicatorBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'img',\n        'aria-hidden': 'true'\n      }\n    }\n  };\n};\n//# sourceMappingURL=indicatorBehavior.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _keys from \"lodash/keys\";\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as PropTypes from 'prop-types';\nimport { getElementType } from '../utils/getElementType';\nimport { getUnhandledProps } from '../utils/getUnhandledProps';\nimport { getNextElement, getFirstTabbable, getLastTabbable, getWindow, getDocument, focusAsync, HIDDEN_FROM_ACC_TREE } from './focusUtilities';\n\n/** FocusTrapZone is used to trap the focus in any html element placed in body\n *  and hide other elements outside of Focus Trap Zone from accessibility tree.\n *  Pressing tab will circle focus within the inner focusable elements of the FocusTrapZone. */\nexport var FocusTrapZone = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(FocusTrapZone, _React$Component);\n\n  function FocusTrapZone() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this._root = {\n      current: null\n    };\n    _this._previouslyFocusedElementOutsideTrapZone = void 0;\n    _this._previouslyFocusedElementInTrapZone = void 0;\n    _this._firstBumper = /*#__PURE__*/React.createRef();\n    _this._lastBumper = /*#__PURE__*/React.createRef();\n    _this._hasFocus = false;\n    _this.windowRef = /*#__PURE__*/React.createRef();\n\n    _this.createRef = function (elem) {\n      _this._root.current = ReactDOM.findDOMNode(elem); // @ts-ignore\n\n      _this.windowRef.current = getWindow(_this._root.current);\n    };\n\n    _this.shouldHandleOutsideClick = function () {\n      return !_this.props.isClickableOutsideFocusTrap || !_this.props.focusTriggerOnOutsideClick;\n    };\n\n    _this._onRootFocus = function (ev) {\n      if (_this.props.onFocus) {\n        _this.props.onFocus(ev);\n      }\n\n      _this._hasFocus = true;\n    };\n\n    _this._onRootBlur = function (ev) {\n      if (_this.props.onBlur) {\n        _this.props.onBlur(ev);\n      }\n\n      var relatedTarget = ev.relatedTarget;\n\n      if (ev.relatedTarget === null) {\n        // In IE11, due to lack of support, event.relatedTarget is always\n        // null making every onBlur call to be \"outside\" of the ComboBox\n        // even when it's not. Using document.activeElement is another way\n        // for us to be able to get what the relatedTarget without relying\n        // on the event\n        var doc = getDocument(_this._root.current); // @ts-ignore\n\n        relatedTarget = doc.activeElement;\n      } // @ts-ignore\n\n\n      if (!_this._root.current.contains(relatedTarget)) {\n        _this._hasFocus = false;\n      }\n    };\n\n    _this._onFirstBumperFocus = function () {\n      _this._onBumperFocus(true);\n    };\n\n    _this._onLastBumperFocus = function () {\n      _this._onBumperFocus(false);\n    };\n\n    _this._onBumperFocus = function (isFirstBumper) {\n      if (!_this._root.current) {\n        return;\n      }\n\n      var currentBumper = isFirstBumper === _this._hasFocus ? _this._lastBumper.current : _this._firstBumper.current;\n      var nextFocusable = isFirstBumper === _this._hasFocus ? getLastTabbable(_this._root.current, currentBumper, true, false) : getFirstTabbable(_this._root.current, currentBumper, true, false);\n\n      if (nextFocusable) {\n        if (_this._isBumper(nextFocusable)) {\n          // This can happen when FTZ contains no tabbable elements. Focus will take care of finding a focusable element in FTZ.\n          _this._findElementAndFocusAsync();\n        } else {\n          nextFocusable.focus();\n        }\n      }\n    };\n\n    _this._enableFocusTrapZone = function () {\n      var _this$props$disabled = _this.props.disabled,\n          disabled = _this$props$disabled === void 0 ? false : _this$props$disabled;\n\n      if (disabled) {\n        return;\n      }\n\n      FocusTrapZone._focusStack.push(_assertThisInitialized(_this));\n\n      _this._bringFocusIntoZone();\n\n      _this._hideContentFromAccessibilityTree();\n    };\n\n    _this._bringFocusIntoZone = function () {\n      var _this$props$disableFi = _this.props.disableFirstFocus,\n          disableFirstFocus = _this$props$disableFi === void 0 ? false : _this$props$disableFi;\n      _this._previouslyFocusedElementOutsideTrapZone = _this._getPreviouslyFocusedElementOutsideTrapZone();\n\n      if ( // @ts-ignore\n      !_this._root.current.contains(_this._previouslyFocusedElementOutsideTrapZone) && !disableFirstFocus) {\n        _this._findElementAndFocusAsync();\n      }\n    };\n\n    _this._releaseFocusTrapZone = function () {\n      var ignoreExternalFocusing = _this.props.ignoreExternalFocusing;\n      FocusTrapZone._focusStack = FocusTrapZone._focusStack.filter(function (value) {\n        return _assertThisInitialized(_this) !== value;\n      }); // try to focus element which triggered FocusTrapZone - prviously focused element outside trap zone\n\n      var doc = getDocument(_this._root.current); // @ts-ignore\n\n      var activeElement = doc.activeElement;\n\n      if (!ignoreExternalFocusing && _this._previouslyFocusedElementOutsideTrapZone && ( // @ts-ignore\n      _this._root.current.contains(activeElement) || activeElement === doc.body)) {\n        _this._focusAsync(_this._previouslyFocusedElementOutsideTrapZone);\n      } // if last active focus trap zone is going to be released - show previously hidden content in accessibility tree\n\n\n      var lastActiveFocusTrap = FocusTrapZone._focusStack.length && FocusTrapZone._focusStack[FocusTrapZone._focusStack.length - 1];\n\n      if (!lastActiveFocusTrap) {\n        _this._showContentInAccessibilityTree();\n      } else if (lastActiveFocusTrap._root.current && lastActiveFocusTrap._root.current.hasAttribute(HIDDEN_FROM_ACC_TREE)) {\n        lastActiveFocusTrap._root.current.removeAttribute(HIDDEN_FROM_ACC_TREE);\n\n        lastActiveFocusTrap._root.current.removeAttribute('aria-hidden');\n      }\n    };\n\n    _this._findElementAndFocusAsync = function () {\n      if (!_this._root.current) {\n        return;\n      }\n\n      var _this$props = _this.props,\n          focusPreviouslyFocusedInnerElement = _this$props.focusPreviouslyFocusedInnerElement,\n          firstFocusableSelector = _this$props.firstFocusableSelector;\n\n      if (focusPreviouslyFocusedInnerElement && _this._previouslyFocusedElementInTrapZone && _this._root.current.contains(_this._previouslyFocusedElementInTrapZone)) {\n        // focus on the last item that had focus in the zone before we left the zone\n        _this._focusAsync(_this._previouslyFocusedElementInTrapZone);\n\n        return;\n      }\n\n      var focusSelector = firstFocusableSelector && (typeof firstFocusableSelector === 'string' ? firstFocusableSelector : firstFocusableSelector());\n      var firstFocusableChild = null;\n\n      if (focusSelector) {\n        firstFocusableChild = _this._root.current.querySelector(focusSelector);\n      } // Fall back to first element if query selector did not match any elements.\n\n\n      if (!firstFocusableChild) {\n        firstFocusableChild = getNextElement(_this._root.current, _this._root.current.firstChild, false, false, false, true);\n      }\n\n      firstFocusableChild && _this._focusAsync(firstFocusableChild);\n    };\n\n    _this._onFocusCapture = function (ev) {\n      _this.props.onFocusCapture && _this.props.onFocusCapture(ev);\n\n      if (ev.target !== ev.currentTarget && !_this._isBumper(ev.target)) {\n        // every time focus changes within the trap zone, remember the focused element so that\n        // it can be restored if focus leaves the pane and returns via keystroke (i.e. via a call to this.focus(true))\n        _this._previouslyFocusedElementInTrapZone = ev.target;\n      }\n    };\n\n    _this._forceFocusInTrap = function (ev, triggeredElement) {\n      if (FocusTrapZone._focusStack.length && _assertThisInitialized(_this) === FocusTrapZone._focusStack[FocusTrapZone._focusStack.length - 1]) {\n        // @ts-ignore\n        if (!_this._root.current.contains(triggeredElement)) {\n          _this._findElementAndFocusAsync();\n\n          ev.preventDefault();\n          ev.stopPropagation();\n        }\n      }\n    };\n\n    _this._handleOutsideFocus = function (ev) {\n      var doc = getDocument(_this._root.current); // @ts-ignore\n\n      var focusedElement = doc.activeElement;\n      focusedElement && _this._forceFocusInTrap(ev, focusedElement);\n    };\n\n    _this._handleOutsideClick = function (ev) {\n      var clickedElement = ev.target;\n      var _this$props2 = _this.props,\n          isClickableOutsideFocusTrap = _this$props2.isClickableOutsideFocusTrap,\n          focusTriggerOnOutsideClick = _this$props2.focusTriggerOnOutsideClick;\n\n      if (!isClickableOutsideFocusTrap) {\n        clickedElement && _this._forceFocusInTrap(ev, clickedElement);\n      } else if (!focusTriggerOnOutsideClick) {\n        var isOutsideFocusTrapZone = _this._root.current && !_this._root.current.contains(clickedElement);\n        var isOutsideTriggerElement = _this._previouslyFocusedElementOutsideTrapZone && !_this._previouslyFocusedElementOutsideTrapZone.contains(clickedElement);\n\n        if (isOutsideFocusTrapZone && isOutsideTriggerElement) {\n          // set it to NULL, so the trigger will not be focused on componentWillUnmount\n          // @ts-ignore\n          _this._previouslyFocusedElementOutsideTrapZone = null;\n        }\n      }\n    };\n\n    _this._onKeyboardHandler = function (ev) {\n      if (_this.props.onKeyDown) {\n        _this.props.onKeyDown(ev);\n      } // do not propogate keyboard events outside focus trap zone\n      // https://github.com/microsoft/fluent-ui-react/pull/1180\n\n\n      ev.stopPropagation();\n    };\n\n    _this._getPreviouslyFocusedElementOutsideTrapZone = function () {\n      var elementToFocusOnDismiss = _this.props.elementToFocusOnDismiss;\n      var previouslyFocusedElement = _this._previouslyFocusedElementOutsideTrapZone;\n\n      if (elementToFocusOnDismiss && previouslyFocusedElement !== elementToFocusOnDismiss) {\n        previouslyFocusedElement = elementToFocusOnDismiss;\n      } else if (!previouslyFocusedElement) {\n        var doc = getDocument(_this._root.current); // @ts-ignore\n\n        previouslyFocusedElement = doc.activeElement;\n      }\n\n      return previouslyFocusedElement;\n    };\n\n    _this._hideContentFromAccessibilityTree = function () {\n      var doc = getDocument(_this._root.current); // @ts-ignore\n\n      var bodyChildren = doc.body && doc.body.children || []; // @ts-ignore\n\n      if (bodyChildren.length && !doc.body.contains(_this._root.current)) {\n        // In case popup render options will change\n\n        /* eslint-disable-next-line no-console */\n        console.warn('Body element does not contain trap zone element. Please, ensure the trap zone element is placed inside body, so it will work properly.');\n      }\n\n      for (var index = 0; index < bodyChildren.length; index++) {\n        var currentChild = bodyChildren[index];\n        var isOrHasFocusTrapZone = currentChild === _this._root.current || currentChild.contains(_this._root.current);\n        var isAriaLiveRegion = currentChild.hasAttribute('aria-live');\n\n        if (!isOrHasFocusTrapZone && !isAriaLiveRegion && currentChild.getAttribute('aria-hidden') !== 'true') {\n          currentChild.setAttribute('aria-hidden', 'true');\n          currentChild.setAttribute(HIDDEN_FROM_ACC_TREE, 'true');\n        }\n      }\n    };\n\n    _this._showContentInAccessibilityTree = function () {\n      var doc = getDocument(_this._root.current); // @ts-ignore\n\n      var hiddenElements = doc.querySelectorAll(\"[\" + HIDDEN_FROM_ACC_TREE + \"=\\\"true\\\"]\");\n\n      for (var index = 0; index < hiddenElements.length; index++) {\n        var element = hiddenElements[index];\n        element.removeAttribute('aria-hidden');\n        element.removeAttribute(HIDDEN_FROM_ACC_TREE);\n      }\n    };\n\n    return _this;\n  }\n\n  var _proto = FocusTrapZone.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this._enableFocusTrapZone();\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var _this$props3 = this.props,\n        forceFocusInsideTrapOnComponentUpdate = _this$props3.forceFocusInsideTrapOnComponentUpdate,\n        forceFocusInsideTrapOnOutsideFocus = _this$props3.forceFocusInsideTrapOnOutsideFocus,\n        disabled = _this$props3.disabled;\n    var doc = getDocument(this._root.current); // @ts-ignore\n\n    var activeElement = doc.activeElement; // if after componentDidUpdate focus is not inside the focus trap, bring it back\n\n    if (!disabled && // @ts-ignore\n    !this._root.current.contains(activeElement) && forceFocusInsideTrapOnComponentUpdate) {\n      this._bringFocusIntoZone();\n\n      return;\n    }\n\n    var prevForceFocusInsideTrap = prevProps.forceFocusInsideTrapOnOutsideFocus !== undefined ? prevProps.forceFocusInsideTrapOnOutsideFocus : true;\n    var newForceFocusInsideTrap = forceFocusInsideTrapOnOutsideFocus !== undefined ? forceFocusInsideTrapOnOutsideFocus : true;\n    var prevDisabled = prevProps.disabled !== undefined ? prevProps.disabled : false;\n    var newDisabled = disabled !== undefined ? disabled : false;\n\n    if (!prevForceFocusInsideTrap && newForceFocusInsideTrap || prevDisabled && !newDisabled) {\n      // Transition from forceFocusInsideTrap / FTZ disabled to enabled.\n      // Emulate what happens when a FocusTrapZone gets mounted.\n      this._enableFocusTrapZone();\n    } else if (prevForceFocusInsideTrap && !newForceFocusInsideTrap || !prevDisabled && newDisabled) {\n      // Transition from forceFocusInsideTrap / FTZ enabled to disabled.\n      // Emulate what happens when a FocusTrapZone gets unmounted.\n      this._releaseFocusTrapZone();\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    // don't handle return focus unless forceFocusInsideTrapOnOutsideFocus is true or focus is still within FocusTrapZone\n    var doc = getDocument(this._root.current);\n\n    if (!this.props.disabled || this.props.forceFocusInsideTrapOnOutsideFocus || // @ts-ignore\n    !this._root.current.contains(doc.activeElement)) {\n      this._releaseFocusTrapZone();\n    } // Dispose of element references so the DOM Nodes can be garbage-collected\n\n\n    delete this._previouslyFocusedElementInTrapZone;\n    delete this._previouslyFocusedElementOutsideTrapZone;\n  };\n\n  _proto.render = function render() {\n    var _this$props4 = this.props,\n        className = _this$props4.className,\n        forceFocusInsideTrapOnOutsideFocus = _this$props4.forceFocusInsideTrapOnOutsideFocus,\n        ariaLabelledBy = _this$props4.ariaLabelledBy,\n        _this$props4$disabled = _this$props4.disabled,\n        disabled = _this$props4$disabled === void 0 ? false : _this$props4$disabled;\n    var unhandledProps = getUnhandledProps(_keys(FocusTrapZone.propTypes), this.props);\n    var ElementType = getElementType(this.props);\n    var bumperProps = {\n      'aria-hidden': true,\n      style: {\n        pointerEvents: 'none',\n        position: 'fixed' // 'fixed' prevents browsers from scrolling to bumpers when viewport does not contain them\n\n      },\n      tabIndex: disabled ? -1 : 0,\n      // make bumpers tabbable only when enabled\n      'data-is-visible': true\n    };\n    return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ElementType, _extends({}, unhandledProps, {\n      className: className,\n      ref: this.createRef,\n      \"aria-labelledby\": ariaLabelledBy,\n      onKeyDown: this._onKeyboardHandler,\n      onFocusCapture: this._onFocusCapture,\n      onFocus: this._onRootFocus,\n      onBlur: this._onRootBlur\n    }), /*#__PURE__*/React.createElement(\"div\", _extends({}, bumperProps, {\n      ref: this._firstBumper,\n      onFocus: this._onFirstBumperFocus\n    })), this.props.children, /*#__PURE__*/React.createElement(\"div\", _extends({}, bumperProps, {\n      ref: this._lastBumper,\n      onFocus: this._onLastBumperFocus\n    }))), forceFocusInsideTrapOnOutsideFocus && /*#__PURE__*/React.createElement(EventListener, {\n      capture: true,\n      listener: this._handleOutsideFocus,\n      targetRef: this.windowRef,\n      type: \"focus\"\n    }), this.shouldHandleOutsideClick() && /*#__PURE__*/React.createElement(EventListener, {\n      capture: true,\n      listener: this._handleOutsideClick,\n      targetRef: this.windowRef,\n      type: \"click\"\n    }));\n  };\n\n  _proto._isBumper = function _isBumper(element) {\n    return element === this._firstBumper.current || element === this._lastBumper.current;\n  };\n\n  _proto._focusAsync = function _focusAsync(element) {\n    if (!this._isBumper(element)) {\n      focusAsync(element);\n    }\n  };\n\n  return FocusTrapZone;\n}(React.Component);\nFocusTrapZone._focusStack = [];\nFocusTrapZone.propTypes = {\n  as: PropTypes.elementType,\n  className: PropTypes.string,\n  elementToFocusOnDismiss: PropTypes.object,\n  ariaLabelledBy: PropTypes.string,\n  isClickableOutsideFocusTrap: PropTypes.bool,\n  ignoreExternalFocusing: PropTypes.bool,\n  forceFocusInsideTrapOnOutsideFocus: PropTypes.bool,\n  forceFocusInsideTrapOnComponentUpdate: PropTypes.bool,\n  firstFocusableSelector: PropTypes.string,\n  disableFirstFocus: PropTypes.bool,\n  focusPreviouslyFocusedInnerElement: PropTypes.bool,\n  focusTriggerOnOutsideClick: PropTypes.bool\n};\nFocusTrapZone.defaultProps = {\n  as: 'div',\n  isClickableOutsideFocusTrap: true,\n  forceFocusInsideTrapOnOutsideFocus: false\n};\n//# sourceMappingURL=FocusTrapZone.js.map\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\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 listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n  this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\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 stackHas(key) {\n  return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n    Map = require('./_Map'),\n    MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n    isMasked = require('./_isMasked'),\n    isObject = require('./isObject'),\n    toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\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 getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Hash = require('./_Hash'),\n    ListCache = require('./_ListCache'),\n    Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n    hashDelete = require('./_hashDelete'),\n    hashGet = require('./_hashGet'),\n    hashHas = require('./_hashHas'),\n    hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\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 hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\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 mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nmodule.exports = mapCacheSet;\n","var assignMergeValue = require('./_assignMergeValue'),\n    cloneBuffer = require('./_cloneBuffer'),\n    cloneTypedArray = require('./_cloneTypedArray'),\n    copyArray = require('./_copyArray'),\n    initCloneObject = require('./_initCloneObject'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isArrayLikeObject = require('./isArrayLikeObject'),\n    isBuffer = require('./isBuffer'),\n    isFunction = require('./isFunction'),\n    isObject = require('./isObject'),\n    isPlainObject = require('./isPlainObject'),\n    isTypedArray = require('./isTypedArray'),\n    safeGet = require('./_safeGet'),\n    toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n  var objValue = safeGet(object, key),\n      srcValue = safeGet(source, key),\n      stacked = stack.get(srcValue);\n\n  if (stacked) {\n    assignMergeValue(object, key, stacked);\n    return;\n  }\n  var newValue = customizer\n    ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n    : undefined;\n\n  var isCommon = newValue === undefined;\n\n  if (isCommon) {\n    var isArr = isArray(srcValue),\n        isBuff = !isArr && isBuffer(srcValue),\n        isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n    newValue = srcValue;\n    if (isArr || isBuff || isTyped) {\n      if (isArray(objValue)) {\n        newValue = objValue;\n      }\n      else if (isArrayLikeObject(objValue)) {\n        newValue = copyArray(objValue);\n      }\n      else if (isBuff) {\n        isCommon = false;\n        newValue = cloneBuffer(srcValue, true);\n      }\n      else if (isTyped) {\n        isCommon = false;\n        newValue = cloneTypedArray(srcValue, true);\n      }\n      else {\n        newValue = [];\n      }\n    }\n    else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n      newValue = objValue;\n      if (isArguments(objValue)) {\n        newValue = toPlainObject(objValue);\n      }\n      else if (!isObject(objValue) || isFunction(objValue)) {\n        newValue = initCloneObject(srcValue);\n      }\n    }\n    else {\n      isCommon = false;\n    }\n  }\n  if (isCommon) {\n    // Recursively merge objects and arrays (susceptible to call stack limits).\n    stack.set(srcValue, newValue);\n    mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n    stack['delete'](srcValue);\n  }\n  assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n    isLength = require('./isLength'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var copyObject = require('./_copyObject'),\n    keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n  return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var isObject = require('./isObject'),\n    isPrototype = require('./_isPrototype'),\n    nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var constant = require('./constant'),\n    defineProperty = require('./_defineProperty'),\n    identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n  return defineProperty(func, 'toString', {\n    'configurable': true,\n    'enumerable': false,\n    'value': constant(string),\n    'writable': true\n  });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n  return function() {\n    return value;\n  };\n}\n\nmodule.exports = constant;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n  var result = memoize(func, function(key) {\n    if (cache.size === MAX_MEMOIZE_SIZE) {\n      cache.clear();\n    }\n    return key;\n  });\n\n  var cache = result.cache;\n  return result;\n}\n\nmodule.exports = memoizeCapped;\n","var baseFor = require('./_baseFor'),\n    keys = require('./keys');\n\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 */\nfunction baseForOwn(object, iteratee) {\n  return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var baseIsMatch = require('./_baseIsMatch'),\n    getMatchData = require('./_getMatchData'),\n    matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n  var matchData = getMatchData(source);\n  if (matchData.length == 1 && matchData[0][2]) {\n    return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n  }\n  return function(object) {\n    return object === source || baseIsMatch(object, source, matchData);\n  };\n}\n\nmodule.exports = baseMatches;\n","var Stack = require('./_Stack'),\n    baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n  var index = matchData.length,\n      length = index,\n      noCustomizer = !customizer;\n\n  if (object == null) {\n    return !length;\n  }\n  object = Object(object);\n  while (index--) {\n    var data = matchData[index];\n    if ((noCustomizer && data[2])\n          ? data[1] !== object[data[0]]\n          : !(data[0] in object)\n        ) {\n      return false;\n    }\n  }\n  while (++index < length) {\n    data = matchData[index];\n    var key = data[0],\n        objValue = object[key],\n        srcValue = data[1];\n\n    if (noCustomizer && data[2]) {\n      if (objValue === undefined && !(key in object)) {\n        return false;\n      }\n    } else {\n      var stack = new Stack;\n      if (customizer) {\n        var result = customizer(objValue, srcValue, key, object, source, stack);\n      }\n      if (!(result === undefined\n            ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n            : result\n          )) {\n        return false;\n      }\n    }\n  }\n  return true;\n}\n\nmodule.exports = baseIsMatch;\n","var Stack = require('./_Stack'),\n    equalArrays = require('./_equalArrays'),\n    equalByTag = require('./_equalByTag'),\n    equalObjects = require('./_equalObjects'),\n    getTag = require('./_getTag'),\n    isArray = require('./isArray'),\n    isBuffer = require('./isBuffer'),\n    isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object 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 `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n  var objIsArr = isArray(object),\n      othIsArr = isArray(other),\n      objTag = objIsArr ? arrayTag : getTag(object),\n      othTag = othIsArr ? arrayTag : getTag(other);\n\n  objTag = objTag == argsTag ? objectTag : objTag;\n  othTag = othTag == argsTag ? objectTag : othTag;\n\n  var objIsObj = objTag == objectTag,\n      othIsObj = othTag == objectTag,\n      isSameTag = objTag == othTag;\n\n  if (isSameTag && isBuffer(object)) {\n    if (!isBuffer(other)) {\n      return false;\n    }\n    objIsArr = true;\n    objIsObj = false;\n  }\n  if (isSameTag && !objIsObj) {\n    stack || (stack = new Stack);\n    return (objIsArr || isTypedArray(object))\n      ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n      : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n  }\n  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n    var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n        othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n    if (objIsWrapped || othIsWrapped) {\n      var objUnwrapped = objIsWrapped ? object.value() : object,\n          othUnwrapped = othIsWrapped ? other.value() : other;\n\n      stack || (stack = new Stack);\n      return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n    }\n  }\n  if (!isSameTag) {\n    return false;\n  }\n  stack || (stack = new Stack);\n  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n  this.__data__.set(value, HASH_UNDEFINED);\n  return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n  return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var Symbol = require('./_Symbol'),\n    Uint8Array = require('./_Uint8Array'),\n    eq = require('./eq'),\n    equalArrays = require('./_equalArrays'),\n    mapToArray = require('./_mapToArray'),\n    setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects 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 `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n  switch (tag) {\n    case dataViewTag:\n      if ((object.byteLength != other.byteLength) ||\n          (object.byteOffset != other.byteOffset)) {\n        return false;\n      }\n      object = object.buffer;\n      other = other.buffer;\n\n    case arrayBufferTag:\n      if ((object.byteLength != other.byteLength) ||\n          !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n        return false;\n      }\n      return true;\n\n    case boolTag:\n    case dateTag:\n    case numberTag:\n      // Coerce booleans to `1` or `0` and dates to milliseconds.\n      // Invalid dates are coerced to `NaN`.\n      return eq(+object, +other);\n\n    case errorTag:\n      return object.name == other.name && object.message == other.message;\n\n    case regexpTag:\n    case stringTag:\n      // Coerce regexes to strings and treat strings, primitives and objects,\n      // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n      // for more details.\n      return object == (other + '');\n\n    case mapTag:\n      var convert = mapToArray;\n\n    case setTag:\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n      convert || (convert = setToArray);\n\n      if (object.size != other.size && !isPartial) {\n        return false;\n      }\n      // Assume cyclic values are equal.\n      var stacked = stack.get(object);\n      if (stacked) {\n        return stacked == other;\n      }\n      bitmask |= COMPARE_UNORDERED_FLAG;\n\n      // Recursively compare objects (susceptible to call stack limits).\n      stack.set(object, other);\n      var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n      stack['delete'](object);\n      return result;\n\n    case symbolTag:\n      if (symbolValueOf) {\n        return symbolValueOf.call(object) == symbolValueOf.call(other);\n      }\n  }\n  return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n  var index = -1,\n      result = Array(map.size);\n\n  map.forEach(function(value, key) {\n    result[++index] = [key, value];\n  });\n  return result;\n}\n\nmodule.exports = mapToArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object 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 `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n      objProps = getAllKeys(object),\n      objLength = objProps.length,\n      othProps = getAllKeys(other),\n      othLength = othProps.length;\n\n  if (objLength != othLength && !isPartial) {\n    return false;\n  }\n  var index = objLength;\n  while (index--) {\n    var key = objProps[index];\n    if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n      return false;\n    }\n  }\n  // Check that cyclic values are equal.\n  var objStacked = stack.get(object);\n  var othStacked = stack.get(other);\n  if (objStacked && othStacked) {\n    return objStacked == other && othStacked == object;\n  }\n  var result = true;\n  stack.set(object, other);\n  stack.set(other, object);\n\n  var skipCtor = isPartial;\n  while (++index < objLength) {\n    key = objProps[index];\n    var objValue = object[key],\n        othValue = other[key];\n\n    if (customizer) {\n      var compared = isPartial\n        ? customizer(othValue, objValue, key, other, object, stack)\n        : customizer(objValue, othValue, key, object, other, stack);\n    }\n    // Recursively compare objects (susceptible to call stack limits).\n    if (!(compared === undefined\n          ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n          : compared\n        )) {\n      result = false;\n      break;\n    }\n    skipCtor || (skipCtor = key == 'constructor');\n  }\n  if (result && !skipCtor) {\n    var objCtor = object.constructor,\n        othCtor = other.constructor;\n\n    // Non `Object` object instances with different constructors are not equal.\n    if (objCtor != othCtor &&\n        ('constructor' in object && 'constructor' in other) &&\n        !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n          typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n      result = false;\n    }\n  }\n  stack['delete'](object);\n  stack['delete'](other);\n  return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var isStrictComparable = require('./_isStrictComparable'),\n    keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n  var result = keys(object),\n      length = result.length;\n\n  while (length--) {\n    var key = result[length],\n        value = object[key];\n\n    result[length] = [key, value, isStrictComparable(value)];\n  }\n  return result;\n}\n\nmodule.exports = getMatchData;\n","var baseIsEqual = require('./_baseIsEqual'),\n    get = require('./get'),\n    hasIn = require('./hasIn'),\n    isKey = require('./_isKey'),\n    isStrictComparable = require('./_isStrictComparable'),\n    matchesStrictComparable = require('./_matchesStrictComparable'),\n    toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n    COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n  if (isKey(path) && isStrictComparable(srcValue)) {\n    return matchesStrictComparable(toKey(path), srcValue);\n  }\n  return function(object) {\n    var objValue = get(object, path);\n    return (objValue === undefined && objValue === srcValue)\n      ? hasIn(object, path)\n      : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n  };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n  return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var baseProperty = require('./_baseProperty'),\n    basePropertyDeep = require('./_basePropertyDeep'),\n    isKey = require('./_isKey'),\n    toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n *   { 'a': { 'b': 2 } },\n *   { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n  return function(object) {\n    return object == null ? undefined : object[key];\n  };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n  return function(object) {\n    return baseGet(object, path);\n  };\n}\n\nmodule.exports = basePropertyDeep;\n","var Symbol = require('./_Symbol'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n  return isArray(value) || isArguments(value) ||\n    !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n  return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n  var index = fromIndex - 1,\n      length = array.length;\n\n  while (++index < length) {\n    if (array[index] === value) {\n      return index;\n    }\n  }\n  return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var Set = require('./_Set'),\n    noop = require('./noop'),\n    setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n  return new Set(values);\n};\n\nmodule.exports = createSet;\n","var apply = require('./_apply'),\n    castPath = require('./_castPath'),\n    last = require('./last'),\n    parent = require('./_parent'),\n    toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\nfunction baseInvoke(object, path, args) {\n  path = castPath(path, object);\n  object = parent(object, path);\n  var func = object == null ? object : object[toKey(last(path))];\n  return func == null ? undefined : apply(func, object, args);\n}\n\nmodule.exports = baseInvoke;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n  function shim(props, propName, componentName, location, propFullName, secret) {\n    if (secret === ReactPropTypesSecret) {\n      // It is still safe when called from React.\n      return;\n    }\n    var err = new Error(\n      'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n      'Use PropTypes.checkPropTypes() to call them. ' +\n      'Read more at http://fb.me/use-check-prop-types'\n    );\n    err.name = 'Invariant Violation';\n    throw err;\n  };\n  shim.isRequired = shim;\n  function getShim() {\n    return shim;\n  };\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n  var ReactPropTypes = {\n    array: shim,\n    bool: shim,\n    func: shim,\n    number: shim,\n    object: shim,\n    string: shim,\n    symbol: shim,\n\n    any: shim,\n    arrayOf: getShim,\n    element: shim,\n    elementType: shim,\n    instanceOf: getShim,\n    node: shim,\n    objectOf: getShim,\n    oneOf: getShim,\n    oneOfType: getShim,\n    shape: getShim,\n    exact: getShim,\n\n    checkPropTypes: emptyFunctionWithReset,\n    resetWarningCache: emptyFunction\n  };\n\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n  var result = [];\n  baseEach(collection, function(value, index, collection) {\n    if (predicate(value, index, collection)) {\n      result.push(value);\n    }\n  });\n  return result;\n}\n\nmodule.exports = baseFilter;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n  var length = array.length;\n  end = end === undefined ? length : end;\n  return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n  var index = strSymbols.length;\n\n  while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n  return index;\n}\n\nmodule.exports = charsEndIndex;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n  var index = -1,\n      length = strSymbols.length;\n\n  while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n  return index;\n}\n\nmodule.exports = charsStartIndex;\n","var asciiToArray = require('./_asciiToArray'),\n    hasUnicode = require('./_hasUnicode'),\n    unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n  return hasUnicode(string)\n    ? unicodeToArray(string)\n    : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n  return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** 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\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\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/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange  + rsComboRange + rsVarRange + ']');\n\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 */\nfunction hasUnicode(string) {\n  return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/** 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\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n    rsCombo = '[' + rsComboRange + ']',\n    rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n    rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n    rsNonAstral = '[^' + rsAstralRange + ']',\n    rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n    rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n    rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n    rsOptVar = '[' + rsVarRange + ']?',\n    rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n    rsSeq = rsOptVar + reOptMod + rsOptJoin,\n    rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n  return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var basePickBy = require('./_basePickBy'),\n    hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n  return basePickBy(object, paths, function(value, path) {\n    return hasIn(object, path);\n  });\n}\n\nmodule.exports = basePick;\n","var baseGet = require('./_baseGet'),\n    baseSet = require('./_baseSet'),\n    castPath = require('./_castPath');\n\n/**\n * The base implementation of  `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n  var index = -1,\n      length = paths.length,\n      result = {};\n\n  while (++index < length) {\n    var path = paths[index],\n        value = baseGet(object, path);\n\n    if (predicate(value, path)) {\n      baseSet(result, castPath(path, object), value);\n    }\n  }\n  return result;\n}\n\nmodule.exports = basePickBy;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n  var length = array == null ? 0 : array.length;\n  return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n  return (array && array.length) ? array[0] : undefined;\n}\n\nmodule.exports = head;\n","var isSymbol = require('./isSymbol');\n\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 */\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\n          ? (current === current && !isSymbol(current))\n          : comparator(current, computed)\n        )) {\n      var computed = current,\n          result = value;\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\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;\n","/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n  var result,\n      index = -1,\n      length = array.length;\n\n  while (++index < length) {\n    var current = iteratee(array[index]);\n    if (current !== undefined) {\n      result = result === undefined ? current : (result + current);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseSum;\n","var arrayMap = require('./_arrayMap'),\n    baseGet = require('./_baseGet'),\n    baseIteratee = require('./_baseIteratee'),\n    baseMap = require('./_baseMap'),\n    baseSortBy = require('./_baseSortBy'),\n    baseUnary = require('./_baseUnary'),\n    compareMultiple = require('./_compareMultiple'),\n    identity = require('./identity'),\n    isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n  if (iteratees.length) {\n    iteratees = arrayMap(iteratees, function(iteratee) {\n      if (isArray(iteratee)) {\n        return function(value) {\n          return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n        }\n      }\n      return iteratee;\n    });\n  } else {\n    iteratees = [identity];\n  }\n\n  var index = -1;\n  iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n  var result = baseMap(collection, function(value, key, collection) {\n    var criteria = arrayMap(iteratees, function(iteratee) {\n      return iteratee(value);\n    });\n    return { 'criteria': criteria, 'index': ++index, 'value': value };\n  });\n\n  return baseSortBy(result, function(object, other) {\n    return compareMultiple(object, other, orders);\n  });\n}\n\nmodule.exports = baseOrderBy;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n  var length = array.length;\n\n  array.sort(comparer);\n  while (length--) {\n    array[length] = array[length].value;\n  }\n  return array;\n}\n\nmodule.exports = baseSortBy;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n  var index = -1,\n      objCriteria = object.criteria,\n      othCriteria = other.criteria,\n      length = objCriteria.length,\n      ordersLength = orders.length;\n\n  while (++index < length) {\n    var result = compareAscending(objCriteria[index], othCriteria[index]);\n    if (result) {\n      if (index >= ordersLength) {\n        return result;\n      }\n      var order = orders[index];\n      return result * (order == 'desc' ? -1 : 1);\n    }\n  }\n  // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n  // that causes it, under certain circumstances, to provide the same value for\n  // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n  // for more details.\n  //\n  // This also ensures a stable sort in V8 and other engines.\n  // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n  return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n  if (value !== other) {\n    var valIsDefined = value !== undefined,\n        valIsNull = value === null,\n        valIsReflexive = value === value,\n        valIsSymbol = isSymbol(value);\n\n    var othIsDefined = other !== undefined,\n        othIsNull = other === null,\n        othIsReflexive = other === other,\n        othIsSymbol = isSymbol(other);\n\n    if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n        (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n        (valIsNull && othIsDefined && othIsReflexive) ||\n        (!valIsDefined && othIsReflexive) ||\n        !valIsReflexive) {\n      return 1;\n    }\n    if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n        (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n        (othIsNull && valIsDefined && valIsReflexive) ||\n        (!othIsDefined && valIsReflexive) ||\n        !othIsReflexive) {\n      return -1;\n    }\n  }\n  return 0;\n}\n\nmodule.exports = compareAscending;\n","/** @license React v16.13.1\n * react-is.production.min.js\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'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v0.20.2\n * scheduler.production.min.js\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'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):D=0<a?Math.floor(1E3/a):5};var F=new MessageChannel,G=F.port2;F.port1.onmessage=function(){if(null!==B){var a=exports.unstable_now();E=a+D;try{B(!0,a)?G.postMessage(null):(A=!1,B=null)}catch(b){throw G.postMessage(null),b;}}else A=!1};f=function(a){B=a;A||(A=!0,G.postMessage(null))};g=function(a,b){C=\nx(function(){a(exports.unstable_now())},b)};h=function(){y(C);C=-1}}function H(a,b){var c=a.length;a.push(b);a:for(;;){var d=c-1>>>1,e=a[d];if(void 0!==e&&0<I(e,b))a[d]=b,a[c]=e,c=d;else break a}}function J(a){a=a[0];return void 0===a?null:a}\nfunction K(a){var b=a[0];if(void 0!==b){var c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length;d<e;){var m=2*(d+1)-1,n=a[m],v=m+1,r=a[v];if(void 0!==n&&0>I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:N++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","var arrayMap = require('./_arrayMap');\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n  return arrayMap(props, function(key) {\n    return object[key];\n  });\n}\n\nmodule.exports = baseValues;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\nfunction baseInRange(number, start, end) {\n  return number >= nativeMin(start, end) && number < nativeMax(start, end);\n}\n\nmodule.exports = baseInRange;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection 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 baseSome(collection, predicate) {\n  var result;\n\n  baseEach(collection, function(value, index, collection) {\n    result = predicate(value, index, collection);\n    return !result;\n  });\n  return !!result;\n}\n\nmodule.exports = baseSome;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n  return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseGetTag = require('./_baseGetTag'),\n    isArray = require('./isArray'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\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 */\nfunction isString(value) {\n  return typeof value == 'string' ||\n    (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n  return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n  if (cache.hasOwnProperty(name)) {\n    return cache[name]\n  }\n\n  var hName = name.replace(uppercasePattern, toHyphenLower)\n  return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","var copyObject = require('./_copyObject'),\n    keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n  return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n    getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n  return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n    getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n  return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n  var length = array.length,\n      result = new array.constructor(length);\n\n  // Add properties assigned by `RegExp#exec`.\n  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n    result.index = array.index;\n    result.input = array.input;\n  }\n  return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n    cloneDataView = require('./_cloneDataView'),\n    cloneRegExp = require('./_cloneRegExp'),\n    cloneSymbol = require('./_cloneSymbol'),\n    cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n  var Ctor = object.constructor;\n  switch (tag) {\n    case arrayBufferTag:\n      return cloneArrayBuffer(object);\n\n    case boolTag:\n    case dateTag:\n      return new Ctor(+object);\n\n    case dataViewTag:\n      return cloneDataView(object, isDeep);\n\n    case float32Tag: case float64Tag:\n    case int8Tag: case int16Tag: case int32Tag:\n    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n      return cloneTypedArray(object, isDeep);\n\n    case mapTag:\n      return new Ctor;\n\n    case numberTag:\n    case stringTag:\n      return new Ctor(object);\n\n    case regexpTag:\n      return cloneRegExp(object);\n\n    case setTag:\n      return new Ctor;\n\n    case symbolTag:\n      return cloneSymbol(object);\n  }\n}\n\nmodule.exports = initCloneByTag;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n  result.lastIndex = regexp.lastIndex;\n  return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var baseIsMap = require('./_baseIsMap'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\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 map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n  return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsSet = require('./_baseIsSet'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\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 set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var getTag = require('./_getTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n  return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var castPath = require('./_castPath'),\n    last = require('./last'),\n    parent = require('./_parent'),\n    toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n  path = castPath(path, object);\n  object = parent(object, path);\n  return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n  return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _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; };\n\nvar _createClass = function () { 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _perfectScrollbar = require('perfect-scrollbar');\n\nvar _perfectScrollbar2 = _interopRequireDefault(_perfectScrollbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar handlerNameByEvent = {\n  'ps-scroll-y': 'onScrollY',\n  'ps-scroll-x': 'onScrollX',\n  'ps-scroll-up': 'onScrollUp',\n  'ps-scroll-down': 'onScrollDown',\n  'ps-scroll-left': 'onScrollLeft',\n  'ps-scroll-right': 'onScrollRight',\n  'ps-y-reach-start': 'onYReachStart',\n  'ps-y-reach-end': 'onYReachEnd',\n  'ps-x-reach-start': 'onXReachStart',\n  'ps-x-reach-end': 'onXReachEnd'\n};\nObject.freeze(handlerNameByEvent);\n\nvar ScrollBar = function (_Component) {\n  _inherits(ScrollBar, _Component);\n\n  function ScrollBar(props) {\n    _classCallCheck(this, ScrollBar);\n\n    var _this = _possibleConstructorReturn(this, (ScrollBar.__proto__ || Object.getPrototypeOf(ScrollBar)).call(this, props));\n\n    _this.handleRef = _this.handleRef.bind(_this);\n    _this._handlerByEvent = {};\n    return _this;\n  }\n\n  _createClass(ScrollBar, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      if (this.props.option) {\n        console.warn('react-perfect-scrollbar: the \"option\" prop has been deprecated in favor of \"options\"');\n      }\n\n      this._ps = new _perfectScrollbar2.default(this._container, this.props.options || this.props.option);\n      // hook up events\n      this._updateEventHook();\n      this._updateClassName();\n    }\n  }, {\n    key: 'componentDidUpdate',\n    value: function componentDidUpdate(prevProps) {\n      this._updateEventHook(prevProps);\n\n      this.updateScroll();\n\n      if (prevProps.className !== this.props.className) {\n        this._updateClassName();\n      }\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      var _this2 = this;\n\n      // unhook up evens\n      Object.keys(this._handlerByEvent).forEach(function (key) {\n        var value = _this2._handlerByEvent[key];\n\n        if (value) {\n          _this2._container.removeEventListener(key, value, false);\n        }\n      });\n      this._handlerByEvent = {};\n      this._ps.destroy();\n      this._ps = null;\n    }\n  }, {\n    key: '_updateEventHook',\n    value: function _updateEventHook() {\n      var _this3 = this;\n\n      var prevProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      // hook up events\n      Object.keys(handlerNameByEvent).forEach(function (key) {\n        var callback = _this3.props[handlerNameByEvent[key]];\n        var prevCallback = prevProps[handlerNameByEvent[key]];\n        if (callback !== prevCallback) {\n          if (prevCallback) {\n            var prevHandler = _this3._handlerByEvent[key];\n            _this3._container.removeEventListener(key, prevHandler, false);\n            _this3._handlerByEvent[key] = null;\n          }\n          if (callback) {\n            var handler = function handler() {\n              return callback(_this3._container);\n            };\n            _this3._container.addEventListener(key, handler, false);\n            _this3._handlerByEvent[key] = handler;\n          }\n        }\n      });\n    }\n  }, {\n    key: '_updateClassName',\n    value: function _updateClassName() {\n      var className = this.props.className;\n\n\n      var psClassNames = this._container.className.split(' ').filter(function (name) {\n        return name.match(/^ps([-_].+|)$/);\n      }).join(' ');\n\n      if (this._container) {\n        this._container.className = 'scrollbar-container' + (className ? ' ' + className : '') + (psClassNames ? ' ' + psClassNames : '');\n      }\n    }\n  }, {\n    key: 'updateScroll',\n    value: function updateScroll() {\n      this.props.onSync(this._ps);\n    }\n  }, {\n    key: 'handleRef',\n    value: function handleRef(ref) {\n      this._container = ref;\n      this.props.containerRef(ref);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          className = _props.className,\n          style = _props.style,\n          option = _props.option,\n          options = _props.options,\n          containerRef = _props.containerRef,\n          onScrollY = _props.onScrollY,\n          onScrollX = _props.onScrollX,\n          onScrollUp = _props.onScrollUp,\n          onScrollDown = _props.onScrollDown,\n          onScrollLeft = _props.onScrollLeft,\n          onScrollRight = _props.onScrollRight,\n          onYReachStart = _props.onYReachStart,\n          onYReachEnd = _props.onYReachEnd,\n          onXReachStart = _props.onXReachStart,\n          onXReachEnd = _props.onXReachEnd,\n          component = _props.component,\n          onSync = _props.onSync,\n          children = _props.children,\n          remainProps = _objectWithoutProperties(_props, ['className', 'style', 'option', 'options', 'containerRef', 'onScrollY', 'onScrollX', 'onScrollUp', 'onScrollDown', 'onScrollLeft', 'onScrollRight', 'onYReachStart', 'onYReachEnd', 'onXReachStart', 'onXReachEnd', 'component', 'onSync', 'children']);\n\n      var Comp = component;\n\n      return _react2.default.createElement(\n        Comp,\n        _extends({ style: style, ref: this.handleRef }, remainProps),\n        children\n      );\n    }\n  }]);\n\n  return ScrollBar;\n}(_react.Component);\n\nexports.default = ScrollBar;\n\n\nScrollBar.defaultProps = {\n  className: '',\n  style: undefined,\n  option: undefined,\n  options: undefined,\n  containerRef: function containerRef() {},\n  onScrollY: undefined,\n  onScrollX: undefined,\n  onScrollUp: undefined,\n  onScrollDown: undefined,\n  onScrollLeft: undefined,\n  onScrollRight: undefined,\n  onYReachStart: undefined,\n  onYReachEnd: undefined,\n  onXReachStart: undefined,\n  onXReachEnd: undefined,\n  onSync: function onSync(ps) {\n    return ps.update();\n  },\n  component: 'div'\n};\n\nScrollBar.propTypes = {\n  children: _propTypes.PropTypes.node.isRequired,\n  className: _propTypes.PropTypes.string,\n  style: _propTypes.PropTypes.object,\n  option: _propTypes.PropTypes.object,\n  options: _propTypes.PropTypes.object,\n  containerRef: _propTypes.PropTypes.func,\n  onScrollY: _propTypes.PropTypes.func,\n  onScrollX: _propTypes.PropTypes.func,\n  onScrollUp: _propTypes.PropTypes.func,\n  onScrollDown: _propTypes.PropTypes.func,\n  onScrollLeft: _propTypes.PropTypes.func,\n  onScrollRight: _propTypes.PropTypes.func,\n  onYReachStart: _propTypes.PropTypes.func,\n  onYReachEnd: _propTypes.PropTypes.func,\n  onXReachStart: _propTypes.PropTypes.func,\n  onXReachEnd: _propTypes.PropTypes.func,\n  onSync: _propTypes.PropTypes.func,\n  component: _propTypes.PropTypes.string\n};\nmodule.exports = exports['default'];","/*!\n * perfect-scrollbar v1.5.3\n * Copyright 2021 Hyunje Jun, MDBootstrap and Contributors\n * Licensed under MIT\n */\n\nfunction get(element) {\n  return getComputedStyle(element);\n}\n\nfunction set(element, obj) {\n  for (var key in obj) {\n    var val = obj[key];\n    if (typeof val === 'number') {\n      val = val + \"px\";\n    }\n    element.style[key] = val;\n  }\n  return element;\n}\n\nfunction div(className) {\n  var div = document.createElement('div');\n  div.className = className;\n  return div;\n}\n\nvar elMatches =\n  typeof Element !== 'undefined' &&\n  (Element.prototype.matches ||\n    Element.prototype.webkitMatchesSelector ||\n    Element.prototype.mozMatchesSelector ||\n    Element.prototype.msMatchesSelector);\n\nfunction matches(element, query) {\n  if (!elMatches) {\n    throw new Error('No element matching method supported');\n  }\n\n  return elMatches.call(element, query);\n}\n\nfunction remove(element) {\n  if (element.remove) {\n    element.remove();\n  } else {\n    if (element.parentNode) {\n      element.parentNode.removeChild(element);\n    }\n  }\n}\n\nfunction queryChildren(element, selector) {\n  return Array.prototype.filter.call(element.children, function (child) { return matches(child, selector); }\n  );\n}\n\nvar cls = {\n  main: 'ps',\n  rtl: 'ps__rtl',\n  element: {\n    thumb: function (x) { return (\"ps__thumb-\" + x); },\n    rail: function (x) { return (\"ps__rail-\" + x); },\n    consuming: 'ps__child--consume',\n  },\n  state: {\n    focus: 'ps--focus',\n    clicking: 'ps--clicking',\n    active: function (x) { return (\"ps--active-\" + x); },\n    scrolling: function (x) { return (\"ps--scrolling-\" + x); },\n  },\n};\n\n/*\n * Helper methods\n */\nvar scrollingClassTimeout = { x: null, y: null };\n\nfunction addScrollingClass(i, x) {\n  var classList = i.element.classList;\n  var className = cls.state.scrolling(x);\n\n  if (classList.contains(className)) {\n    clearTimeout(scrollingClassTimeout[x]);\n  } else {\n    classList.add(className);\n  }\n}\n\nfunction removeScrollingClass(i, x) {\n  scrollingClassTimeout[x] = setTimeout(\n    function () { return i.isAlive && i.element.classList.remove(cls.state.scrolling(x)); },\n    i.settings.scrollingThreshold\n  );\n}\n\nfunction setScrollingClassInstantly(i, x) {\n  addScrollingClass(i, x);\n  removeScrollingClass(i, x);\n}\n\nvar EventElement = function EventElement(element) {\n  this.element = element;\n  this.handlers = {};\n};\n\nvar prototypeAccessors = { isEmpty: { configurable: true } };\n\nEventElement.prototype.bind = function bind (eventName, handler) {\n  if (typeof this.handlers[eventName] === 'undefined') {\n    this.handlers[eventName] = [];\n  }\n  this.handlers[eventName].push(handler);\n  this.element.addEventListener(eventName, handler, false);\n};\n\nEventElement.prototype.unbind = function unbind (eventName, target) {\n    var this$1 = this;\n\n  this.handlers[eventName] = this.handlers[eventName].filter(function (handler) {\n    if (target && handler !== target) {\n      return true;\n    }\n    this$1.element.removeEventListener(eventName, handler, false);\n    return false;\n  });\n};\n\nEventElement.prototype.unbindAll = function unbindAll () {\n  for (var name in this.handlers) {\n    this.unbind(name);\n  }\n};\n\nprototypeAccessors.isEmpty.get = function () {\n    var this$1 = this;\n\n  return Object.keys(this.handlers).every(\n    function (key) { return this$1.handlers[key].length === 0; }\n  );\n};\n\nObject.defineProperties( EventElement.prototype, prototypeAccessors );\n\nvar EventManager = function EventManager() {\n  this.eventElements = [];\n};\n\nEventManager.prototype.eventElement = function eventElement (element) {\n  var ee = this.eventElements.filter(function (ee) { return ee.element === element; })[0];\n  if (!ee) {\n    ee = new EventElement(element);\n    this.eventElements.push(ee);\n  }\n  return ee;\n};\n\nEventManager.prototype.bind = function bind (element, eventName, handler) {\n  this.eventElement(element).bind(eventName, handler);\n};\n\nEventManager.prototype.unbind = function unbind (element, eventName, handler) {\n  var ee = this.eventElement(element);\n  ee.unbind(eventName, handler);\n\n  if (ee.isEmpty) {\n    // remove\n    this.eventElements.splice(this.eventElements.indexOf(ee), 1);\n  }\n};\n\nEventManager.prototype.unbindAll = function unbindAll () {\n  this.eventElements.forEach(function (e) { return e.unbindAll(); });\n  this.eventElements = [];\n};\n\nEventManager.prototype.once = function once (element, eventName, handler) {\n  var ee = this.eventElement(element);\n  var onceHandler = function (evt) {\n    ee.unbind(eventName, onceHandler);\n    handler(evt);\n  };\n  ee.bind(eventName, onceHandler);\n};\n\nfunction createEvent(name) {\n  if (typeof window.CustomEvent === 'function') {\n    return new CustomEvent(name);\n  } else {\n    var evt = document.createEvent('CustomEvent');\n    evt.initCustomEvent(name, false, false, undefined);\n    return evt;\n  }\n}\n\nfunction processScrollDiff(\n  i,\n  axis,\n  diff,\n  useScrollingClass,\n  forceFireReachEvent\n) {\n  if ( useScrollingClass === void 0 ) useScrollingClass = true;\n  if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n  var fields;\n  if (axis === 'top') {\n    fields = [\n      'contentHeight',\n      'containerHeight',\n      'scrollTop',\n      'y',\n      'up',\n      'down' ];\n  } else if (axis === 'left') {\n    fields = [\n      'contentWidth',\n      'containerWidth',\n      'scrollLeft',\n      'x',\n      'left',\n      'right' ];\n  } else {\n    throw new Error('A proper axis should be provided');\n  }\n\n  processScrollDiff$1(i, diff, fields, useScrollingClass, forceFireReachEvent);\n}\n\nfunction processScrollDiff$1(\n  i,\n  diff,\n  ref,\n  useScrollingClass,\n  forceFireReachEvent\n) {\n  var contentHeight = ref[0];\n  var containerHeight = ref[1];\n  var scrollTop = ref[2];\n  var y = ref[3];\n  var up = ref[4];\n  var down = ref[5];\n  if ( useScrollingClass === void 0 ) useScrollingClass = true;\n  if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n  var element = i.element;\n\n  // reset reach\n  i.reach[y] = null;\n\n  // 1 for subpixel rounding\n  if (element[scrollTop] < 1) {\n    i.reach[y] = 'start';\n  }\n\n  // 1 for subpixel rounding\n  if (element[scrollTop] > i[contentHeight] - i[containerHeight] - 1) {\n    i.reach[y] = 'end';\n  }\n\n  if (diff) {\n    element.dispatchEvent(createEvent((\"ps-scroll-\" + y)));\n\n    if (diff < 0) {\n      element.dispatchEvent(createEvent((\"ps-scroll-\" + up)));\n    } else if (diff > 0) {\n      element.dispatchEvent(createEvent((\"ps-scroll-\" + down)));\n    }\n\n    if (useScrollingClass) {\n      setScrollingClassInstantly(i, y);\n    }\n  }\n\n  if (i.reach[y] && (diff || forceFireReachEvent)) {\n    element.dispatchEvent(createEvent((\"ps-\" + y + \"-reach-\" + (i.reach[y]))));\n  }\n}\n\nfunction toInt(x) {\n  return parseInt(x, 10) || 0;\n}\n\nfunction isEditable(el) {\n  return (\n    matches(el, 'input,[contenteditable]') ||\n    matches(el, 'select,[contenteditable]') ||\n    matches(el, 'textarea,[contenteditable]') ||\n    matches(el, 'button,[contenteditable]')\n  );\n}\n\nfunction outerWidth(element) {\n  var styles = get(element);\n  return (\n    toInt(styles.width) +\n    toInt(styles.paddingLeft) +\n    toInt(styles.paddingRight) +\n    toInt(styles.borderLeftWidth) +\n    toInt(styles.borderRightWidth)\n  );\n}\n\nvar env = {\n  isWebKit:\n    typeof document !== 'undefined' &&\n    'WebkitAppearance' in document.documentElement.style,\n  supportsTouch:\n    typeof window !== 'undefined' &&\n    ('ontouchstart' in window ||\n      ('maxTouchPoints' in window.navigator &&\n        window.navigator.maxTouchPoints > 0) ||\n      (window.DocumentTouch && document instanceof window.DocumentTouch)),\n  supportsIePointer:\n    typeof navigator !== 'undefined' && navigator.msMaxTouchPoints,\n  isChrome:\n    typeof navigator !== 'undefined' &&\n    /Chrome/i.test(navigator && navigator.userAgent),\n};\n\nfunction updateGeometry(i) {\n  var element = i.element;\n  var roundedScrollTop = Math.floor(element.scrollTop);\n  var rect = element.getBoundingClientRect();\n\n  i.containerWidth = Math.round(rect.width);\n  i.containerHeight = Math.round(rect.height);\n\n  i.contentWidth = element.scrollWidth;\n  i.contentHeight = element.scrollHeight;\n\n  if (!element.contains(i.scrollbarXRail)) {\n    // clean up and append\n    queryChildren(element, cls.element.rail('x')).forEach(function (el) { return remove(el); }\n    );\n    element.appendChild(i.scrollbarXRail);\n  }\n  if (!element.contains(i.scrollbarYRail)) {\n    // clean up and append\n    queryChildren(element, cls.element.rail('y')).forEach(function (el) { return remove(el); }\n    );\n    element.appendChild(i.scrollbarYRail);\n  }\n\n  if (\n    !i.settings.suppressScrollX &&\n    i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth\n  ) {\n    i.scrollbarXActive = true;\n    i.railXWidth = i.containerWidth - i.railXMarginWidth;\n    i.railXRatio = i.containerWidth / i.railXWidth;\n    i.scrollbarXWidth = getThumbSize(\n      i,\n      toInt((i.railXWidth * i.containerWidth) / i.contentWidth)\n    );\n    i.scrollbarXLeft = toInt(\n      ((i.negativeScrollAdjustment + element.scrollLeft) *\n        (i.railXWidth - i.scrollbarXWidth)) /\n        (i.contentWidth - i.containerWidth)\n    );\n  } else {\n    i.scrollbarXActive = false;\n  }\n\n  if (\n    !i.settings.suppressScrollY &&\n    i.containerHeight + i.settings.scrollYMarginOffset < i.contentHeight\n  ) {\n    i.scrollbarYActive = true;\n    i.railYHeight = i.containerHeight - i.railYMarginHeight;\n    i.railYRatio = i.containerHeight / i.railYHeight;\n    i.scrollbarYHeight = getThumbSize(\n      i,\n      toInt((i.railYHeight * i.containerHeight) / i.contentHeight)\n    );\n    i.scrollbarYTop = toInt(\n      (roundedScrollTop * (i.railYHeight - i.scrollbarYHeight)) /\n        (i.contentHeight - i.containerHeight)\n    );\n  } else {\n    i.scrollbarYActive = false;\n  }\n\n  if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) {\n    i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth;\n  }\n  if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) {\n    i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight;\n  }\n\n  updateCss(element, i);\n\n  if (i.scrollbarXActive) {\n    element.classList.add(cls.state.active('x'));\n  } else {\n    element.classList.remove(cls.state.active('x'));\n    i.scrollbarXWidth = 0;\n    i.scrollbarXLeft = 0;\n    element.scrollLeft = i.isRtl === true ? i.contentWidth : 0;\n  }\n  if (i.scrollbarYActive) {\n    element.classList.add(cls.state.active('y'));\n  } else {\n    element.classList.remove(cls.state.active('y'));\n    i.scrollbarYHeight = 0;\n    i.scrollbarYTop = 0;\n    element.scrollTop = 0;\n  }\n}\n\nfunction getThumbSize(i, thumbSize) {\n  if (i.settings.minScrollbarLength) {\n    thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength);\n  }\n  if (i.settings.maxScrollbarLength) {\n    thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength);\n  }\n  return thumbSize;\n}\n\nfunction updateCss(element, i) {\n  var xRailOffset = { width: i.railXWidth };\n  var roundedScrollTop = Math.floor(element.scrollTop);\n\n  if (i.isRtl) {\n    xRailOffset.left =\n      i.negativeScrollAdjustment +\n      element.scrollLeft +\n      i.containerWidth -\n      i.contentWidth;\n  } else {\n    xRailOffset.left = element.scrollLeft;\n  }\n  if (i.isScrollbarXUsingBottom) {\n    xRailOffset.bottom = i.scrollbarXBottom - roundedScrollTop;\n  } else {\n    xRailOffset.top = i.scrollbarXTop + roundedScrollTop;\n  }\n  set(i.scrollbarXRail, xRailOffset);\n\n  var yRailOffset = { top: roundedScrollTop, height: i.railYHeight };\n  if (i.isScrollbarYUsingRight) {\n    if (i.isRtl) {\n      yRailOffset.right =\n        i.contentWidth -\n        (i.negativeScrollAdjustment + element.scrollLeft) -\n        i.scrollbarYRight -\n        i.scrollbarYOuterWidth -\n        9;\n    } else {\n      yRailOffset.right = i.scrollbarYRight - element.scrollLeft;\n    }\n  } else {\n    if (i.isRtl) {\n      yRailOffset.left =\n        i.negativeScrollAdjustment +\n        element.scrollLeft +\n        i.containerWidth * 2 -\n        i.contentWidth -\n        i.scrollbarYLeft -\n        i.scrollbarYOuterWidth;\n    } else {\n      yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;\n    }\n  }\n  set(i.scrollbarYRail, yRailOffset);\n\n  set(i.scrollbarX, {\n    left: i.scrollbarXLeft,\n    width: i.scrollbarXWidth - i.railBorderXWidth,\n  });\n  set(i.scrollbarY, {\n    top: i.scrollbarYTop,\n    height: i.scrollbarYHeight - i.railBorderYWidth,\n  });\n}\n\nfunction clickRail(i) {\n  var element = i.element;\n\n  i.event.bind(i.scrollbarY, 'mousedown', function (e) { return e.stopPropagation(); });\n  i.event.bind(i.scrollbarYRail, 'mousedown', function (e) {\n    var positionTop =\n      e.pageY -\n      window.pageYOffset -\n      i.scrollbarYRail.getBoundingClientRect().top;\n    var direction = positionTop > i.scrollbarYTop ? 1 : -1;\n\n    i.element.scrollTop += direction * i.containerHeight;\n    updateGeometry(i);\n\n    e.stopPropagation();\n  });\n\n  i.event.bind(i.scrollbarX, 'mousedown', function (e) { return e.stopPropagation(); });\n  i.event.bind(i.scrollbarXRail, 'mousedown', function (e) {\n    var positionLeft =\n      e.pageX -\n      window.pageXOffset -\n      i.scrollbarXRail.getBoundingClientRect().left;\n    var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;\n\n    i.element.scrollLeft += direction * i.containerWidth;\n    updateGeometry(i);\n\n    e.stopPropagation();\n  });\n}\n\nfunction dragThumb(i) {\n  bindMouseScrollHandler(i, [\n    'containerWidth',\n    'contentWidth',\n    'pageX',\n    'railXWidth',\n    'scrollbarX',\n    'scrollbarXWidth',\n    'scrollLeft',\n    'x',\n    'scrollbarXRail' ]);\n  bindMouseScrollHandler(i, [\n    'containerHeight',\n    'contentHeight',\n    'pageY',\n    'railYHeight',\n    'scrollbarY',\n    'scrollbarYHeight',\n    'scrollTop',\n    'y',\n    'scrollbarYRail' ]);\n}\n\nfunction bindMouseScrollHandler(\n  i,\n  ref\n) {\n  var containerHeight = ref[0];\n  var contentHeight = ref[1];\n  var pageY = ref[2];\n  var railYHeight = ref[3];\n  var scrollbarY = ref[4];\n  var scrollbarYHeight = ref[5];\n  var scrollTop = ref[6];\n  var y = ref[7];\n  var scrollbarYRail = ref[8];\n\n  var element = i.element;\n\n  var startingScrollTop = null;\n  var startingMousePageY = null;\n  var scrollBy = null;\n\n  function mouseMoveHandler(e) {\n    if (e.touches && e.touches[0]) {\n      e[pageY] = e.touches[0].pageY;\n    }\n    element[scrollTop] =\n      startingScrollTop + scrollBy * (e[pageY] - startingMousePageY);\n    addScrollingClass(i, y);\n    updateGeometry(i);\n\n    e.stopPropagation();\n    if (e.type.startsWith('touch') && e.changedTouches.length > 1) {\n      e.preventDefault();\n    }\n  }\n\n  function mouseUpHandler() {\n    removeScrollingClass(i, y);\n    i[scrollbarYRail].classList.remove(cls.state.clicking);\n    i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n  }\n\n  function bindMoves(e, touchMode) {\n    startingScrollTop = element[scrollTop];\n    if (touchMode && e.touches) {\n      e[pageY] = e.touches[0].pageY;\n    }\n    startingMousePageY = e[pageY];\n    scrollBy =\n      (i[contentHeight] - i[containerHeight]) /\n      (i[railYHeight] - i[scrollbarYHeight]);\n    if (!touchMode) {\n      i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n      i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);\n      e.preventDefault();\n    } else {\n      i.event.bind(i.ownerDocument, 'touchmove', mouseMoveHandler);\n    }\n\n    i[scrollbarYRail].classList.add(cls.state.clicking);\n\n    e.stopPropagation();\n  }\n\n  i.event.bind(i[scrollbarY], 'mousedown', function (e) {\n    bindMoves(e);\n  });\n  i.event.bind(i[scrollbarY], 'touchstart', function (e) {\n    bindMoves(e, true);\n  });\n}\n\nfunction keyboard(i) {\n  var element = i.element;\n\n  var elementHovered = function () { return matches(element, ':hover'); };\n  var scrollbarFocused = function () { return matches(i.scrollbarX, ':focus') || matches(i.scrollbarY, ':focus'); };\n\n  function shouldPreventDefault(deltaX, deltaY) {\n    var scrollTop = Math.floor(element.scrollTop);\n    if (deltaX === 0) {\n      if (!i.scrollbarYActive) {\n        return false;\n      }\n      if (\n        (scrollTop === 0 && deltaY > 0) ||\n        (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)\n      ) {\n        return !i.settings.wheelPropagation;\n      }\n    }\n\n    var scrollLeft = element.scrollLeft;\n    if (deltaY === 0) {\n      if (!i.scrollbarXActive) {\n        return false;\n      }\n      if (\n        (scrollLeft === 0 && deltaX < 0) ||\n        (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)\n      ) {\n        return !i.settings.wheelPropagation;\n      }\n    }\n    return true;\n  }\n\n  i.event.bind(i.ownerDocument, 'keydown', function (e) {\n    if (\n      (e.isDefaultPrevented && e.isDefaultPrevented()) ||\n      e.defaultPrevented\n    ) {\n      return;\n    }\n\n    if (!elementHovered() && !scrollbarFocused()) {\n      return;\n    }\n\n    var activeElement = document.activeElement\n      ? document.activeElement\n      : i.ownerDocument.activeElement;\n    if (activeElement) {\n      if (activeElement.tagName === 'IFRAME') {\n        activeElement = activeElement.contentDocument.activeElement;\n      } else {\n        // go deeper if element is a webcomponent\n        while (activeElement.shadowRoot) {\n          activeElement = activeElement.shadowRoot.activeElement;\n        }\n      }\n      if (isEditable(activeElement)) {\n        return;\n      }\n    }\n\n    var deltaX = 0;\n    var deltaY = 0;\n\n    switch (e.which) {\n      case 37: // left\n        if (e.metaKey) {\n          deltaX = -i.contentWidth;\n        } else if (e.altKey) {\n          deltaX = -i.containerWidth;\n        } else {\n          deltaX = -30;\n        }\n        break;\n      case 38: // up\n        if (e.metaKey) {\n          deltaY = i.contentHeight;\n        } else if (e.altKey) {\n          deltaY = i.containerHeight;\n        } else {\n          deltaY = 30;\n        }\n        break;\n      case 39: // right\n        if (e.metaKey) {\n          deltaX = i.contentWidth;\n        } else if (e.altKey) {\n          deltaX = i.containerWidth;\n        } else {\n          deltaX = 30;\n        }\n        break;\n      case 40: // down\n        if (e.metaKey) {\n          deltaY = -i.contentHeight;\n        } else if (e.altKey) {\n          deltaY = -i.containerHeight;\n        } else {\n          deltaY = -30;\n        }\n        break;\n      case 32: // space bar\n        if (e.shiftKey) {\n          deltaY = i.containerHeight;\n        } else {\n          deltaY = -i.containerHeight;\n        }\n        break;\n      case 33: // page up\n        deltaY = i.containerHeight;\n        break;\n      case 34: // page down\n        deltaY = -i.containerHeight;\n        break;\n      case 36: // home\n        deltaY = i.contentHeight;\n        break;\n      case 35: // end\n        deltaY = -i.contentHeight;\n        break;\n      default:\n        return;\n    }\n\n    if (i.settings.suppressScrollX && deltaX !== 0) {\n      return;\n    }\n    if (i.settings.suppressScrollY && deltaY !== 0) {\n      return;\n    }\n\n    element.scrollTop -= deltaY;\n    element.scrollLeft += deltaX;\n    updateGeometry(i);\n\n    if (shouldPreventDefault(deltaX, deltaY)) {\n      e.preventDefault();\n    }\n  });\n}\n\nfunction wheel(i) {\n  var element = i.element;\n\n  function shouldPreventDefault(deltaX, deltaY) {\n    var roundedScrollTop = Math.floor(element.scrollTop);\n    var isTop = element.scrollTop === 0;\n    var isBottom =\n      roundedScrollTop + element.offsetHeight === element.scrollHeight;\n    var isLeft = element.scrollLeft === 0;\n    var isRight =\n      element.scrollLeft + element.offsetWidth === element.scrollWidth;\n\n    var hitsBound;\n\n    // pick axis with primary direction\n    if (Math.abs(deltaY) > Math.abs(deltaX)) {\n      hitsBound = isTop || isBottom;\n    } else {\n      hitsBound = isLeft || isRight;\n    }\n\n    return hitsBound ? !i.settings.wheelPropagation : true;\n  }\n\n  function getDeltaFromEvent(e) {\n    var deltaX = e.deltaX;\n    var deltaY = -1 * e.deltaY;\n\n    if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') {\n      // OS X Safari\n      deltaX = (-1 * e.wheelDeltaX) / 6;\n      deltaY = e.wheelDeltaY / 6;\n    }\n\n    if (e.deltaMode && e.deltaMode === 1) {\n      // Firefox in deltaMode 1: Line scrolling\n      deltaX *= 10;\n      deltaY *= 10;\n    }\n\n    if (deltaX !== deltaX && deltaY !== deltaY /* NaN checks */) {\n      // IE in some mouse drivers\n      deltaX = 0;\n      deltaY = e.wheelDelta;\n    }\n\n    if (e.shiftKey) {\n      // reverse axis with shift key\n      return [-deltaY, -deltaX];\n    }\n    return [deltaX, deltaY];\n  }\n\n  function shouldBeConsumedByChild(target, deltaX, deltaY) {\n    // FIXME: this is a workaround for <select> issue in FF and IE #571\n    if (!env.isWebKit && element.querySelector('select:focus')) {\n      return true;\n    }\n\n    if (!element.contains(target)) {\n      return false;\n    }\n\n    var cursor = target;\n\n    while (cursor && cursor !== element) {\n      if (cursor.classList.contains(cls.element.consuming)) {\n        return true;\n      }\n\n      var style = get(cursor);\n\n      // if deltaY && vertical scrollable\n      if (deltaY && style.overflowY.match(/(scroll|auto)/)) {\n        var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;\n        if (maxScrollTop > 0) {\n          if (\n            (cursor.scrollTop > 0 && deltaY < 0) ||\n            (cursor.scrollTop < maxScrollTop && deltaY > 0)\n          ) {\n            return true;\n          }\n        }\n      }\n      // if deltaX && horizontal scrollable\n      if (deltaX && style.overflowX.match(/(scroll|auto)/)) {\n        var maxScrollLeft = cursor.scrollWidth - cursor.clientWidth;\n        if (maxScrollLeft > 0) {\n          if (\n            (cursor.scrollLeft > 0 && deltaX < 0) ||\n            (cursor.scrollLeft < maxScrollLeft && deltaX > 0)\n          ) {\n            return true;\n          }\n        }\n      }\n\n      cursor = cursor.parentNode;\n    }\n\n    return false;\n  }\n\n  function mousewheelHandler(e) {\n    var ref = getDeltaFromEvent(e);\n    var deltaX = ref[0];\n    var deltaY = ref[1];\n\n    if (shouldBeConsumedByChild(e.target, deltaX, deltaY)) {\n      return;\n    }\n\n    var shouldPrevent = false;\n    if (!i.settings.useBothWheelAxes) {\n      // deltaX will only be used for horizontal scrolling and deltaY will\n      // only be used for vertical scrolling - this is the default\n      element.scrollTop -= deltaY * i.settings.wheelSpeed;\n      element.scrollLeft += deltaX * i.settings.wheelSpeed;\n    } else if (i.scrollbarYActive && !i.scrollbarXActive) {\n      // only vertical scrollbar is active and useBothWheelAxes option is\n      // active, so let's scroll vertical bar using both mouse wheel axes\n      if (deltaY) {\n        element.scrollTop -= deltaY * i.settings.wheelSpeed;\n      } else {\n        element.scrollTop += deltaX * i.settings.wheelSpeed;\n      }\n      shouldPrevent = true;\n    } else if (i.scrollbarXActive && !i.scrollbarYActive) {\n      // useBothWheelAxes and only horizontal bar is active, so use both\n      // wheel axes for horizontal bar\n      if (deltaX) {\n        element.scrollLeft += deltaX * i.settings.wheelSpeed;\n      } else {\n        element.scrollLeft -= deltaY * i.settings.wheelSpeed;\n      }\n      shouldPrevent = true;\n    }\n\n    updateGeometry(i);\n\n    shouldPrevent = shouldPrevent || shouldPreventDefault(deltaX, deltaY);\n    if (shouldPrevent && !e.ctrlKey) {\n      e.stopPropagation();\n      e.preventDefault();\n    }\n  }\n\n  if (typeof window.onwheel !== 'undefined') {\n    i.event.bind(element, 'wheel', mousewheelHandler);\n  } else if (typeof window.onmousewheel !== 'undefined') {\n    i.event.bind(element, 'mousewheel', mousewheelHandler);\n  }\n}\n\nfunction touch(i) {\n  if (!env.supportsTouch && !env.supportsIePointer) {\n    return;\n  }\n\n  var element = i.element;\n\n  function shouldPrevent(deltaX, deltaY) {\n    var scrollTop = Math.floor(element.scrollTop);\n    var scrollLeft = element.scrollLeft;\n    var magnitudeX = Math.abs(deltaX);\n    var magnitudeY = Math.abs(deltaY);\n\n    if (magnitudeY > magnitudeX) {\n      // user is perhaps trying to swipe up/down the page\n\n      if (\n        (deltaY < 0 && scrollTop === i.contentHeight - i.containerHeight) ||\n        (deltaY > 0 && scrollTop === 0)\n      ) {\n        // set prevent for mobile Chrome refresh\n        return window.scrollY === 0 && deltaY > 0 && env.isChrome;\n      }\n    } else if (magnitudeX > magnitudeY) {\n      // user is perhaps trying to swipe left/right across the page\n\n      if (\n        (deltaX < 0 && scrollLeft === i.contentWidth - i.containerWidth) ||\n        (deltaX > 0 && scrollLeft === 0)\n      ) {\n        return true;\n      }\n    }\n\n    return true;\n  }\n\n  function applyTouchMove(differenceX, differenceY) {\n    element.scrollTop -= differenceY;\n    element.scrollLeft -= differenceX;\n\n    updateGeometry(i);\n  }\n\n  var startOffset = {};\n  var startTime = 0;\n  var speed = {};\n  var easingLoop = null;\n\n  function getTouch(e) {\n    if (e.targetTouches) {\n      return e.targetTouches[0];\n    } else {\n      // Maybe IE pointer\n      return e;\n    }\n  }\n\n  function shouldHandle(e) {\n    if (e.pointerType && e.pointerType === 'pen' && e.buttons === 0) {\n      return false;\n    }\n    if (e.targetTouches && e.targetTouches.length === 1) {\n      return true;\n    }\n    if (\n      e.pointerType &&\n      e.pointerType !== 'mouse' &&\n      e.pointerType !== e.MSPOINTER_TYPE_MOUSE\n    ) {\n      return true;\n    }\n    return false;\n  }\n\n  function touchStart(e) {\n    if (!shouldHandle(e)) {\n      return;\n    }\n\n    var touch = getTouch(e);\n\n    startOffset.pageX = touch.pageX;\n    startOffset.pageY = touch.pageY;\n\n    startTime = new Date().getTime();\n\n    if (easingLoop !== null) {\n      clearInterval(easingLoop);\n    }\n  }\n\n  function shouldBeConsumedByChild(target, deltaX, deltaY) {\n    if (!element.contains(target)) {\n      return false;\n    }\n\n    var cursor = target;\n\n    while (cursor && cursor !== element) {\n      if (cursor.classList.contains(cls.element.consuming)) {\n        return true;\n      }\n\n      var style = get(cursor);\n\n      // if deltaY && vertical scrollable\n      if (deltaY && style.overflowY.match(/(scroll|auto)/)) {\n        var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;\n        if (maxScrollTop > 0) {\n          if (\n            (cursor.scrollTop > 0 && deltaY < 0) ||\n            (cursor.scrollTop < maxScrollTop && deltaY > 0)\n          ) {\n            return true;\n          }\n        }\n      }\n      // if deltaX && horizontal scrollable\n      if (deltaX && style.overflowX.match(/(scroll|auto)/)) {\n        var maxScrollLeft = cursor.scrollWidth - cursor.clientWidth;\n        if (maxScrollLeft > 0) {\n          if (\n            (cursor.scrollLeft > 0 && deltaX < 0) ||\n            (cursor.scrollLeft < maxScrollLeft && deltaX > 0)\n          ) {\n            return true;\n          }\n        }\n      }\n\n      cursor = cursor.parentNode;\n    }\n\n    return false;\n  }\n\n  function touchMove(e) {\n    if (shouldHandle(e)) {\n      var touch = getTouch(e);\n\n      var currentOffset = { pageX: touch.pageX, pageY: touch.pageY };\n\n      var differenceX = currentOffset.pageX - startOffset.pageX;\n      var differenceY = currentOffset.pageY - startOffset.pageY;\n\n      if (shouldBeConsumedByChild(e.target, differenceX, differenceY)) {\n        return;\n      }\n\n      applyTouchMove(differenceX, differenceY);\n      startOffset = currentOffset;\n\n      var currentTime = new Date().getTime();\n\n      var timeGap = currentTime - startTime;\n      if (timeGap > 0) {\n        speed.x = differenceX / timeGap;\n        speed.y = differenceY / timeGap;\n        startTime = currentTime;\n      }\n\n      if (shouldPrevent(differenceX, differenceY)) {\n        e.preventDefault();\n      }\n    }\n  }\n  function touchEnd() {\n    if (i.settings.swipeEasing) {\n      clearInterval(easingLoop);\n      easingLoop = setInterval(function() {\n        if (i.isInitialized) {\n          clearInterval(easingLoop);\n          return;\n        }\n\n        if (!speed.x && !speed.y) {\n          clearInterval(easingLoop);\n          return;\n        }\n\n        if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {\n          clearInterval(easingLoop);\n          return;\n        }\n\n        if (!i.element) {\n          clearInterval(easingLoop);\n          return;\n        }\n\n        applyTouchMove(speed.x * 30, speed.y * 30);\n\n        speed.x *= 0.8;\n        speed.y *= 0.8;\n      }, 10);\n    }\n  }\n\n  if (env.supportsTouch) {\n    i.event.bind(element, 'touchstart', touchStart);\n    i.event.bind(element, 'touchmove', touchMove);\n    i.event.bind(element, 'touchend', touchEnd);\n  } else if (env.supportsIePointer) {\n    if (window.PointerEvent) {\n      i.event.bind(element, 'pointerdown', touchStart);\n      i.event.bind(element, 'pointermove', touchMove);\n      i.event.bind(element, 'pointerup', touchEnd);\n    } else if (window.MSPointerEvent) {\n      i.event.bind(element, 'MSPointerDown', touchStart);\n      i.event.bind(element, 'MSPointerMove', touchMove);\n      i.event.bind(element, 'MSPointerUp', touchEnd);\n    }\n  }\n}\n\nvar defaultSettings = function () { return ({\n  handlers: ['click-rail', 'drag-thumb', 'keyboard', 'wheel', 'touch'],\n  maxScrollbarLength: null,\n  minScrollbarLength: null,\n  scrollingThreshold: 1000,\n  scrollXMarginOffset: 0,\n  scrollYMarginOffset: 0,\n  suppressScrollX: false,\n  suppressScrollY: false,\n  swipeEasing: true,\n  useBothWheelAxes: false,\n  wheelPropagation: true,\n  wheelSpeed: 1,\n}); };\n\nvar handlers = {\n  'click-rail': clickRail,\n  'drag-thumb': dragThumb,\n  keyboard: keyboard,\n  wheel: wheel,\n  touch: touch,\n};\n\nvar PerfectScrollbar = function PerfectScrollbar(element, userSettings) {\n  var this$1 = this;\n  if ( userSettings === void 0 ) userSettings = {};\n\n  if (typeof element === 'string') {\n    element = document.querySelector(element);\n  }\n\n  if (!element || !element.nodeName) {\n    throw new Error('no element is specified to initialize PerfectScrollbar');\n  }\n\n  this.element = element;\n\n  element.classList.add(cls.main);\n\n  this.settings = defaultSettings();\n  for (var key in userSettings) {\n    this.settings[key] = userSettings[key];\n  }\n\n  this.containerWidth = null;\n  this.containerHeight = null;\n  this.contentWidth = null;\n  this.contentHeight = null;\n\n  var focus = function () { return element.classList.add(cls.state.focus); };\n  var blur = function () { return element.classList.remove(cls.state.focus); };\n\n  this.isRtl = get(element).direction === 'rtl';\n  if (this.isRtl === true) {\n    element.classList.add(cls.rtl);\n  }\n  this.isNegativeScroll = (function () {\n    var originalScrollLeft = element.scrollLeft;\n    var result = null;\n    element.scrollLeft = -1;\n    result = element.scrollLeft < 0;\n    element.scrollLeft = originalScrollLeft;\n    return result;\n  })();\n  this.negativeScrollAdjustment = this.isNegativeScroll\n    ? element.scrollWidth - element.clientWidth\n    : 0;\n  this.event = new EventManager();\n  this.ownerDocument = element.ownerDocument || document;\n\n  this.scrollbarXRail = div(cls.element.rail('x'));\n  element.appendChild(this.scrollbarXRail);\n  this.scrollbarX = div(cls.element.thumb('x'));\n  this.scrollbarXRail.appendChild(this.scrollbarX);\n  this.scrollbarX.setAttribute('tabindex', 0);\n  this.event.bind(this.scrollbarX, 'focus', focus);\n  this.event.bind(this.scrollbarX, 'blur', blur);\n  this.scrollbarXActive = null;\n  this.scrollbarXWidth = null;\n  this.scrollbarXLeft = null;\n  var railXStyle = get(this.scrollbarXRail);\n  this.scrollbarXBottom = parseInt(railXStyle.bottom, 10);\n  if (isNaN(this.scrollbarXBottom)) {\n    this.isScrollbarXUsingBottom = false;\n    this.scrollbarXTop = toInt(railXStyle.top);\n  } else {\n    this.isScrollbarXUsingBottom = true;\n  }\n  this.railBorderXWidth =\n    toInt(railXStyle.borderLeftWidth) + toInt(railXStyle.borderRightWidth);\n  // Set rail to display:block to calculate margins\n  set(this.scrollbarXRail, { display: 'block' });\n  this.railXMarginWidth =\n    toInt(railXStyle.marginLeft) + toInt(railXStyle.marginRight);\n  set(this.scrollbarXRail, { display: '' });\n  this.railXWidth = null;\n  this.railXRatio = null;\n\n  this.scrollbarYRail = div(cls.element.rail('y'));\n  element.appendChild(this.scrollbarYRail);\n  this.scrollbarY = div(cls.element.thumb('y'));\n  this.scrollbarYRail.appendChild(this.scrollbarY);\n  this.scrollbarY.setAttribute('tabindex', 0);\n  this.event.bind(this.scrollbarY, 'focus', focus);\n  this.event.bind(this.scrollbarY, 'blur', blur);\n  this.scrollbarYActive = null;\n  this.scrollbarYHeight = null;\n  this.scrollbarYTop = null;\n  var railYStyle = get(this.scrollbarYRail);\n  this.scrollbarYRight = parseInt(railYStyle.right, 10);\n  if (isNaN(this.scrollbarYRight)) {\n    this.isScrollbarYUsingRight = false;\n    this.scrollbarYLeft = toInt(railYStyle.left);\n  } else {\n    this.isScrollbarYUsingRight = true;\n  }\n  this.scrollbarYOuterWidth = this.isRtl ? outerWidth(this.scrollbarY) : null;\n  this.railBorderYWidth =\n    toInt(railYStyle.borderTopWidth) + toInt(railYStyle.borderBottomWidth);\n  set(this.scrollbarYRail, { display: 'block' });\n  this.railYMarginHeight =\n    toInt(railYStyle.marginTop) + toInt(railYStyle.marginBottom);\n  set(this.scrollbarYRail, { display: '' });\n  this.railYHeight = null;\n  this.railYRatio = null;\n\n  this.reach = {\n    x:\n      element.scrollLeft <= 0\n        ? 'start'\n        : element.scrollLeft >= this.contentWidth - this.containerWidth\n        ? 'end'\n        : null,\n    y:\n      element.scrollTop <= 0\n        ? 'start'\n        : element.scrollTop >= this.contentHeight - this.containerHeight\n        ? 'end'\n        : null,\n  };\n\n  this.isAlive = true;\n\n  this.settings.handlers.forEach(function (handlerName) { return handlers[handlerName](this$1); });\n\n  this.lastScrollTop = Math.floor(element.scrollTop); // for onScroll only\n  this.lastScrollLeft = element.scrollLeft; // for onScroll only\n  this.event.bind(this.element, 'scroll', function (e) { return this$1.onScroll(e); });\n  updateGeometry(this);\n};\n\nPerfectScrollbar.prototype.update = function update () {\n  if (!this.isAlive) {\n    return;\n  }\n\n  // Recalcuate negative scrollLeft adjustment\n  this.negativeScrollAdjustment = this.isNegativeScroll\n    ? this.element.scrollWidth - this.element.clientWidth\n    : 0;\n\n  // Recalculate rail margins\n  set(this.scrollbarXRail, { display: 'block' });\n  set(this.scrollbarYRail, { display: 'block' });\n  this.railXMarginWidth =\n    toInt(get(this.scrollbarXRail).marginLeft) +\n    toInt(get(this.scrollbarXRail).marginRight);\n  this.railYMarginHeight =\n    toInt(get(this.scrollbarYRail).marginTop) +\n    toInt(get(this.scrollbarYRail).marginBottom);\n\n  // Hide scrollbars not to affect scrollWidth and scrollHeight\n  set(this.scrollbarXRail, { display: 'none' });\n  set(this.scrollbarYRail, { display: 'none' });\n\n  updateGeometry(this);\n\n  processScrollDiff(this, 'top', 0, false, true);\n  processScrollDiff(this, 'left', 0, false, true);\n\n  set(this.scrollbarXRail, { display: '' });\n  set(this.scrollbarYRail, { display: '' });\n};\n\nPerfectScrollbar.prototype.onScroll = function onScroll (e) {\n  if (!this.isAlive) {\n    return;\n  }\n\n  updateGeometry(this);\n  processScrollDiff(this, 'top', this.element.scrollTop - this.lastScrollTop);\n  processScrollDiff(\n    this,\n    'left',\n    this.element.scrollLeft - this.lastScrollLeft\n  );\n\n  this.lastScrollTop = Math.floor(this.element.scrollTop);\n  this.lastScrollLeft = this.element.scrollLeft;\n};\n\nPerfectScrollbar.prototype.destroy = function destroy () {\n  if (!this.isAlive) {\n    return;\n  }\n\n  this.event.unbindAll();\n  remove(this.scrollbarX);\n  remove(this.scrollbarY);\n  remove(this.scrollbarXRail);\n  remove(this.scrollbarYRail);\n  this.removePsClasses();\n\n  // unset elements\n  this.element = null;\n  this.scrollbarX = null;\n  this.scrollbarY = null;\n  this.scrollbarXRail = null;\n  this.scrollbarYRail = null;\n\n  this.isAlive = false;\n};\n\nPerfectScrollbar.prototype.removePsClasses = function removePsClasses () {\n  this.element.className = this.element.className\n    .split(' ')\n    .filter(function (name) { return !name.match(/^ps([-_].+|)$/); })\n    .join(' ');\n};\n\nexport default PerfectScrollbar;\n//# sourceMappingURL=perfect-scrollbar.esm.js.map\n","var baseRange = require('./_baseRange'),\n    isIterateeCall = require('./_isIterateeCall'),\n    toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n  return function(start, end, step) {\n    if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n      end = step = undefined;\n    }\n    // Ensure the sign of `-0` is preserved.\n    start = toFinite(start);\n    if (end === undefined) {\n      end = start;\n      start = 0;\n    } else {\n      end = toFinite(end);\n    }\n    step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n    return baseRange(start, end, step, fromRight);\n  };\n}\n\nmodule.exports = createRange;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n    nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n  var index = -1,\n      length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n      result = Array(length);\n\n  while (length--) {\n    result[fromRight ? length : ++index] = start;\n    start += step;\n  }\n  return result;\n}\n\nmodule.exports = baseRange;\n","/**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee 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 `array`.\n */\nfunction arrayEachRight(array, iteratee) {\n  var length = array == null ? 0 : array.length;\n\n  while (length--) {\n    if (iteratee(array[length], length, array) === false) {\n      break;\n    }\n  }\n  return array;\n}\n\nmodule.exports = arrayEachRight;\n","var baseForOwnRight = require('./_baseForOwnRight'),\n    createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEachRight` 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 */\nvar baseEachRight = createBaseEach(baseForOwnRight, true);\n\nmodule.exports = baseEachRight;\n","var baseForRight = require('./_baseForRight'),\n    keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwnRight` 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 */\nfunction baseForOwnRight(object, iteratee) {\n  return object && baseForRight(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwnRight;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\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 */\nvar baseForRight = createBaseFor(true);\n\nmodule.exports = baseForRight;\n","var arrayAggregator = require('./_arrayAggregator'),\n    baseAggregator = require('./_baseAggregator'),\n    baseIteratee = require('./_baseIteratee'),\n    isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n  return function(collection, iteratee) {\n    var func = isArray(collection) ? arrayAggregator : baseAggregator,\n        accumulator = initializer ? initializer() : {};\n\n    return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n  };\n}\n\nmodule.exports = createAggregator;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    var value = array[index];\n    setter(accumulator, value, iteratee(value), array);\n  }\n  return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n  baseEach(collection, function(value, key, collection) {\n    setter(accumulator, value, iteratee(value), collection);\n  });\n  return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","import { getParent } from './getParent';\n/**\n * Determines whether or not a parent element contains a given child element.\n * If `allowVirtualParents` is true, this method may return `true` if the child\n * has the parent in its virtual element hierarchy.\n *\n * @public\n */\nexport function elementContains(parent, child, allowVirtualParents) {\n    if (allowVirtualParents === void 0) { allowVirtualParents = true; }\n    var isContained = false;\n    if (parent && child) {\n        if (allowVirtualParents) {\n            if (parent === child) {\n                isContained = true;\n            }\n            else {\n                isContained = false;\n                while (child) {\n                    var nextParent = getParent(child);\n                    if (nextParent === parent) {\n                        isContained = true;\n                        break;\n                    }\n                    child = nextParent;\n                }\n            }\n        }\n        else if (parent.contains) {\n            isContained = parent.contains(child);\n        }\n    }\n    return isContained;\n}\n//# sourceMappingURL=elementContains.js.map","import * as React from 'react';\n\nvar isUndefined = function isUndefined(value) {\n  return typeof value === 'undefined';\n};\n/**\n * Returns a stateful value, and a function to update it. Mimics the `useState()` React Hook\n * signature.\n */\n\n\nexport var useAutoControlled = function useAutoControlled(options) {\n  var _React$useState = React.useState(isUndefined(options.defaultValue) ? options.initialValue : options.defaultValue),\n      stateValue = _React$useState[0],\n      setStateValue = _React$useState[1];\n\n  var value = isUndefined(options.value) ? stateValue : options.value; // Used to avoid dependencies in \"setValue\"\n\n  var valueRef = React.useRef(value);\n  var setValue = React.useCallback(function (newState) {\n    if (typeof newState === 'function') {\n      // Handles functional updates\n      // https://reactjs.org/docs/hooks-reference.html#functional-updates\n      valueRef.current = newState(valueRef.current);\n    } else {\n      valueRef.current = newState;\n    }\n\n    setStateValue(valueRef.current);\n  }, []);\n  return [value, setValue];\n};\n//# sourceMappingURL=useAutoControlled.js.map\n","import _isPlainObject from \"lodash/isPlainObject\";\nimport { mergeComponentVariables, deepmerge } from '@fluentui/styles';\n\n/**\n mergeComponentVariables() is always creating a function even if the arguments are undefined we have this temporary\n fix in place to avoid creating empty function because it is breaking caching we should either fix\n mergeComponentVariables(), or handle this in a more generic way.\n */\nexport function mergeVariablesOverrides(variables, overrides) {\n  if (variables && overrides) {\n    if (_isPlainObject(variables) && _isPlainObject(overrides)) {\n      return deepmerge(variables, overrides);\n    }\n\n    return mergeComponentVariables(variables, overrides);\n  }\n\n  return variables || overrides;\n}\n//# sourceMappingURL=mergeVariablesOverrides.js.map\n","/**\n * @description\n * Image is usually only visual representation and therefore is hidden from screen readers, unless 'alt' property is provided.\n *\n * @specification\n * Adds attribute 'aria-hidden=true', if there is no 'alt' property provided.\n */\nexport var imageBehavior = function imageBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        'aria-hidden': props.alt || props['aria-label'] ? undefined : 'true'\n      }\n    }\n  };\n};\n//# sourceMappingURL=imageBehavior.js.map\n","export var ALIGNMENTS = ['top', 'bottom', 'start', 'end', 'center'];\nexport var POSITIONS = ['above', 'below', 'before', 'after'];\nexport var AUTOSIZES = ['height', 'height-always', 'width', 'width-always', 'always', true, false];\n//# sourceMappingURL=types.internal.js.map\n","var rtlMapping = {\n  left: 'right',\n  right: 'left'\n};\nexport function getBasePlacement(placement, rtl) {\n  var basePlacement = (placement || '').split('-', 1).pop();\n  return rtl && rtlMapping[basePlacement] || basePlacement;\n}\n//# sourceMappingURL=getBasePlacement.js.map\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _keys from \"lodash/keys\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport { callable } from '@fluentui/styles';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { getElementType } from '../utils/getElementType';\nimport { getUnhandledProps } from '../utils/getUnhandledProps';\nimport { getNextElement, focusAsync } from './focusUtilities';\n/** AutoFocusZone is used to focus inner element on mount. */\n\nexport var AutoFocusZone = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(AutoFocusZone, _React$Component);\n\n  function AutoFocusZone() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this.root = /*#__PURE__*/React.createRef();\n\n    _this.findElementAndFocusAsync = function () {\n      if (!_this.root.current) return;\n      var firstFocusableSelector = _this.props.firstFocusableSelector;\n      var focusSelector = callable(firstFocusableSelector)();\n      var firstFocusableChild = focusSelector ? _this.root.current.querySelector(focusSelector) : getNextElement(_this.root.current, _this.root.current.firstChild, true, false, false, true);\n      firstFocusableChild && focusAsync(firstFocusableChild);\n    };\n\n    return _this;\n  }\n\n  var _proto = AutoFocusZone.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.findElementAndFocusAsync();\n  };\n\n  _proto.render = function render() {\n    var unhandledProps = getUnhandledProps(AutoFocusZone.handledProps, this.props);\n    var ElementType = getElementType(this.props);\n    return /*#__PURE__*/React.createElement(Ref, {\n      innerRef: this.root\n    }, /*#__PURE__*/React.createElement(ElementType, unhandledProps, this.props.children));\n  };\n\n  return AutoFocusZone;\n}(React.Component);\nAutoFocusZone.propTypes = {\n  as: PropTypes.elementType,\n  firstFocusableSelector: PropTypes.oneOfType([PropTypes.func, PropTypes.string])\n};\nAutoFocusZone.handledProps = _keys(AutoFocusZone.propTypes);\n//# sourceMappingURL=AutoFocusZone.js.map\n","import { getCode, SpacebarKey, EnterKey } from '@fluentui/accessibility';\n\n/**\n * Checks if `preventDefault()` should be called for a passed keyboard event.\n */\nexport function shouldPreventDefaultOnKeyDown(e) {\n  var code = getCode(e);\n  var target = e.target;\n  var matchesByKey = code === SpacebarKey || code === EnterKey;\n\n  if ((target == null ? void 0 : target.tagName) === 'A') {\n    return code === SpacebarKey;\n  }\n\n  var ignoredByTag = (target == null ? void 0 : target.tagName) === 'INPUT' || (target == null ? void 0 : target.tagName) === 'TEXTAREA' || (target == null ? void 0 : target.isContentEditable) === true;\n  return matchesByKey && !ignoredByTag;\n}\n//# sourceMappingURL=shouldPreventDefaultOnKeyDown.js.map\n","import { colors } from '../teams/siteVariables';\nimport { createColorScheme as createEmptyColorScheme } from '../teams/colors';\nexport var accessibleYellow = '#ffff01';\nexport var accessibleGreen = '#3ff23f'; // always disabled color in high contrast\n\nexport var accessibleCyan = '#1aebff';\nexport var red = '#f00'; // COLOR SCHEME\n\nvar createColorScheme = function createColorScheme(customValues) {\n  if (customValues === void 0) {\n    customValues = {};\n  }\n\n  return Object.assign({\n    foreground: colors.white,\n    foreground1: colors.black,\n    background: colors.black,\n    background1: colors.white,\n    border: colors.white,\n    shadow: colors.white,\n    foregroundHover: accessibleYellow,\n    backgroundHover: colors.black,\n    borderHover: accessibleCyan,\n    shadowHover: accessibleCyan,\n    foregroundActive: accessibleCyan,\n    backgroundActive: colors.black,\n    borderActive: accessibleCyan,\n    shadowActive: accessibleCyan,\n    foregroundFocus: colors.black,\n    backgroundFocus: accessibleCyan,\n    borderFocus: colors.white,\n    shadowFocus: colors.white,\n    foregroundPressed: colors.black,\n    backgroundPressed: accessibleCyan,\n    borderPressed: colors.white,\n    shadowPressed: colors.white,\n    foregroundDisabled: colors.black,\n    backgroundDisabled: accessibleGreen,\n    borderDisabled: colors.black,\n    shadowDisabled: colors.black\n  }, customValues);\n};\n\nexport var colorScheme = {\n  default: createEmptyColorScheme({\n    foreground: colors.white,\n    foreground1: colors.white,\n    foreground2: colors.white,\n    foreground3: colors.white,\n    foreground4: colors.black,\n    foreground5: colors.grey[600],\n    foreground6: colors.grey[750],\n    foreground7: colors.black,\n    foreground8: colors.black,\n    background: colors.black,\n    background1: colors.black,\n    background2: colors.black,\n    background3: colors.black,\n    background4: colors.black,\n    background5: accessibleYellow,\n    border: colors.white,\n    border1: colors.white,\n    border2: colors.white,\n    border3: colors.white,\n    shadow: colors.black,\n    // opacity 25%\n    shadowHover: colors.black,\n    // opacity 25%\n    foregroundHover: colors.black,\n    foregroundHover1: colors.black,\n    foregroundHover2: accessibleCyan,\n    backgroundHover: accessibleCyan,\n    backgroundHover1: accessibleCyan,\n    backgroundHover2: accessibleCyan,\n    backgroundHover3: colors.black,\n    backgroundHover4: colors.black,\n    borderHover: accessibleCyan,\n    foregroundPressed: colors.black,\n    backgroundPressed: accessibleCyan,\n    backgroundPressed3: accessibleCyan,\n    borderPressed: accessibleCyan,\n    foregroundActive: accessibleCyan,\n    foregroundActive1: colors.black,\n    backgroundActive: colors.black,\n    backgroundActive1: accessibleCyan,\n    backgroundActive2: accessibleCyan,\n    borderActive: accessibleCyan,\n    // buttons\n    borderActive1: accessibleCyan,\n    borderActive2: accessibleCyan,\n    borderActive3: accessibleCyan,\n    borderActive4: accessibleCyan,\n    foregroundFocus: colors.black,\n    foregroundFocus1: colors.black,\n    foregroundFocus2: colors.black,\n    foregroundFocus3: colors.black,\n    backgroundFocus: accessibleCyan,\n    backgroundFocus1: accessibleCyan,\n    backgroundFocus2: accessibleCyan,\n    backgroundFocus3: accessibleCyan,\n    borderFocusWithin: colors.black,\n    borderFocus: accessibleCyan,\n    foregroundDisabled1: accessibleGreen,\n    foregroundDisabled: colors.black,\n    backgroundDisabled: accessibleGreen,\n    backgroundDisabled1: colors.black,\n    backgroundDisabled2: accessibleGreen,\n    backgroundDisabled3: accessibleGreen,\n    borderDisabled: accessibleGreen\n  }),\n  brand: createEmptyColorScheme({\n    foreground: colors.white,\n    foreground1: accessibleYellow,\n    foreground2: accessibleYellow,\n    foreground3: accessibleYellow,\n    foreground4: colors.black,\n    foreground5: colors.black,\n    background: colors.white,\n    background1: colors.black,\n    background2: colors.black,\n    background3: colors.black,\n    background4: colors.black,\n    background5: colors.white,\n    background6: colors.white,\n    border: colors.white,\n    // buttons\n    border1: colors.white,\n    border2: colors.white,\n    shadow: colors.black,\n    // opacity 25%\n    shadowHover: colors.black,\n    foregroundHover: colors.black,\n    foregroundHover1: colors.black,\n    foregroundHover2: colors.black,\n    borderHover: accessibleCyan,\n    backgroundHover: accessibleCyan,\n    backgroundHover1: accessibleCyan,\n    backgroundHover2: accessibleYellow,\n    foregroundPressed: colors.black,\n    foregroundPressed1: colors.black,\n    backgroundPressed: accessibleCyan,\n    backgroundPressed1: accessibleCyan,\n    borderPressed: accessibleCyan,\n    foregroundActive: accessibleCyan,\n    foregroundActive1: colors.black,\n    foregroundActive2: accessibleCyan,\n    backgroundActive: colors.black,\n    backgroundActive1: accessibleCyan,\n    borderActive: accessibleCyan,\n    // buttons\n    borderActive1: accessibleCyan,\n    borderActive2: accessibleCyan,\n    foregroundFocus: colors.black,\n    foregroundFocus1: colors.black,\n    foregroundFocus2: colors.black,\n    foregroundFocus3: colors.black,\n    foregroundFocus4: colors.black,\n    backgroundFocus: accessibleCyan,\n    backgroundFocus1: accessibleCyan,\n    backgroundFocus2: accessibleCyan,\n    backgroundFocus3: accessibleCyan,\n    borderFocus: accessibleCyan,\n    borderFocusWithin: colors.black,\n    borderFocus1: accessibleCyan,\n    foregroundDisabled: colors.black,\n    foregroundDisabled1: accessibleGreen,\n    backgroundDisabled: accessibleGreen,\n    backgroundDisabled1: colors.black,\n    borderDisabled: accessibleGreen\n  }),\n  black: createColorScheme(),\n  white: createColorScheme(),\n  grey: createColorScheme(),\n  green: createEmptyColorScheme({\n    foreground: colors.white,\n    foreground1: colors.black,\n    foreground2: colors.white,\n    foreground3: colors.black,\n    background: colors.white,\n    background1: colors.white,\n    background2: colors.black,\n    border: colors.white,\n    shadow: undefined,\n    foregroundHover: undefined,\n    backgroundHover: undefined,\n    borderHover: undefined,\n    shadowHover: undefined,\n    foregroundActive: undefined,\n    backgroundActive: undefined,\n    borderActive: undefined,\n    shadowActive: undefined,\n    foregroundFocus: undefined,\n    backgroundFocus: undefined,\n    borderFocus: undefined,\n    shadowFocus: undefined,\n    foregroundPressed: undefined,\n    backgroundPressed: undefined,\n    borderPressed: undefined,\n    shadowPressed: undefined,\n    foregroundDisabled: undefined,\n    backgroundDisabled: undefined,\n    borderDisabled: undefined,\n    shadowDisabled: undefined\n  }),\n  orange: createEmptyColorScheme({\n    foreground: accessibleYellow,\n    foreground1: accessibleYellow,\n    foreground2: colors.black,\n    background: accessibleYellow,\n    background1: colors.white,\n    border: accessibleCyan\n  }),\n  pink: createEmptyColorScheme({\n    foreground: colors.white,\n    foreground1: colors.white,\n    background: colors.black,\n    border: colors.white\n  }),\n  red: createEmptyColorScheme({\n    foreground: colors.white,\n    foreground1: colors.black,\n    foreground2: colors.black,\n    background: colors.white,\n    background1: colors.black,\n    background2: colors.black,\n    background3: accessibleYellow,\n    border: colors.white,\n    foregroundHover: colors.black,\n    backgroundHover: accessibleCyan,\n    backgroundHover1: accessibleCyan,\n    foregroundPressed: colors.black,\n    backgroundPressed: accessibleCyan\n  }),\n  yellow: createEmptyColorScheme({\n    foreground: colors.white,\n    foreground1: colors.black,\n    foreground2: colors.black,\n    foreground3: colors.black,\n    foreground4: colors.white,\n    background: colors.white,\n    background2: colors.white,\n    background3: colors.black,\n    border: colors.white\n  }),\n  silver: createEmptyColorScheme({\n    foreground: colors.white,\n    foreground1: colors.white,\n    foregroundHover: colors.black,\n    foregroundPressed: colors.black,\n    background: colors.black,\n    border: colors.white,\n    backgroundHover: accessibleCyan,\n    borderHover: colors.white,\n    backgroundPressed: accessibleCyan,\n    borderPressed: colors.white,\n    foregroundDisabled: accessibleGreen,\n    backgroundDisabled: colors.black,\n    borderDisabled: accessibleGreen\n  }),\n  onyx: createEmptyColorScheme({\n    background: colors.black,\n    background1: colors.black,\n    background2: colors.white,\n    background3: colors.white,\n    backgroundHover: accessibleCyan,\n    backgroundPressed: accessibleCyan,\n    border: colors.white,\n    border1: colors.white,\n    border2: colors.white\n  }),\n  amethyst: createEmptyColorScheme({\n    background: colors.silver[900],\n    backgroundHover: accessibleCyan,\n    backgroundHover1: accessibleCyan,\n    backgroundActive: accessibleCyan\n  })\n};\n\nvar createCategoryColorScheme = function createCategoryColorScheme(customValues) {\n  if (customValues === void 0) {\n    customValues = {};\n  }\n\n  return Object.assign({\n    foreground: colors.black,\n    foreground1: accessibleYellow,\n    background: accessibleYellow,\n    borderActive: accessibleCyan\n  }, customValues);\n};\n\nexport var categoryColorScheme = {\n  redDark: createCategoryColorScheme(),\n  red: createCategoryColorScheme(),\n  orangeDark: createCategoryColorScheme(),\n  orange: createCategoryColorScheme(),\n  orangeLight: createCategoryColorScheme(),\n  yellowDark: createCategoryColorScheme(),\n  yellow: createCategoryColorScheme(),\n  brown: createCategoryColorScheme(),\n  oliveDark: createCategoryColorScheme(),\n  olive: createCategoryColorScheme(),\n  greenDark: createCategoryColorScheme(),\n  green: createCategoryColorScheme(),\n  tealDark: createCategoryColorScheme(),\n  teal: createCategoryColorScheme(),\n  tealLight: createCategoryColorScheme(),\n  blueDark: createCategoryColorScheme(),\n  blue: createCategoryColorScheme(),\n  purpleDark: createCategoryColorScheme(),\n  purple: createCategoryColorScheme(),\n  maroon: createCategoryColorScheme(),\n  pink: createCategoryColorScheme(),\n  smokeDark: createCategoryColorScheme(),\n  smokeLight: createCategoryColorScheme(),\n  steelDark: createCategoryColorScheme(),\n  steelLight: createCategoryColorScheme(),\n  neon: createCategoryColorScheme(),\n  formatting: {\n    foreground1: undefined,\n    background1: undefined,\n    foreground2: undefined,\n    background2: undefined,\n    foreground3: undefined,\n    background3: undefined,\n    foreground4: undefined,\n    background4: undefined,\n    foreground5: undefined,\n    background5: undefined,\n    foreground6: undefined,\n    background6: undefined,\n    foreground7: undefined,\n    background7: undefined,\n    foreground8: undefined,\n    background8: undefined\n  }\n};\n//# sourceMappingURL=colors.js.map\n","import { colors } from '../teams/siteVariables';\nimport { accessibleCyan } from './colors';\nexport * from './colors'; //\n// BORDER STYLES\n//\n\nexport var focusInnerBorderColor = colors.black;\nexport var focusOuterBorderColor = accessibleCyan; //\n// SEMANTIC ASSIGNMENTS\n//\n\nexport var bodyBackground = colors.black;\nexport var bodyColor = colors.white;\n//# sourceMappingURL=siteVariables.js.map\n","export var avatarVariables = function avatarVariables(siteVariables) {\n  return {\n    avatarBorderColor: siteVariables.colors.white,\n    avatarBorderWidth: '2px',\n    statusBorderColor: siteVariables.colors.black,\n    iconColor: siteVariables.colors.black,\n    iconBackgroundColor: siteVariables.accessibleYellow\n  };\n};\n//# sourceMappingURL=avatarVariables.js.map\n","export var buttonVariables = function buttonVariables(siteVars) {\n  return {\n    backgroundColorActive: siteVars.colors.white,\n    backgroundColorFocus: siteVars.accessibleCyan,\n    borderColorActive: siteVars.colors.white,\n    borderColorHover: 'transparent',\n    borderColorFocus: 'transparent',\n    backgroundColorDisabled: siteVars.accessibleGreen,\n    colorFocus: siteVars.colorScheme.default.foregroundHover,\n    primaryBackgroundColorActive: siteVars.colors.white,\n    primaryBackgroundColorFocus: siteVars.accessibleCyan,\n    boxShadow: 'none',\n    primaryBoxShadow: 'none'\n  };\n};\n//# sourceMappingURL=buttonVariables.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n  return {\n    backgroundColor: siteVars.colors.black\n  };\n};\n//# sourceMappingURL=chatVariables.js.map\n","export var chatMessageVariables = function chatMessageVariables(siteVars) {\n  return {\n    backgroundColor: siteVars.colors.black,\n    backgroundColorMine: siteVars.colors.black,\n    authorColor: siteVars.colors.white,\n    contentColor: siteVars.colors.white,\n    color: siteVars.colors.white,\n    border: \"1px solid \" + siteVars.colors.white,\n    hasMentionColor: siteVars.accessibleYellow,\n    hasMentionNubbinColor: siteVars.accessibleYellow,\n    isImportantColor: siteVars.accessibleYellow,\n    badgeTextColor: siteVars.colors.black,\n    timestampColorMine: siteVars.colors.white,\n    reactionGroupBorderColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","export var checkboxVariables = function checkboxVariables(siteVars) {\n  return {\n    borderColorHover: siteVars.accessibleCyan,\n    disabledToggleIndicatorColor: siteVars.accessibleGreen\n  };\n};\n//# sourceMappingURL=checkboxVariables.js.map\n","export var dialogVariables = function dialogVariables(siteVars) {\n  return {\n    boxShadow: 'none',\n    border: \"1px solid \" + siteVars.colors.white,\n    rootBackground: siteVars.colors.black,\n    foregroundColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=dialogVariables.js.map\n","export var dividerVariables = function dividerVariables(siteVars) {\n  return {\n    dividerColor: siteVars.colors.white,\n    textColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=dividerVariables.js.map\n","export var embedVariables = function embedVariables(siteVariables) {\n  return {\n    controlColor: siteVariables.bodyColor,\n    controlBackgroundColor: siteVariables.bodyBackground\n  };\n};\n//# sourceMappingURL=embedVariables.js.map\n","export var headerVariables = function headerVariables(siteVars) {\n  return {\n    color: siteVars.colors.white,\n    descriptionColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=headerVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var inputVariables = function inputVariables(siteVars) {\n  return {\n    borderColor: siteVars.bodyColor,\n    borderWidth: pxToRem(1) + \" \" + pxToRem(1) + \" \" + pxToRem(2) + \" \" + pxToRem(1),\n    inputFocusBorderColor: siteVars.colors.white + \" \" + siteVars.colors.white + \" \" + siteVars.colorScheme.brand.borderFocus1 + \" \" + siteVars.colors.white\n  };\n};\n//# sourceMappingURL=inputVariables.js.map\n","import { menuColorAreas } from '../../../teams/components/Menu/menuVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuVariables = function menuVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n      default: {\n        backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n        backgroundFocus: siteVars.colorScheme.default.backgroundFocus1,\n        foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n      },\n      brand: {\n        foregroundActive: siteVars.colors.black,\n        foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n      }\n    }), menuColorAreas),\n    color: siteVars.colors.white,\n    colorActive: siteVars.colors.black,\n    colorFocus: siteVars.colors.white,\n    backgroundColorFocus: siteVars.accessibleCyan,\n    backgroundColorActive: siteVars.accessibleCyan,\n    primaryBorderColor: siteVars.colors.white,\n    activeUnderlinedColor: siteVars.colors.white,\n    activeUnderlinedBorderBottomColor: siteVars.colors.white,\n    activeUnderlinedWrapperColor: siteVars.colors.white,\n    pointingIndicatorBackgroundColor: 'transparent',\n    verticalBackgroundColorFocus: undefined,\n    iconOnlyColorActive: siteVars.colors.black,\n    iconOnlyColorFocus: 'transparent',\n    iconOnlyColorHover: siteVars.colors.black,\n    iconOnlyWrapperBackgroundColorFocus: siteVars.accessibleCyan,\n    activeIconOnlyWrapperBackgroundColor: siteVars.accessibleCyan,\n    activeUnderlinedPrimaryColor: siteVars.colors.white,\n    wrapperColorActive: siteVars.colors.black,\n    wrapperBackgroundColorFocus: siteVars.accessibleCyan,\n    wrapperColorFocus: siteVars.colors.black,\n    primaryWrapperColorHover: siteVars.colors.black,\n    wrapperColorHover: siteVars.colors.black,\n    primaryWrapperColorFocus: siteVars.colors.black,\n    primaryWrapperBackgroundColorFocus: siteVars.accessibleCyan,\n    underlinedColorHover: siteVars.colors.white,\n    underlinedWrapperColorHover: siteVars.colors.white,\n    iconOnlyBackgroundColorHover: siteVars.accessibleCyan,\n    indicatorColor: siteVars.colors.white,\n    activeIndicatorColor: siteVars.colors.black,\n    activePrimaryIndicatorColor: siteVars.colors.black,\n    activePrimaryVerticalIndicatorColor: siteVars.colors.black,\n    indicatorColorHover: siteVars.colors.black,\n    primaryIndicatorColorHover: siteVars.colors.black,\n    borderColorFocus: siteVars.colors.black,\n    outlineColorFocus: siteVars.accessibleCyan\n  };\n};\n//# sourceMappingURL=menuVariables.js.map\n","export var radioGroupItemVariables = function radioGroupItemVariables(siteVars) {\n  return {\n    colorDisabled: siteVars.accessibleGreen,\n    textColorDefault: siteVars.colors.white,\n    textColorDefaultHoverFocus: siteVars.colors.white,\n    textColorChecked: siteVars.colors.white,\n    indicatorColorDefault: siteVars.colors.white,\n    indicatorBorderColorDefaultHover: siteVars.accessibleCyan,\n    indicatorBorderColorChecked: siteVars.accessibleCyan,\n    indicatorBackgroundColorChecked: siteVars.accessibleCyan\n  };\n};\n//# sourceMappingURL=radioGroupItemVariables.js.map\n","export var segmentVariables = function segmentVariables(siteVars) {\n  return {\n    disabledColor: siteVars.colors.black,\n    disabledBackgroundColor: siteVars.accessibleGreen\n  };\n};\n//# sourceMappingURL=segmentVariables.js.map\n","export var textVariables = function textVariables(siteVariables) {\n  return {\n    atMentionMeColor: siteVariables.accessibleYellow,\n    atMentionOtherColor: siteVariables.accessibleYellow,\n    disabledColor: siteVariables.accessibleGreen,\n    errorColor: siteVariables.red,\n    importantColor: siteVariables.red,\n    successColor: siteVariables.colors.green[200],\n    timestampColor: siteVariables.colors.white\n  };\n};\n//# sourceMappingURL=textVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var textAreaVariables = function textAreaVariables(siteVars) {\n  return {\n    borderColor: siteVars.bodyColor,\n    borderWidth: pxToRem(1) + \" \" + pxToRem(1) + \" \" + pxToRem(2) + \" \" + pxToRem(1),\n    borderColorFocus: siteVars.colors.white + \" \" + siteVars.colors.white + \" \" + siteVars.colorScheme.brand.borderFocus1 + \" \" + siteVars.colors.white\n  };\n};\n//# sourceMappingURL=textAreaVariables.js.map\n","import { toolbarColorAreas } from '../../../teams/components/Toolbar/toolbarVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var toolbarVariables = function toolbarVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n      default: {\n        foregroundHover: siteVars.colorScheme.brand.foregroundHover,\n        foregroundActive: siteVars.accessibleYellow,\n        menuItemForegroundHover: siteVars.colorScheme.default.foregroundHover,\n        menuItemBackgroundHover: siteVars.colorScheme.default.backgroundHover\n      }\n    }), toolbarColorAreas),\n    borderWidth: '0',\n    borderRadius: undefined,\n    menuBoxShadow: undefined\n  };\n};\n//# sourceMappingURL=toolbarVariables.js.map\n","export var reactionVariables = function reactionVariables(siteVars) {\n  return {\n    meReactingColor: siteVars.accessibleCyan,\n    meReactingColorHover: siteVars.accessibleCyan,\n    otherReactingColor: siteVars.accessibleYellow,\n    otherReactingColorHover: siteVars.accessibleYellow\n  };\n};\n//# sourceMappingURL=reactionVariables.js.map\n","export var providerVariables = function providerVariables(siteVariables) {\n  return {\n    scrollbarThumbBackgroundColor: siteVariables.colors.white,\n    scrollbarThumbHoverBackgroundColor: siteVariables.colors.white\n  };\n};\n//# sourceMappingURL=providerVariables.js.map\n","import { pxToRem } from '../../../../utils';\nexport var dropdownVariables = function dropdownVariables(siteVars) {\n  return {\n    borderColor: siteVars.colorScheme.default.border,\n    borderColorHover: siteVars.colorScheme.default.borderHover,\n    borderWidth: pxToRem(1),\n    listBorderColor: siteVars.colors.white,\n    listBoxShadow: undefined,\n    listBorderWidth: pxToRem(1),\n    listItemSelectedColor: siteVars.accessibleCyan,\n    selectedItemBorder: pxToRem(1) + \" solid \" + siteVars.colors.white\n  };\n};\n//# sourceMappingURL=dropdownVariables.js.map\n","export var labelVariables = function labelVariables(siteVars) {\n  return {\n    foreground: 'rgb(0, 0, 0)',\n    background: 'rgb(255, 255, 255)',\n    blackForeground: siteVars.colorScheme.black.foreground1,\n    blackBackground: siteVars.colorScheme.black.background1,\n    whiteForeground: siteVars.colorScheme.white.foreground1,\n    whiteBackground: siteVars.colorScheme.white.background1,\n    brandForeground: siteVars.colorScheme.brand.foreground5,\n    brandBackground: siteVars.colorScheme.brand.background6,\n    greyForeground: siteVars.colorScheme.grey.foreground1,\n    greyBackground: siteVars.colorScheme.grey.background1,\n    orangeForeground: siteVars.colorScheme.orange.foreground2,\n    orangeBackground: siteVars.colorScheme.orange.background1,\n    redForeground: siteVars.colorScheme.red.foreground1,\n    redBackground: siteVars.colorScheme.red.background,\n    greenForeground: siteVars.colorScheme.green.foreground3,\n    greenBackground: siteVars.colorScheme.green.background1,\n    yellowForeground: siteVars.colorScheme.yellow.foreground3,\n    yellowBackground: siteVars.colorScheme.yellow.background\n  };\n};\n//# sourceMappingURL=labelVariables.js.map\n","export var tooltipContentVariables = function tooltipContentVariables(siteVars) {\n  return {\n    boxShadow: undefined,\n    color: siteVars.colors.black,\n    backgroundColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=tooltipContentVariables.js.map\n","export var datepickerCalendarCellVariables = function datepickerCalendarCellVariables(siteVars) {\n  return {\n    calendarCellSelectedColor: siteVars.colors.black,\n    calendarCellHoverColor: siteVars.colors.black,\n    calendarCellTodayColor: siteVars.colors.black,\n    calendarCellQuietColor: siteVars.colors.white,\n    calendarCellDisabledColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=datepickerCalendarCellVariables.js.map\n","export var datepickerCalendarCellButtonVariables = function datepickerCalendarCellButtonVariables(siteVars) {\n  return {\n    calendarCellSelectedColor: siteVars.colors.black,\n    calendarCellHoverColor: siteVars.colors.black,\n    calendarCellTodayColor: siteVars.colors.black,\n    calendarCellQuietColor: siteVars.colors.white,\n    calendarCellDisabledColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=datepickerCalendarCellButtonVariables.js.map\n","import { mergeThemes, createTheme } from '@fluentui/styles';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nimport { teamsTheme } from '../teams';\nexport var teamsHighContrastTheme = mergeThemes(teamsTheme, createTheme({\n  siteVariables: siteVariables,\n  componentVariables: componentVariables\n}, 'teams-high-contrast'));\n//# sourceMappingURL=index.js.map\n","import { categoryColors, colors } from '../teams/siteVariables';\nimport { createColorScheme } from '../teams/colors';\nexport var colorScheme = /*#__PURE__*/function () {\n  var colorScheme = {\n    default: createColorScheme({\n      foreground: colors.white,\n      foreground1: colors.grey[250],\n      foreground2: colors.grey[300],\n      foreground3: colors.white,\n      foreground4: colors.white,\n      foreground5: colors.grey[450],\n      foreground6: colors.grey[550],\n      foreground7: colors.white,\n      foreground8: colors.grey[200],\n      background: colors.grey[650],\n      background1: colors.grey[700],\n      background2: colors.grey[800],\n      background3: colors.grey[550],\n      background4: colors.grey[600],\n      background5: colors.grey[250],\n      background6: colors.grey[900],\n      border: colors.grey[450],\n      // buttons\n      border1: colors.grey[850],\n      border2: colors.grey[900],\n      border3: colors.grey[650],\n      shadow: colors.black,\n      // opacity 25%\n      shadowHover: colors.black,\n      // opacity 25%\n      foregroundHover: colors.white,\n      foregroundHover1: colors.white,\n      foregroundHover2: colors.white,\n      backgroundHover: colors.grey[550],\n      backgroundHover1: colors.grey[550],\n      backgroundHover2: 'transparent',\n      backgroundHover3: colors.grey[850],\n      backgroundHover4: colors.grey[600],\n      borderHover: colors.grey[400],\n      foregroundPressed: colors.white,\n      backgroundPressed: colors.grey[500],\n      backgroundPressed3: colors.grey[450],\n      borderPressed: colors.grey[400],\n      foregroundActive: colors.white,\n      foregroundActive1: colors.white,\n      backgroundActive: colors.grey[800],\n      backgroundActive1: colors.grey[500],\n      backgroundActive2: colors.grey[600],\n      borderActive: colors.grey[450],\n      // buttons\n      borderActive1: colors.grey[850],\n      borderActive2: colors.grey[900],\n      borderActive3: colors.grey[650],\n      borderActive4: colors.grey[440],\n      foregroundFocus: colors.white,\n      foregroundFocus1: colors.grey[250],\n      foregroundFocus2: colors.grey[300],\n      foregroundFocus3: colors.white,\n      backgroundFocus: colors.grey[650],\n      backgroundFocus1: colors.grey[700],\n      backgroundFocus2: colors.grey[800],\n      backgroundFocus3: colors.grey[550],\n      borderFocusWithin: colors.black,\n      borderFocus: colors.white,\n      foregroundDisabled1: colors.grey[450],\n      foregroundDisabled: colors.grey[450],\n      backgroundDisabled: colors.grey[550],\n      backgroundDisabled1: colors.grey[550],\n      backgroundDisabled2: colors.grey[650],\n      backgroundDisabled3: colors.grey[850],\n      borderDisabled: colors.grey[550]\n    }),\n    brand: createColorScheme({\n      foreground: colors.brand[400],\n      foreground1: colors.brand[400],\n      foreground2: colors.brand[400],\n      foreground3: colors.brand[200],\n      foreground4: colors.white,\n      foreground5: colors.grey[750],\n      background: colors.brand[600],\n      background1: colors.brand[900],\n      background2: colors.brand[900],\n      background3: colors.brand[1000],\n      background4: colors.grey[650],\n      background5: colors.brand[900],\n      background6: colors.brand[450],\n      border: colors.grey[450],\n      border1: colors.brand[800],\n      border2: colors.brand[800],\n      shadow: colors.black,\n      // opacity 25%\n      shadowHover: colors.black,\n      foregroundHover: colors.brand[400],\n      foregroundHover1: colors.white,\n      foregroundHover2: colors.brand[200],\n      borderHover: colors.brand[600],\n      backgroundHover: colors.brand[500],\n      backgroundHover1: colors.brand[900],\n      backgroundHover2: colors.brand[900],\n      foregroundPressed: colors.brand[200],\n      foregroundPressed1: colors.white,\n      backgroundPressed: colors.brand[700],\n      backgroundPressed1: colors.brand[800],\n      borderPressed: colors.brand[800],\n      foregroundActive: colors.brand[400],\n      foregroundActive1: colors.brand[400],\n      foregroundActive2: colors.brand[200],\n      backgroundActive: colors.brand[400],\n      backgroundActive1: colors.brand[400],\n      // active border no change (just copied)\n      borderActive: colors.grey[450],\n      // buttons\n      borderActive1: colors.brand[800],\n      borderActive2: colors.brand[800],\n      foregroundFocus: colors.brand[400],\n      foregroundFocus1: colors.brand[400],\n      foregroundFocus2: colors.brand[400],\n      foregroundFocus3: colors.brand[200],\n      foregroundFocus4: colors.white,\n      backgroundFocus: colors.brand[600],\n      backgroundFocus1: colors.brand[900],\n      backgroundFocus2: colors.brand[900],\n      backgroundFocus3: colors.brand[1000],\n      borderFocus: colors.white,\n      borderFocusWithin: colors.black,\n      borderFocus1: colors.brand[400],\n      // only input\n      foregroundDisabled1: colors.grey[450],\n      foregroundDisabled: colors.grey[450],\n      backgroundDisabled1: colors.grey[550],\n      backgroundDisabled: colors.grey[550],\n      backgroundDisabled2: colors.grey[650],\n      borderDisabled: colors.grey[550]\n    }),\n    black: {\n      foreground: colors.black,\n      foreground1: colors.grey[750],\n      background: colors.white,\n      background1: colors.white,\n      border: colors.black,\n      shadow: colors.black,\n      foregroundHover: colors.white,\n      backgroundHover: colors.black,\n      borderHover: colors.black,\n      shadowHover: colors.black,\n      foregroundActive: colors.white,\n      backgroundActive: colors.black,\n      borderActive: colors.black,\n      shadowActive: colors.black,\n      foregroundFocus: colors.white,\n      backgroundFocus: colors.black,\n      borderFocus: colors.black,\n      shadowFocus: colors.black,\n      foregroundPressed: colors.white,\n      backgroundPressed: colors.black,\n      borderPressed: colors.black,\n      shadowPressed: colors.black,\n      foregroundDisabled: colors.white,\n      backgroundDisabled: colors.black,\n      borderDisabled: colors.black,\n      shadowDisabled: colors.black\n    },\n    white: {\n      foreground: colors.white,\n      foreground1: colors.white,\n      background: colors.black,\n      background1: colors.grey[700],\n      border: colors.white,\n      shadow: colors.white,\n      foregroundHover: colors.black,\n      backgroundHover: colors.white,\n      borderHover: colors.white,\n      shadowHover: colors.white,\n      foregroundActive: colors.black,\n      backgroundActive: colors.white,\n      borderActive: colors.white,\n      shadowActive: colors.white,\n      foregroundFocus: colors.black,\n      backgroundFocus: colors.white,\n      borderFocus: colors.white,\n      shadowFocus: colors.white,\n      foregroundPressed: colors.black,\n      backgroundPressed: colors.white,\n      borderPressed: colors.white,\n      shadowPressed: colors.white,\n      foregroundDisabled: colors.black,\n      backgroundDisabled: colors.white,\n      borderDisabled: colors.white,\n      shadowDisabled: colors.white\n    },\n    green: createColorScheme({\n      foreground: colors.green[200],\n      foreground1: colors.grey[800],\n      foreground2: colors.green[200],\n      foreground3: colors.green[750],\n      background: colors.green[200],\n      background1: colors.green[200],\n      background2: colors.green[800],\n      border: colors.green[900]\n    }),\n    orange: createColorScheme({\n      foreground: colors.orange[300],\n      foreground1: colors.orange[300],\n      foreground2: colors.grey[750],\n      background: colors.orange[300],\n      background1: colors.orange[300],\n      border: colors.grey[400]\n    }),\n    pink: createColorScheme({\n      foreground: colors.pink[200],\n      foreground1: colors.pink[400],\n      background: colors.pink[800],\n      border: colors.pink[900]\n    }),\n    red: createColorScheme({\n      foreground: colors.red[200],\n      foreground1: colors.white,\n      foreground2: colors.grey[800],\n      background: colors.red[300],\n      background1: colors.red[800],\n      background2: colors.ruby[500],\n      background3: colors.red[400],\n      border: colors.red[900],\n      foregroundHover: colors.white,\n      backgroundHover: colors.ruby[600],\n      backgroundHover1: colors.red[400],\n      foregroundPressed: colors.white,\n      backgroundPressed: colors.ruby[700]\n    }),\n    yellow: createColorScheme({\n      foreground: colors.yellow[300],\n      foreground1: colors.grey[800],\n      foreground2: colors.grey[800],\n      foreground3: colors.grey[750],\n      foreground4: colors.yellow[200],\n      background: colors.yellow[400],\n      background1: colors.grey[450],\n      background2: colors.yellow[500],\n      background3: colors.yellow[800],\n      border: colors.yellow[900]\n    }),\n    silver: createColorScheme({\n      foreground: colors.white,\n      foreground1: colors.silver[200],\n      foregroundHover: colors.white,\n      foregroundPressed: colors.white,\n      border: colors.silver[600],\n      background: 'transparent',\n      backgroundHover: colors.silver[800],\n      borderHover: colors.silver[600],\n      backgroundPressed: colors.silver[700],\n      borderPressed: colors.silver[600],\n      foregroundDisabled: colors.silver[600],\n      backgroundDisabled: colors.silver[900]\n    }),\n    onyx: createColorScheme({\n      background: colors.onyx[500],\n      background1: colors.onyx[100],\n      background2: colors.onyx[500],\n      background3: colors.onyx[700],\n      backgroundHover: colors.onyx[900],\n      backgroundPressed: colors.onyx[900],\n      border: colors.onyx[800],\n      border1: 'transparent',\n      border2: colors.silver[400]\n    }),\n    amethyst: createColorScheme({\n      background: colors.onyx[200],\n      backgroundHover: colors.amethyst[700],\n      backgroundHover1: colors.grey[750],\n      backgroundActive: colors.amethyst[700]\n    })\n  };\n  colorScheme.grey = colorScheme.default;\n  return colorScheme;\n}();\n\nvar createCategoryColorScheme = function createCategoryColorScheme(color, customValues) {\n  if (customValues === void 0) {\n    customValues = {};\n  }\n\n  return Object.assign({\n    foreground: categoryColors[color][250],\n    foreground1: categoryColors[color][550],\n    background: categoryColors[color][800],\n    borderActive: categoryColors[color][350]\n  }, customValues);\n};\n\nexport var categoryColorScheme = {\n  redDark: createCategoryColorScheme('redDark'),\n  red: createCategoryColorScheme('red'),\n  orangeDark: createCategoryColorScheme('orangeDark'),\n  orange: createCategoryColorScheme('orange'),\n  orangeLight: createCategoryColorScheme('orangeLight'),\n  yellowDark: createCategoryColorScheme('yellowDark'),\n  yellow: createCategoryColorScheme('yellow'),\n  brown: createCategoryColorScheme('brown'),\n  oliveDark: createCategoryColorScheme('oliveDark'),\n  olive: createCategoryColorScheme('olive'),\n  greenDark: createCategoryColorScheme('greenDark'),\n  green: createCategoryColorScheme('green'),\n  tealDark: createCategoryColorScheme('tealDark'),\n  teal: createCategoryColorScheme('teal'),\n  tealLight: createCategoryColorScheme('tealLight'),\n  blueDark: createCategoryColorScheme('blueDark'),\n  blue: createCategoryColorScheme('blue'),\n  purpleDark: createCategoryColorScheme('purpleDark'),\n  purple: createCategoryColorScheme('purple'),\n  maroon: createCategoryColorScheme('maroon'),\n  pink: createCategoryColorScheme('pink'),\n  smokeDark: createCategoryColorScheme('smokeDark'),\n  smokeLight: createCategoryColorScheme('smokeLight'),\n  steelDark: createCategoryColorScheme('steelDark'),\n  steelLight: createCategoryColorScheme('steelLight'),\n  neon: createCategoryColorScheme('neon'),\n  formatting: {\n    foreground1: categoryColors.red[250],\n    background1: categoryColors.red[700],\n    foreground2: categoryColors.orangeDark[350],\n    background2: categoryColors.orange[700],\n    foreground3: categoryColors.yellow[250],\n    background3: categoryColors.yellow[800],\n    foreground4: categoryColors.neon[150],\n    background4: categoryColors.neon[800],\n    foreground5: categoryColors.green[250],\n    background5: categoryColors.green[700],\n    foreground6: categoryColors.tealLight[250],\n    background6: categoryColors.tealLight[700],\n    foreground7: categoryColors.blueDark[250],\n    background7: categoryColors.blueDark[450],\n    foreground8: categoryColors.maroon[350],\n    background8: categoryColors.maroon[800]\n  }\n};\n//# sourceMappingURL=colors.js.map\n","import { colors } from '../teams/siteVariables';\nexport { colorScheme, categoryColorScheme } from './colors'; //\n// BORDER STYLES\n//\n\nexport var focusInnerBorderColor = colors.black;\nexport var focusOuterBorderColor = colors.white; //\n// SHADOW LEVELS\n//\n\nexport var shadowLevel1 = '0 .2rem .4rem -.075rem rgba(0, 0, 0, .25)';\nexport var shadowLevel2 = '0 .4rem 0.7rem -0.1rem rgba(0, 0, 0, .25)';\nexport var shadowLevel3 = '0 .8rem 1rem -0.2rem rgba(0, 0, 0, .25)';\nexport var shadowLevel4 = '0 .6rem 1.8rem -0.4rem rgba(0, 0, 0, .25)'; //\n// SEMANTIC ASSIGNMENTS\n//\n\nexport var bodyBackground = colors.grey[650];\nexport var bodyColor = colors.white;\n//# sourceMappingURL=siteVariables.js.map\n","export var avatarVariables = function avatarVariables(siteVariables) {\n  return {\n    iconColor: siteVariables.colors.grey[800],\n    iconBackgroundColor: siteVariables.colors.brand[400]\n  };\n};\n//# sourceMappingURL=avatarVariables.js.map\n","export var chatVariables = function chatVariables(siteVars) {\n  return {\n    backgroundColor: siteVars.colors.grey[800]\n  };\n};\n//# sourceMappingURL=chatVariables.js.map\n","export var chatMessageVariables = function chatMessageVariables(siteVars) {\n  return {\n    backgroundColor: siteVars.colors.grey[600],\n    backgroundColorMine: siteVars.colors.brand[900],\n    authorColor: siteVars.colors.grey[250],\n    contentColor: siteVars.colors.white,\n    color: siteVars.colors.white,\n    timestampColorMine: siteVars.colors.grey[250],\n    hasMentionNubbinColor: siteVars.colors.orange[300],\n    isImportantColor: siteVars.colors.red[300]\n  };\n};\n//# sourceMappingURL=chatMessageVariables.js.map\n","export var dialogVariables = function dialogVariables(siteVars) {\n  return {\n    rootBackground: siteVars.colors.grey[650],\n    foregroundColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=dialogVariables.js.map\n","import { dividerColorAreas } from '../../../teams/components/Divider/dividerVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var dividerVariables = function dividerVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n      brand: {\n        foreground: siteVars.colors.brand[400],\n        border: siteVars.colors.brand[400]\n      }\n    }), dividerColorAreas),\n    textColor: siteVars.colors.grey[250],\n    dividerColor: siteVars.colors.grey[550]\n  };\n};\n//# sourceMappingURL=dividerVariables.js.map\n","export var headerVariables = function headerVariables(siteVars) {\n  return {\n    color: siteVars.colors.white,\n    descriptionColor: siteVars.colors.grey[250]\n  };\n};\n//# sourceMappingURL=headerVariables.js.map\n","export var headerDescriptionVariables = function headerDescriptionVariables(siteVariables) {\n  return {\n    color: siteVariables.colors.grey[250]\n  };\n};\n//# sourceMappingURL=headerDescriptionVariables.js.map\n","export var radioGroupItemVariables = function radioGroupItemVariables(siteVars) {\n  return {\n    colorDisabled: siteVars.colors.grey[450],\n    textColorDefault: siteVars.colors.grey[250],\n    textColorDefaultHoverFocus: siteVars.colors.white,\n    textColorChecked: siteVars.colors.white,\n    indicatorColorDefault: siteVars.colors.grey[250],\n    indicatorBorderColorDefaultHover: siteVars.colors.white,\n    indicatorBorderColorChecked: siteVars.colors.brand[400],\n    indicatorBackgroundColorChecked: siteVars.colors.brand[400]\n  };\n};\n//# sourceMappingURL=radioGroupItemVariables.js.map\n","export var segmentVariables = function segmentVariables(siteVars) {\n  return {\n    disabledColor: siteVars.colors.grey[450],\n    disabledBackgroundColor: siteVars.colors.grey[550]\n  };\n};\n//# sourceMappingURL=segmentVariables.js.map\n","export var textVariables = function textVariables(siteVariables) {\n  return {\n    atMentionMeColor: siteVariables.colors.orange[300],\n    atMentionOtherColor: siteVariables.colors.brand[400],\n    disabledColor: siteVariables.colors.grey[450],\n    errorColor: siteVariables.colors.red[300],\n    importantColor: siteVariables.colors.red[300],\n    successColor: siteVariables.colors.green[200],\n    timestampColor: siteVariables.colors.grey[400]\n  };\n};\n//# sourceMappingURL=textVariables.js.map\n","import { menuColorAreas } from '../../../teams/components/Menu/menuVariables';\nimport { extendColorScheme, pickValuesFromColorScheme } from '../../../colorUtils';\nexport var menuVariables = function menuVariables(siteVars) {\n  return {\n    colorScheme: pickValuesFromColorScheme(extendColorScheme(siteVars.colorScheme, {\n      default: {\n        borderActive: siteVars.colors.grey[600],\n        backgroundFocus: siteVars.colors.grey[500],\n        backgroundActive: siteVars.colorScheme.default.backgroundActive1,\n        foregroundDisabled: siteVars.colorScheme.default.foregroundDisabled1\n      },\n      brand: {\n        foregroundHover: siteVars.colors.white,\n        backgroundHover: siteVars.colors.brand[300],\n        borderActive: siteVars.colors.brand[400],\n        foregroundActive: siteVars.colors.white,\n        foregroundFocus: siteVars.colors.white,\n        backgroundFocus: siteVars.colors.brand[300],\n        foregroundDisabled: siteVars.colorScheme.brand.foregroundDisabled1\n      }\n    }), menuColorAreas),\n    color: siteVars.colors.grey[250],\n    colorActive: siteVars.colors.white,\n    borderColor: siteVars.colorScheme.default.border2,\n    primaryBorderColor: siteVars.colors.grey[600],\n    pointingIndicatorBackgroundColor: siteVars.colors.brand[400],\n    activeUnderlinedBorderBottomColor: siteVars.colors.white,\n    activeUnderlinedPrimaryColor: siteVars.colors.brand[400],\n    verticalBackgroundColorFocus: siteVars.colors.grey[550],\n    iconOnlyColorActive: siteVars.colors.brand[400],\n    iconOnlyColorFocus: siteVars.colors.brand[400],\n    iconOnlyColorHover: siteVars.colors.brand[400],\n    wrapperColorActive: siteVars.colors.grey[250],\n    wrapperColorFocus: siteVars.colors.white,\n    wrapperColorHover: siteVars.colors.white,\n    primaryIndicatorColorHover: siteVars.colors.white,\n    wrapperBackgroundColorFocus: siteVars.colors.brand[400],\n    underlinedWrapperColorHover: siteVars.colors.white,\n    primaryWrapperColorFocus: siteVars.colors.white,\n    primaryWrapperBackgroundColorFocus: siteVars.colors.brand[400],\n    indicatorColor: siteVars.colors.grey[250],\n    activeIndicatorColor: siteVars.colors.white,\n    activePrimaryIndicatorColor: siteVars.colors.white,\n    activePrimaryVerticalIndicatorColor: siteVars.colors.white,\n    indicatorColorHover: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=menuVariables.js.map\n","export var svgIconVariables = function svgIconVariables(siteVars) {\n  return {\n    disabledColor: siteVars.colors.grey[450]\n  };\n};\n//# sourceMappingURL=svgIconVariables.js.map\n","export var reactionVariables = function reactionVariables(siteVars) {\n  return {\n    meReactingColor: siteVars.colors.brand[400],\n    meReactingColorHover: siteVars.colors.brand[300],\n    otherReactingColor: siteVars.colors.grey[300],\n    otherReactingColorHover: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=reactionVariables.js.map\n","export var providerVariables = function providerVariables(siteVariables) {\n  return {\n    scrollbarThumbBackgroundColor: siteVariables.colors.silver[500],\n    scrollbarThumbHoverBackgroundColor: siteVariables.colors.silver[500]\n  };\n};\n//# sourceMappingURL=providerVariables.js.map\n","export var labelVariables = function labelVariables(siteVars) {\n  return {\n    foreground: 'rgba(45, 44, 44, 1)',\n    background: 'rgb(255, 255, 255)',\n    blackForeground: siteVars.colorScheme.black.foreground1,\n    blackBackground: siteVars.colorScheme.black.background1,\n    whiteForeground: siteVars.colorScheme.white.foreground1,\n    whiteBackground: siteVars.colorScheme.white.background1,\n    brandForeground: siteVars.colorScheme.brand.foreground5,\n    brandBackground: siteVars.colorScheme.brand.background6,\n    greyForeground: siteVars.colorScheme.grey.foreground7,\n    greyBackground: siteVars.colorScheme.grey.background6,\n    orangeForeground: siteVars.colorScheme.orange.foreground2,\n    orangeBackground: siteVars.colorScheme.orange.background1,\n    redForeground: siteVars.colorScheme.red.foreground1,\n    redBackground: siteVars.colorScheme.red.background,\n    greenForeground: siteVars.colorScheme.green.foreground3,\n    greenBackground: siteVars.colorScheme.green.background1,\n    yellowForeground: siteVars.colorScheme.yellow.foreground3,\n    yellowBackground: siteVars.colorScheme.yellow.background\n  };\n};\n//# sourceMappingURL=labelVariables.js.map\n","export var datepickerCalendarCellVariables = function datepickerCalendarCellVariables(siteVars) {\n  return {\n    calendarCellSelectedColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=datepickerCalendarCellVariables.js.map\n","export var datepickerCalendarCellButtonVariables = function datepickerCalendarCellButtonVariables(siteVars) {\n  return {\n    calendarCellSelectedColor: siteVars.colors.white\n  };\n};\n//# sourceMappingURL=datepickerCalendarCellButtonVariables.js.map\n","import { createTheme, mergeThemes } from '@fluentui/styles';\nimport * as siteVariables from './siteVariables';\nimport * as componentVariables from './componentVariables';\nimport { teamsTheme } from '../teams';\nexport var teamsDarkTheme = mergeThemes(teamsTheme, createTheme({\n  siteVariables: siteVariables,\n  componentVariables: componentVariables\n}, 'teams-dark'));\n//# sourceMappingURL=index.js.map\n","import { withDebugId } from './withDebugId';\nexport var createTheme = function createTheme(themeInput, debugId) {\n  return withDebugId(themeInput, debugId);\n};\n//# sourceMappingURL=createTheme.js.map\n","/** Raises a click event. */\nexport function raiseClick(target) {\n    var event = createNewEvent('MouseEvents');\n    event.initEvent('click', true, true);\n    target.dispatchEvent(event);\n}\nfunction createNewEvent(eventName) {\n    var event;\n    if (typeof Event === 'function') {\n        // Chrome, Opera, Firefox\n        event = new Event(eventName);\n    }\n    else {\n        // IE\n        event = document.createEvent('Event');\n        event.initEvent(eventName, true, true);\n    }\n    return event;\n}\n//# sourceMappingURL=raiseClick.js.map","import _uniqueId from \"lodash/uniqueId\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isNil from \"lodash/isNil\";\nimport * as React from 'react';\nexport var getOrGenerateIdFromShorthand = function getOrGenerateIdFromShorthand(prefix, value, currentValue) {\n  if (_isNil(value)) {\n    return undefined;\n  }\n\n  var result;\n\n  if ( /*#__PURE__*/React.isValidElement(value)) {\n    result = value.props.id;\n  } else if (_isPlainObject(value)) {\n    result = value.id;\n  }\n\n  return result || currentValue || _uniqueId(prefix);\n};\n//# sourceMappingURL=getOrGenerateIdFromShorthand.js.map\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport function partitionPopperPropsFromShorthand(value) {\n  if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n    var _ref = value,\n        popper = _ref.popper,\n        props = _objectWithoutPropertiesLoose(_ref, [\"popper\"]);\n\n    return [props, popper];\n  }\n\n  return [value, {}];\n}\n//# sourceMappingURL=partitionPopperPropsFromShorthand.js.map\n","import * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './utils';\n/**\n * This hook returns context selected value by selectors.\n * It will only accept context created by `createContext`.\n * It will trigger re-render if only the selected value is referencially changed.\n */\n\nexport var useContextSelectors = function useContextSelectors(context, selectors) {\n  var contextValue = React.useContext(context);\n  var value = contextValue.value.current,\n      version = contextValue.version.current,\n      listeners = contextValue.listeners;\n  var selected = {};\n  Object.keys(selectors).forEach(function (key) {\n    selected[key] = selectors[key](value);\n  });\n\n  var _React$useReducer = React.useReducer(function (prevState, payload) // from provider effect\n  {\n    if (!payload) {\n      // early bail out when is dispatched during render\n      return [value, selected];\n    }\n\n    if (payload[0] <= version) {\n      var stateHasNotChanged = Object.keys(selectors).every(function (key) {\n        return Object.is(prevState[1][key], selected[key]);\n      });\n\n      if (stateHasNotChanged) {\n        return prevState; // bail out\n      }\n\n      return [value, selected];\n    }\n\n    try {\n      var statePayloadHasChanged = Object.keys(prevState[0]).some(function (key) {\n        return !Object.is(prevState[0]\n        /* previous contextValue */\n        [key], payload[1]\n        /* current contextValue */\n        [key]);\n      });\n\n      if (!statePayloadHasChanged) {\n        return prevState;\n      }\n\n      var nextSelected = {};\n      Object.keys(selectors).forEach(function (key) {\n        nextSelected[key] = selectors[key](payload[1]);\n      });\n      var selectedHasNotChanged = Object.keys(selectors).every(function (key) {\n        return Object.is(prevState[1][key]\n        /* previous { [key]: selector(value) } */\n        , nextSelected[key]);\n      });\n\n      if (selectedHasNotChanged) {\n        return prevState;\n      }\n\n      return [payload[1], nextSelected];\n    } catch (e) {// ignored (stale props or some other reason)\n    }\n\n    return [].concat(prevState); // schedule update\n  }, [value, selected]),\n      state = _React$useReducer[0],\n      dispatch = _React$useReducer[1]; // schedule re-render when selected context is updated\n\n\n  var hasSelectedValuesUpdates = Object.keys(selectors).find(function (key) {\n    return !Object.is(state[1]\n    /* previous { [key]: selector(value) } */\n    [key], selected[key]);\n  });\n\n  if (hasSelectedValuesUpdates !== undefined) {\n    dispatch(undefined);\n  }\n\n  useIsomorphicLayoutEffect(function () {\n    listeners.push(dispatch);\n    return function () {\n      var index = listeners.indexOf(dispatch);\n      listeners.splice(index, 1);\n    };\n  }, [listeners]);\n  return state[1];\n};\n//# sourceMappingURL=useContextSelectors.js.map\n","import { isBrowser } from './isBrowser'; // Taken from https://github.com/ten1seven/what-input/blob/master/src/scripts/what-input.js\n\n/* eslint-disable */\n\n/*\n * variables\n */\n// last used input type\n\nvar currentInput = 'initial'; // event buffer timer\n\nvar eventTimer = null; // list of modifier keys commonly used with the mouse and\n// can be safely ignored to prevent false keyboard detection\n\nvar ignoreMap = [16, // shift\n17, // control\n18, // alt\n91, // Windows key / left Apple cmd\n93 // Windows menu / right Apple cmd\n]; // used to count how many Providers needed to initialize whatinput.\n\nvar whatInputInitialized = 'whatInputInitialized'; // mapping of events to input types\n\nvar inputMap = {\n  keydown: 'keyboard',\n  keyup: 'keyboard',\n  mousedown: 'mouse',\n  mousemove: 'mouse',\n  MSPointerDown: 'pointer',\n  MSPointerMove: 'pointer',\n  pointerdown: 'pointer',\n  pointermove: 'pointer',\n  touchstart: 'touch'\n}; // boolean: true if touch buffer is active\n\nvar isBuffering = false; // map of IE 10 pointer events\n\nvar pointerMap = {\n  2: 'touch',\n  3: 'touch',\n  // treat pen like touch\n  4: 'mouse'\n}; // check support for passive event listeners\n\nvar supportsPassive = false;\n\ntry {\n  var opts = Object.defineProperty({}, 'passive', {\n    get: function get() {\n      supportsPassive = true;\n    }\n  });\n  window.addEventListener('test', null, opts);\n} catch (e) {}\n/*\n * set up\n */\n\n\nvar setUp = function setUp() {\n  // add correct mouse wheel event mapping to `inputMap`\n  inputMap[detectWheel()] = 'mouse';\n  addListeners(window);\n  doUpdate(window.document);\n};\n/*\n * events\n */\n\n\nvar addListeners = function addListeners(eventTarget) {\n  // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n  // can only demonstrate potential, but not actual, interaction\n  // and are treated separately\n  var options = supportsPassive ? {\n    passive: true,\n    capture: true\n  } : true; // pointer events (mouse, pen, touch)\n  // @ts-ignore\n\n  if (eventTarget.PointerEvent) {\n    eventTarget.addEventListener('pointerdown', setInput); // @ts-ignore\n  } else if (window.MSPointerEvent) {\n    eventTarget.addEventListener('MSPointerDown', setInput);\n  } else {\n    // mouse events\n    eventTarget.addEventListener('mousedown', setInput, true); // touch events\n\n    if ('ontouchstart' in eventTarget) {\n      eventTarget.addEventListener('touchstart', eventBuffer, options);\n      eventTarget.addEventListener('touchend', setInput, true);\n    }\n  } // keyboard events\n\n\n  eventTarget.addEventListener('keydown', eventBuffer, true);\n  eventTarget.addEventListener('keyup', eventBuffer, true);\n}; // checks conditions before updating new input\n\n\nvar setInput = function setInput(event) {\n  // only execute if the event buffer timer isn't running\n  if (!isBuffering) {\n    var eventKey = event.which;\n    var value = inputMap[event.type];\n\n    if (value === 'pointer') {\n      value = pointerType(event);\n    }\n\n    var ignoreMatch = ignoreMap.indexOf(eventKey) === -1;\n    var shouldUpdate = value === 'keyboard' && eventKey && ignoreMatch || value === 'mouse' || value === 'touch';\n\n    if (currentInput !== value && shouldUpdate) {\n      currentInput = value;\n      doUpdate(event.view.document);\n    }\n  }\n}; // updates the doc and `inputTypes` array with new input\n\n\nvar doUpdate = function doUpdate(target) {\n  target.documentElement.setAttribute(\"data-whatinput\", currentInput);\n}; // buffers events that frequently also fire mouse events\n\n\nvar eventBuffer = function eventBuffer(event) {\n  // set the current input\n  setInput(event); // clear the timer if it happens to be running\n\n  window.clearTimeout(eventTimer); // set the isBuffering to `true`\n\n  isBuffering = true; // run the timer\n\n  eventTimer = window.setTimeout(function () {\n    // if the timer runs out, set isBuffering back to `false`\n    isBuffering = false;\n  }, 100);\n};\n/*\n * utilities\n */\n\n\nvar pointerType = function pointerType(event) {\n  if (typeof event.pointerType === 'number') {\n    return pointerMap[event.pointerType];\n  } // treat pen like touch\n\n\n  return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n}; // detect version of mouse wheel event to use\n// via https://developer.mozilla.org/en-US/docs/Web/Events/wheel\n\n\nvar detectWheel = function detectWheel() {\n  var wheelType; // Modern browsers support \"wheel\"\n\n  if ('onwheel' in document.createElement('div')) {\n    wheelType = 'wheel';\n  } else {\n    // Webkit and IE support at least \"mousewheel\"\n    // or assume that remaining browsers are older Firefox\n    wheelType = // @ts-ignore\n    document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n  }\n\n  return wheelType;\n}; // don't start script unless browser cuts the mustard\n// (also passes if polyfills are used)\n\n\nif (isBrowser() && 'addEventListener' in window && Array.prototype.indexOf) {\n  setUp();\n}\n/*\n * set up for document\n */\n\n\nexport var setUpWhatInput = function setUpWhatInput(target) {\n  var targetWindow = target.defaultView;\n\n  if (isBrowser() && targetWindow && 'addEventListener' in targetWindow && Array.prototype.indexOf) {\n    var initializedTimes = target[whatInputInitialized];\n\n    if (typeof initializedTimes === 'number' && initializedTimes > 0) {\n      target[whatInputInitialized] = initializedTimes + 1;\n      return;\n    }\n\n    target[whatInputInitialized] = 1;\n    addListeners(targetWindow);\n    doUpdate(target);\n  }\n};\n\nfunction cleanupWhatInput(eventTarget) {\n  var options = supportsPassive ? {\n    capture: true\n  } : true; // @ts-ignore\n\n  if (eventTarget.PointerEvent) {\n    eventTarget.removeEventListener('pointerdown', setInput); // @ts-ignore\n  } else if (window.MSPointerEvent) {\n    eventTarget.removeEventListener('MSPointerDown', setInput);\n  } else {\n    // mouse events\n    eventTarget.removeEventListener('mousedown', setInput, true); // touch events\n\n    if ('ontouchstart' in eventTarget) {\n      eventTarget.removeEventListener('touchstart', eventBuffer, options);\n      eventTarget.removeEventListener('touchend', setInput, true);\n    }\n  } // keyboard events\n\n\n  eventTarget.removeEventListener('keydown', eventBuffer, true);\n  eventTarget.removeEventListener('keyup', eventBuffer, true);\n}\n\nexport var tryCleanupWhatInput = function tryCleanupWhatInput(target) {\n  var targetWindow = target.defaultView;\n\n  if (isBrowser() && targetWindow && 'removeEventListener' in targetWindow) {\n    if (target[whatInputInitialized] === 1) {\n      delete target[whatInputInitialized];\n      cleanupWhatInput(targetWindow);\n    } else {\n      target[whatInputInitialized] = target[whatInputInitialized] - 1;\n    }\n  }\n};\nexport var setWhatInputSource = function setWhatInputSource(target, newInput) {\n  currentInput = newInput;\n  doUpdate(target);\n}; // returns string: the current input type\n// returns the same value as the `data-whatinput` attribute\n\nexport var ask = function ask() {\n  return currentInput;\n};\nexport var isFromKeyboard = function isFromKeyboard() {\n  return ask() === 'keyboard';\n};\n//# sourceMappingURL=whatInput.js.map\n","import * as React from 'react';\n\nvar getDefinedProps = function getDefinedProps(props) {\n  var definedProps = {};\n  Object.keys(props).forEach(function (propName) {\n    if (props[propName] !== undefined) {\n      definedProps[propName] = props[propName];\n    }\n  });\n  return definedProps;\n};\n\nexport var useStateManager = function useStateManager(managerFactory, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$mapPropsToIn = _options.mapPropsToInitialState,\n      mapPropsToInitialState = _options$mapPropsToIn === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToIn,\n      _options$mapPropsToSt = _options.mapPropsToState,\n      mapPropsToState = _options$mapPropsToSt === void 0 ? function () {\n    return {};\n  } : _options$mapPropsToSt,\n      _options$sideEffects = _options.sideEffects,\n      sideEffects = _options$sideEffects === void 0 ? [] : _options$sideEffects;\n  var latestActions = React.useMemo(function () {\n    return {};\n  }, // The change of `managerFactory` should trigger recreation of `latestActions` as they can be different between\n  // managers\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [managerFactory]);\n  var latestManager = React.useRef(null); // Heads up! forceUpdate() is used only for triggering rerenders, stateManager is SSOT\n\n  var _ref = React.useReducer(function (c) {\n    return c + 1;\n  }, 0),\n      forceUpdate = _ref[1]; // If manager exists, the current state will be used\n\n\n  var initialState = latestManager.current ? latestManager.current.state : getDefinedProps(mapPropsToInitialState());\n  latestManager.current = managerFactory({\n    // Factory has already configured actions\n    actions: {},\n    state: Object.assign({}, initialState, getDefinedProps(mapPropsToState())),\n    sideEffects: [].concat(sideEffects, [// `sideEffect` is called with two arguments, but hooks don't support the second callback\n    // argument\n    function () {\n      return forceUpdate();\n    }])\n  }); // We need to keep the same reference to an object with actions to allow usage them as\n  // a dependency in useCallback() hook\n\n  Object.assign(latestActions, latestManager.current.actions); // For development environments we disallow ability to extend object with other properties to\n  // avoid misusage\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (Object.isExtensible(latestActions)) Object.preventExtensions(latestActions);\n  } // We need to pass exactly `manager.state` to provide the same state object during the same render\n  // frame.\n  // It keeps behavior consistency between React state tools and our managers\n  // https://github.com/facebook/react/issues/11527#issuecomment-360199710\n  // Object.freeze() is used only in dev-mode to avoid usage mistakes\n\n\n  return {\n    state: process.env.NODE_ENV === 'production' ? latestManager.current.state : Object.freeze(latestManager.current.state),\n    actions: latestActions\n  };\n};\n//# sourceMappingURL=useStateManager.js.map\n","import _includes from \"lodash/includes\";\nimport _forEach from \"lodash/forEach\";\nexport var htmlImageProps = ['alt', 'height', 'src', 'srcSet', 'width'];\nexport var htmlInputAttrs = [// REACT\n'selected', 'defaultValue', 'defaultChecked', // LIMITED HTML PROPS\n'accept', 'autoCapitalize', 'autoComplete', 'autoCorrect', 'autoFocus', 'checked', 'disabled', 'form', 'id', 'list', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'pattern', 'placeholder', 'readOnly', 'required', 'step', 'type', 'value'];\nexport var htmlInputEvents = [// EVENTS\n// keyboard\n'onKeyDown', 'onKeyPress', 'onKeyUp', // focus\n'onFocus', 'onBlur', // form\n'onChange', 'onInput', // mouse\n'onClick', 'onContextMenu', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', // selection\n'onSelect', // touch\n'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart'];\nexport var htmlInputProps = [].concat(htmlInputAttrs, htmlInputEvents);\n\n/**\n * Returns props of html input element and restProps.\n * @param props - A ReactElement props object\n * @param options - Options for\n * @returns - 2-element array. First element is props of HTML input element and second element is the other props.\n */\nexport var partitionHTMLProps = function partitionHTMLProps(props, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$htmlProps = _options.htmlProps,\n      htmlProps = _options$htmlProps === void 0 ? htmlInputProps : _options$htmlProps,\n      _options$includeAria = _options.includeAria,\n      includeAria = _options$includeAria === void 0 ? true : _options$includeAria;\n  var inputProps = {};\n  var restProps = {};\n\n  _forEach(props, function (val, prop) {\n    var possibleAria = includeAria && (/^aria-.*$/.test(prop) || prop === 'role');\n    var target = _includes(htmlProps, prop) || possibleAria ? inputProps : restProps;\n    target[prop] = val;\n  });\n\n  return [inputProps, restProps];\n};\n//# sourceMappingURL=htmlPropsUtils.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CloseIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M4.08859 4.21569L4.14645 4.14645C4.32001 3.97288 4.58944 3.9536 4.78431 4.08859L4.85355 4.14645L10 9.293L15.1464 4.14645C15.32 3.97288 15.5894 3.9536 15.7843 4.08859L15.8536 4.14645C16.0271 4.32001 16.0464 4.58944 15.9114 4.78431L15.8536 4.85355L10.707 10L15.8536 15.1464C16.0271 15.32 16.0464 15.5894 15.9114 15.7843L15.8536 15.8536C15.68 16.0271 15.4106 16.0464 15.2157 15.9114L15.1464 15.8536L10 10.707L4.85355 15.8536C4.67999 16.0271 4.41056 16.0464 4.21569 15.9114L4.14645 15.8536C3.97288 15.68 3.9536 15.4106 4.08859 15.2157L4.14645 15.1464L9.293 10L4.14645 4.85355C3.97288 4.67999 3.9536 4.41056 4.08859 4.21569L4.14645 4.14645L4.08859 4.21569Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M3.89705 4.05379L3.96967 3.96967C4.23594 3.7034 4.6526 3.6792 4.94621 3.89705L5.03033 3.96967L10 8.939L14.9697 3.96967C15.2359 3.7034 15.6526 3.6792 15.9462 3.89705L16.0303 3.96967C16.2966 4.23594 16.3208 4.6526 16.1029 4.94621L16.0303 5.03033L11.061 10L16.0303 14.9697C16.2966 15.2359 16.3208 15.6526 16.1029 15.9462L16.0303 16.0303C15.7641 16.2966 15.3474 16.3208 15.0538 16.1029L14.9697 16.0303L10 11.061L5.03033 16.0303C4.76406 16.2966 4.3474 16.3208 4.05379 16.1029L3.96967 16.0303C3.7034 15.7641 3.6792 15.3474 3.89705 15.0538L3.96967 14.9697L8.939 10L3.96967 5.03033C3.7034 4.76406 3.6792 4.3474 3.89705 4.05379L3.96967 3.96967L3.89705 4.05379Z\"\n    }));\n  },\n  displayName: 'CloseIcon'\n});\n//# sourceMappingURL=CloseIcon.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var ExclamationCircleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM10 12.5C10.4142 12.5 10.75 12.8358 10.75 13.25C10.75 13.6642 10.4142 14 10 14C9.58579 14 9.25 13.6642 9.25 13.25C9.25 12.8358 9.58579 12.5 10 12.5ZM10 6C10.2455 6 10.4496 6.17688 10.4919 6.41012L10.5 6.5V11C10.5 11.2761 10.2761 11.5 10 11.5C9.75454 11.5 9.55039 11.3231 9.50806 11.0899L9.5 11V6.5C9.5 6.22386 9.72386 6 10 6Z\"\n    }));\n  },\n  displayName: 'ExclamationCircleIcon'\n});\n//# sourceMappingURL=ExclamationCircleIcon.js.map\n","// This is Fluent icon. Originally on a 20x20 canvas. No resize, just 'viewBox' update.\nimport * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var CheckmarkCircleIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM13.3584 7.64645C13.532 7.82001 13.5513 8.08944 13.4163 8.28431L13.3584 8.35355L9.35355 12.3584C9.17999 12.532 8.91056 12.5513 8.71569 12.4163L8.64645 12.3584L6.64645 10.3584C6.45118 10.1632 6.45118 9.84658 6.64645 9.65131C6.82001 9.47775 7.08944 9.45846 7.28431 9.59346L7.35355 9.65131L9 11.298L12.6513 7.64645C12.8466 7.45118 13.1632 7.45118 13.3584 7.64645Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M10 2C14.4183 2 18 5.58172 18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2ZM13.3584 7.64645C13.1849 7.47288 12.9154 7.4536 12.7206 7.58859L12.6513 7.64645L9 11.298L7.35355 9.65131L7.28431 9.59346C7.08944 9.45846 6.82001 9.47775 6.64645 9.65131C6.47288 9.82488 6.4536 10.0943 6.58859 10.2892L6.64645 10.3584L8.64645 12.3584L8.71569 12.4163C8.8862 12.5344 9.1138 12.5344 9.28431 12.4163L9.35355 12.3584L13.3584 8.35355L13.4163 8.28431C13.5513 8.08944 13.532 7.82001 13.3584 7.64645Z\"\n    }));\n  },\n  displayName: 'CheckmarkCircleIcon'\n});\n//# sourceMappingURL=CheckmarkCircleIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var ChevronDownIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M15.8527 7.64582C16.0484 7.84073 16.0489 8.15731 15.854 8.35292L10.389 13.8374C10.1741 14.0531 9.82477 14.0531 9.60982 13.8374L4.14484 8.35292C3.94993 8.15731 3.95049 7.84073 4.1461 7.64582C4.34171 7.4509 4.65829 7.45147 4.85321 7.64708L9.99942 12.8117L15.1456 7.64708C15.3406 7.45147 15.6571 7.4509 15.8527 7.64582Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M15.793 7.73271C16.0787 8.03263 16.0672 8.50737 15.7672 8.79306L10.5168 13.7944C10.2271 14.0703 9.77187 14.0703 9.4822 13.7944L4.23173 8.79306C3.93181 8.50737 3.92028 8.03263 4.20597 7.73271C4.49166 7.43279 4.96639 7.42125 5.26631 7.70694L9.99949 12.2155L14.7327 7.70694C15.0326 7.42125 15.5073 7.43279 15.793 7.73271Z\"\n    }));\n  },\n  displayName: 'ChevronDownIcon'\n});\n//# sourceMappingURL=ChevronDownIcon.js.map\n","/**\n * @specification\n * Adds role='gridcell'.\n */\nexport var gridCellWithFocusableElementBehavior = function gridCellWithFocusableElementBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'gridcell'\n      }\n    }\n  };\n};\n//# sourceMappingURL=gridCellWithFocusableElementBehavior.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as React from 'react';\nimport * as ReactIs from 'react-is';\nimport { childrenExist } from '../utils/childrenExist';\n\n// https://github.com/facebook/react/blob/c4e0768d7487a9359b74986e3b07841d2520f593/packages/react-dom/src/events/getListener.js#L15-L22\nfunction isDisabledInteractive(node) {\n  return (node.nodeName === 'BUTTON' || node.nodeName === 'INPUT' || node.nodeName === 'SELECT' || node.nodeName === 'TEXTAREA') && node.disabled;\n}\n\nfunction isInteractiveFilter(node) {\n  return isDisabledInteractive(node) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n}\n/**\n * Performs consistent checks for components that are using `trigger` pattern (`Tooltip`, `Popup`). Ensures that\n * `children` or `trigger` props will always pass a valid React element to what additional props and handlers can\n * be applied.\n */\n\n\nexport function useTriggerElement(props) {\n  var trigger = childrenExist(props.children) ? props.children : props.trigger;\n  var element = trigger ? React.Children.only(trigger) : null; // An exception should not be thrown in tests as components might be rendered without styles\n\n  if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n    if (ReactIs.isFragment(element)) {\n      throw new Error('useTriggerElement(): A \"React.Fragment\" cannot be used as a \"trigger\" as it will be impossible to spread props on it');\n    } // Hooks are used only for dev mode validations and will be removed in production builds\n\n    /* eslint-disable react-hooks/rules-of-hooks */\n\n\n    var ref = React.useRef();\n    React.useEffect(function () {\n      if (ref.current) {\n        var _ref$current$ownerDoc;\n\n        if (isDisabledInteractive(ref.current)) {\n          // eslint-disable-next-line no-console\n          console.warn(['useTriggerElement(): Disabled elements should used as a \"trigger\" accurately as it may lead to ', 'unexpected behavior as pointer events are ignored on disabled elements. Please wrap your \"trigger\" with', 'an additional element like a \"div\" if you need to show tooltips or popups on disabled elements, an', 'example is available in docs:', 'https://fluentsite.z22.web.core.windows.net/components/tooltip/definition#usage-disabled-trigger'].join(' '));\n        }\n\n        var treeWalker = (_ref$current$ownerDoc = ref.current.ownerDocument) == null ? void 0 : _ref$current$ownerDoc.createTreeWalker(ref.current, NodeFilter.SHOW_ELEMENT, {\n          acceptNode: isInteractiveFilter\n        });\n\n        while (treeWalker != null && treeWalker.nextNode()) {\n          var _node$ownerDocument, _node$ownerDocument$d;\n\n          var node = treeWalker.currentNode;\n          var nodeStyles = (_node$ownerDocument = node.ownerDocument) == null ? void 0 : (_node$ownerDocument$d = _node$ownerDocument.defaultView) == null ? void 0 : _node$ownerDocument$d.getComputedStyle(node);\n\n          if ((nodeStyles == null ? void 0 : nodeStyles.pointerEvents) !== 'none') {\n            throw new Error(['useTriggerElement(): A disabled element should have explicit \"pointer-events: \"none\" in its styles', 'due a bug in Chrome that breaks \"onMouseLeave\" event in React:', 'https://github.com/facebook/react/issues/19692'].join(' '));\n          }\n        }\n      }\n    }, []);\n    return element ?\n    /*#__PURE__*/\n\n    /* Required as components may call handlers via `trigger.props`, Ref will pass unhandled props down */\n    React.createElement(Ref, _extends({}, element.props, {\n      innerRef: ref\n    }), element) : null;\n  }\n\n  return element;\n}\n//# sourceMappingURL=useTriggerElement.js.map\n","import { popupBehavior } from '../Popup/popupBehavior';\n/**\n * @description\n * Implements ARIA Dialog (Modal) design pattern.\n * Adds tabIndex='0' to 'trigger' slot, if it is not tabbable element and no tabIndex attribute provided.\n *\n * @specification\n * Adds attribute 'aria-modal=true' to 'popup' slot.\n * Adds attribute 'role=dialog' to 'popup' slot.\n * Adds attribute 'aria-labelledby' based on the property 'aria-labelledby' to 'popup' slot.\n * Adds attribute 'aria-describedby' based on the property 'aria-describedby' to 'popup' slot.\n */\n\nexport var dialogBehavior = function dialogBehavior(props) {\n  var behaviorData = popupBehavior(props);\n  var defaultAriaLabelledBy = getDefaultAriaLabelledBy(props);\n  var defaultAriaDescribedBy = getDefaultAriaDescribedBy(props);\n  behaviorData.attributes.popup = Object.assign({}, behaviorData.attributes.popup, {\n    role: 'dialog',\n    'aria-modal': true,\n    'aria-labelledby': defaultAriaLabelledBy || props['aria-labelledby'],\n    'aria-describedby': defaultAriaDescribedBy || props['aria-describedby']\n  });\n  behaviorData.attributes.header = {\n    id: defaultAriaLabelledBy\n  };\n  behaviorData.attributes.content = {\n    id: defaultAriaDescribedBy\n  };\n  return behaviorData;\n};\n/**\n * Returns the element id of the header, it is used when user does not provide aria-label or\n * aria-labelledby as props.\n */\n\nvar getDefaultAriaLabelledBy = function getDefaultAriaLabelledBy(props) {\n  if (props['aria-label'] || props['aria-labelledby']) {\n    return undefined;\n  }\n\n  return props.headerId;\n};\n/**\n * Returns the element id of the content, it is used when user does not provide aria-describedby\n * as props.\n */\n\n\nvar getDefaultAriaDescribedBy = function getDefaultAriaDescribedBy(props) {\n  if (props['aria-describedby']) {\n    return undefined;\n  }\n\n  return props.contentId;\n};\n//# sourceMappingURL=dialogBehavior.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Dropdown } from '../Dropdown/Dropdown';\nimport { _FormFieldBase } from './utils/formFieldBase';\nexport var formDropdownClassName = 'ui-form__dropdown';\n/**\n * An FormDropdown renders a Dropdown wrapped by FormField.\n */\n\nexport var FormDropdown = /*#__PURE__*/function () {\n  var FormDropdown = compose(_FormFieldBase, {\n    className: formDropdownClassName,\n    displayName: 'FormDropdown',\n    overrideStyles: true,\n    slots: {\n      control: Dropdown\n    },\n    slotProps: function slotProps(_ref) {\n      var errorMessage = _ref.errorMessage,\n          inline = _ref.inline;\n      return {\n        control: {\n          inline: inline\n        },\n        message: {\n          error: !!errorMessage\n        }\n      };\n    }\n  });\n  FormDropdown.propTypes = commonPropTypes.createCommon({\n    accessibility: false,\n    children: false,\n    content: false\n  });\n  return FormDropdown;\n}();\n//# sourceMappingURL=FormDropdown.js.map\n","/**\n * @specification\n */\nexport var formFieldBehavior = function formFieldBehavior(props) {\n  var definition = {\n    attributes: {\n      root: {},\n      control: Object.assign({}, props.hasErrorMessage && {\n        'aria-invalid': true\n      }, {\n        'aria-labelledby': \"\" + props.labelId\n      }, props.messageId && {\n        'aria-labelledby': props.labelId + \" \" + props.messageId\n      }),\n      message: Object.assign({}, props.hasErrorMessage && {\n        role: 'alert'\n      })\n    }\n  };\n  return definition;\n};\n//# sourceMappingURL=formFieldBehavior.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { _FormFieldBase } from './utils/formFieldBase';\nimport { RadioGroup } from '../RadioGroup/RadioGroup';\nexport var formRadioGroupClassName = 'ui-forms';\n/**\n * An FormRadioGroup renders a RadioGroup wrapped by FormField.\n */\n\nexport var FormRadioGroup = /*#__PURE__*/function () {\n  var FormRadioGroup = compose(_FormFieldBase, {\n    className: formRadioGroupClassName,\n    displayName: 'FormRadioGroup',\n    overrideStyles: true,\n    slots: {\n      control: RadioGroup\n    },\n    slotProps: function slotProps(_ref) {\n      var errorMessage = _ref.errorMessage;\n      return {\n        message: {\n          error: !!errorMessage\n        }\n      };\n    }\n  });\n  FormRadioGroup.propTypes = commonPropTypes.createCommon({\n    children: false,\n    content: false\n  });\n  return FormRadioGroup;\n}();\n//# sourceMappingURL=FormRadioGroup.js.map\n","import * as React from 'react';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nexport var EyeSlashIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L5.6453 6.35239C3.97044 7.49179 2.7234 9.27384 2.28017 11.3979C2.22377 11.6682 2.39718 11.9331 2.6675 11.9895C2.93782 12.0459 3.20268 11.8725 3.25909 11.6021C3.6629 9.66699 4.82367 8.06291 6.36714 7.07422L7.95336 8.66045C7.07297 9.29611 6.5 10.3311 6.5 11.5C6.5 13.433 8.067 15 10 15C11.1689 15 12.2039 14.427 12.8396 13.5466L17.1464 17.8536C17.3417 18.0488 17.6583 18.0488 17.8536 17.8536C18.0488 17.6583 18.0488 17.3417 17.8536 17.1464L2.85355 2.14645ZM12.1194 12.8265C11.6773 13.5314 10.8934 14 10 14C8.61929 14 7.5 12.8807 7.5 11.5C7.5 10.6066 7.96863 9.82265 8.67348 9.38057L12.1194 12.8265Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.1235 8.00214L13.4979 11.3765C13.4342 9.54169 11.9583 8.06576 10.1235 8.00214Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 6C9.43016 6 8.87149 6.07353 8.33419 6.21285L7.53113 5.40979C8.31349 5.14331 9.14485 5 10 5C13.6934 5 16.9425 7.67312 17.7199 11.3979C17.7763 11.6682 17.6029 11.933 17.3325 11.9895C17.0622 12.0459 16.7974 11.8725 16.7409 11.6021C16.0574 8.32688 13.2057 6 10 6Z\"\n    }));\n  },\n  displayName: 'EyeSlashIcon'\n});\n//# sourceMappingURL=EyeSlashIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var MoreIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.filled, classes.filledPart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6.5 10C6.5 10.9665 5.7165 11.75 4.75 11.75C3.7835 11.75 3 10.9665 3 10C3 9.0335 3.7835 8.25 4.75 8.25C5.7165 8.25 6.5 9.0335 6.5 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M17 10C17 10.9665 16.2165 11.75 15.25 11.75C14.2835 11.75 13.5 10.9665 13.5 10C13.5 9.0335 14.2835 8.25 15.25 8.25C16.2165 8.25 17 9.0335 17 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10 11.75C10.9665 11.75 11.75 10.9665 11.75 10C11.75 9.0335 10.9665 8.25 10 8.25C9.0335 8.25 8.25 9.0335 8.25 10C8.25 10.9665 9.0335 11.75 10 11.75Z\"\n    })), /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M6 10C6 10.6904 5.44036 11.25 4.75 11.25C4.05964 11.25 3.5 10.6904 3.5 10C3.5 9.30964 4.05964 8.75 4.75 8.75C5.44036 8.75 6 9.30964 6 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M11.25 10C11.25 10.6904 10.6904 11.25 10 11.25C9.30964 11.25 8.75 10.6904 8.75 10C8.75 9.30964 9.30964 8.75 10 8.75C10.6904 8.75 11.25 9.30964 11.25 10Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M15.25 11.25C15.9404 11.25 16.5 10.6904 16.5 10C16.5 9.30964 15.9404 8.75 15.25 8.75C14.5596 8.75 14 9.30964 14 10C14 10.6904 14.5596 11.25 15.25 11.25Z\"\n    })));\n  },\n  displayName: 'MoreIcon'\n});\n//# sourceMappingURL=MoreIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var BoldIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.outline, classes.outlinePart),\n      d: \"M5.5 4.25C5.5 3.55964 6.05964 3 6.75 3H10.2512C12.654 3 14.25 4.98768 14.25 7C14.25 7.87176 13.9504 8.73837 13.4157 9.44091C14.3205 10.1431 14.9974 11.242 14.9974 12.75C14.9974 15.6133 12.5599 16.9955 10.7531 16.9955H6.75C6.05964 16.9955 5.5 16.4358 5.5 15.7455V4.25ZM8 11V14.4955H10.7531C11.5641 14.4955 12.4974 13.8768 12.4974 12.75C12.4974 11.6212 11.5598 11 10.7531 11H8ZM8 8.5H10.2478C11.1296 8.5 11.75 7.77853 11.75 7C11.75 6.22003 11.1295 5.5 10.2512 5.5H8V8.5Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      d: \"M5 4.5C5 3.67157 5.67157 3 6.5 3H10.38C12.7442 3 14.5 4.93367 14.5 7.12C14.5 7.93875 14.2533 8.72553 13.8193 9.38869C14.6623 10.138 15.2474 11.2377 15.2474 12.63C15.2474 15.4046 12.9287 17 10.88 17H6.5C5.67157 17 5 16.3284 5 15.5V4.5ZM8 6V8.25H10.3795C11.0054 8.25 11.5 7.73416 11.5 7.12C11.5 6.51403 11.0119 6 10.38 6H8ZM8 11.25V14H10.88C11.5713 14 12.2474 13.4635 12.2474 12.63C12.2474 11.7902 11.5629 11.25 10.88 11.25H8Z\"\n    }));\n  },\n  displayName: 'BoldIcon'\n});\n//# sourceMappingURL=BoldIcon.js.map\n","import * as React from 'react';\nimport cx from 'classnames';\nimport { createSvgIcon } from '../utils/createSvgIcon';\nimport { iconClassNames } from '../utils/iconClassNames';\nexport var InfoIcon = /*#__PURE__*/createSvgIcon({\n  svg: function svg(_ref) {\n    var classes = _ref.classes;\n    return /*#__PURE__*/React.createElement(\"svg\", {\n      role: \"presentation\",\n      focusable: \"false\",\n      viewBox: \"2 2 16 16\",\n      className: classes.svg\n    }, /*#__PURE__*/React.createElement(\"g\", {\n      className: cx(iconClassNames.outline, classes.outlinePart)\n    }, /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.4921 8.91012C10.4497 8.67687 10.2456 8.49999 10.0001 8.49999C9.72397 8.49999 9.50011 8.72385 9.50011 8.99999V13.5021L9.50817 13.592C9.55051 13.8253 9.75465 14.0021 10.0001 14.0021C10.2763 14.0021 10.5001 13.7783 10.5001 13.5021V8.99999L10.4921 8.91012Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      d: \"M10.7988 6.74999C10.7988 6.33578 10.463 5.99999 10.0488 5.99999C9.63461 5.99999 9.29883 6.33578 9.29883 6.74999C9.29883 7.16421 9.63461 7.49999 10.0488 7.49999C10.463 7.49999 10.7988 7.16421 10.7988 6.74999Z\"\n    }), /*#__PURE__*/React.createElement(\"path\", {\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10ZM3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10Z\"\n    })), /*#__PURE__*/React.createElement(\"path\", {\n      className: cx(iconClassNames.filled, classes.filledPart),\n      fillRule: \"evenodd\",\n      clipRule: \"evenodd\",\n      d: \"M18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18C14.4183 18 18 14.4183 18 10ZM9.50806 8.91012C9.55039 8.67687 9.75454 8.49999 10 8.49999C10.2455 8.49999 10.4496 8.67687 10.4919 8.91012L10.5 8.99999V13.5021L10.4919 13.592C10.4496 13.8253 10.2455 14.0021 10 14.0021C9.75454 14.0021 9.55039 13.8253 9.50806 13.592L9.5 13.5021V8.99999L9.50806 8.91012ZM9.25 6.74999C9.25 6.33578 9.58579 5.99999 10 5.99999C10.4142 5.99999 10.75 6.33578 10.75 6.74999C10.75 7.16421 10.4142 7.49999 10 7.49999C9.58579 7.49999 9.25 7.16421 9.25 6.74999Z\"\n    }));\n  },\n  displayName: 'InfoIcon'\n});\n//# sourceMappingURL=InfoIcon.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\nimport { tabBehavior } from './tabBehavior';\n/**\n * @description\n * Implements ARIA Tabs design pattern.\n * Child item components need to have tabBehavior assigned.\n * @specification\n * Adds role 'tablist' to 'root' slot.\n * Provides arrow key navigation in bidirectionalDomOrder direction.\n * When component's container element receives focus, focus will be set to the default focusable child element of the component.\n */\n\nexport var tabListBehavior = function tabListBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'tablist'\n      }\n    },\n    focusZone: {\n      props: {\n        shouldFocusInnerElementWhenReceivedFocus: true,\n        direction: FocusZoneDirection.bidirectionalDomOrder\n      }\n    },\n    childBehaviors: {\n      item: tabBehavior\n    }\n  };\n};\n//# sourceMappingURL=tabListBehavior.js.map\n","import { buttonBehavior } from './buttonBehavior';\nexport var toggleButtonBehavior = function toggleButtonBehavior(props) {\n  var behaviorData = buttonBehavior(props);\n  behaviorData.attributes.root = Object.assign({}, behaviorData.attributes.root, {\n    'aria-pressed': !!props['active']\n  });\n  return behaviorData;\n};\n//# sourceMappingURL=toggleButtonBehavior.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\n/**\n * @description\n * Implements ARIA Toolbar design pattern.\n * Child item components need to have toolbarItemBehavior assigned.\n * @specification\n * Adds role 'toolbar' to 'root' slot.\n * Provides arrow key navigation in horizontal direction.\n * When component's container element receives focus, focus will be set to the default focusable child element of the component.\n */\n\nexport var toolbarBehavior = function toolbarBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'toolbar'\n      }\n    },\n    focusZone: {\n      props: {\n        shouldFocusInnerElementWhenReceivedFocus: true,\n        direction: FocusZoneDirection.horizontal\n      }\n    }\n  };\n};\n//# sourceMappingURL=toolbarBehavior.js.map\n","import * as React from 'react';\nexport var ToolbarVariablesContext = /*#__PURE__*/React.createContext(undefined);\nexport var ToolbarVariablesProvider = ToolbarVariablesContext.Provider;\n//# sourceMappingURL=toolbarVariablesContext.js.map\n","import _invoke from \"lodash/invoke\";\nimport { IS_FOCUSABLE_ATTRIBUTE } from '@fluentui/accessibility';\nimport { compose, getElementType, mergeVariablesOverrides, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes } from '../../utils';\nimport { ToolbarVariablesContext } from './toolbarVariablesContext';\nexport var toolbarCustomItemClassName = 'ui-toolbar__customitem';\n/**\n * A ToolbarCustomItem renders Toolbar item as a non-actionable `div` with custom content inside.\n */\n\nexport var ToolbarCustomItem = /*#__PURE__*/function () {\n  var ToolbarCustomItem = compose(function (props, ref, composeOptions) {\n    var _Object$assign;\n\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        design = props.design,\n        fitted = props.fitted,\n        focusable = props.focusable,\n        styles = props.styles,\n        variables = props.variables;\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          fitted: fitted\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergeVariablesOverrides(parentVariables, variables)\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n\n    var handleBlur = function handleBlur(e) {\n      if (focusable) {\n        _invoke(props, 'onBlur', e, props);\n      }\n    };\n\n    var handleFocus = function handleFocus(e) {\n      if (focusable) {\n        _invoke(props, 'onFocus', e, props);\n      }\n    };\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign((_Object$assign = {}, _Object$assign[IS_FOCUSABLE_ATTRIBUTE] = focusable, _Object$assign), unhandledProps, {\n      className: classes.root,\n      onBlur: handleBlur,\n      onFocus: handleFocus,\n      ref: ref\n    })), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  }, {\n    className: toolbarCustomItemClassName,\n    displayName: 'ToolbarCustomItem',\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'fitted', 'focusable', 'onBlur', 'onFocus', 'styles', 'variables']\n  });\n  ToolbarCustomItem.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    fitted: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['horizontally', 'vertically'])]),\n    focusable: PropTypes.bool,\n    onFocus: PropTypes.func,\n    onBlur: PropTypes.func\n  });\n  return ToolbarCustomItem;\n}();\n//# sourceMappingURL=ToolbarCustomItem.js.map\n","import { getElementType, mergeVariablesOverrides, useUnhandledProps, useAccessibility, useStyles, useFluentContext, useTelemetry, compose } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\nimport { ToolbarVariablesContext } from './toolbarVariablesContext';\nexport var toolbarDividerClassName = 'ui-toolbar__divider';\n/**\n * A ToolbarDivider is a non-actionable element that visually segments Toolbar items.\n */\n\nexport var ToolbarDivider = /*#__PURE__*/function () {\n  var ToolbarDivider = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergeVariablesOverrides(parentVariables, variables)\n        };\n      },\n      rtl: context.rtl,\n      composeOptions: composeOptions,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      ref: ref\n    }, unhandledProps, {\n      className: classes.root\n    })));\n    setEnd();\n    return element;\n  }, {\n    displayName: 'ToolbarDivider',\n    className: toolbarDividerClassName,\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'styles', 'variables', 'design']\n  });\n  ToolbarDivider.propTypes = commonPropTypes.createCommon();\n  return ToolbarDivider;\n}();\n//# sourceMappingURL=ToolbarDivider.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { buttonBehavior } from '../Button/buttonBehavior';\n/**\n * @specification\n * Adds role='button' if element type is other than 'button'. This allows screen readers to handle the component as a button.\n * Adds attribute 'tabIndex=0' if element type is other than 'button'.\n * Adds attribute 'aria-haspopup=menu' to 'root' slot if 'hasMenu' property is set.\n * Adds attribute 'aria-haspopup=dialog' to 'root' slot if 'hasPopup' property is set.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n * Triggers 'closeMenuAndFocusTrigger' action with 'Escape' on 'wrapper', when toolbar button has submenu and it is opened.\n * Triggers 'doNotNavigateNextToolbarItem' action with 'ArrowLeft' or 'ArrowRight' on 'wrapper', when toolbar button has submenu and it is opened.\n */\n\nexport var toolbarItemBehavior = function toolbarItemBehavior(props) {\n  var behaviorData = buttonBehavior(props);\n  behaviorData.attributes.root = Object.assign({}, behaviorData.attributes.root, {\n    'aria-haspopup': props.hasPopup ? 'dialog' : props.hasMenu ? 'menu' : undefined\n  });\n  behaviorData.keyActions.wrapper = Object.assign({}, behaviorData.keyActions.wrapper, {\n    performWrapperClick: {\n      keyCombinations: [{\n        keyCode: keyboardKey.Enter\n      }, {\n        keyCode: SpacebarKey\n      }]\n    },\n    closeMenuAndFocusTrigger: {\n      keyCombinations: props.hasMenu && props.menuOpen ? [{\n        keyCode: keyboardKey.Escape\n      }, {\n        keyCode: keyboardKey.Tab,\n        shiftKey: true\n      }] : null\n    },\n    doNotNavigateNextToolbarItem: {\n      keyCombinations: props.hasMenu && props.menuOpen ? [{\n        keyCode: keyboardKey.ArrowLeft\n      }, {\n        keyCode: keyboardKey.ArrowRight\n      }] : null\n    }\n  });\n  return behaviorData;\n};\n//# sourceMappingURL=toolbarItemBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\n\n/**\n * @specification\n * Adds attribute 'aria-checked=true' based on the property 'active'.\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'.\n * Adds role='menuitemcheckbox'.\n * Adds role 'presentation' to 'wrapper' slot.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n */\nexport var toolbarMenuItemCheckboxBehavior = function toolbarMenuItemCheckboxBehavior(props) {\n  return {\n    attributes: {\n      wrapper: {\n        role: 'presentation'\n      },\n      root: {\n        'aria-checked': props.active,\n        'aria-disabled': props.disabled,\n        role: 'menuitemcheckbox'\n      }\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=toolbarMenuItemCheckboxBehavior.js.map\n","import { menuItemBehavior } from '../Menu/menuItemBehavior';\n/**\n * @description\n * The behavior is designed for particular structure of menu item. The item consists of root element and anchor inside the root element.\n *\n * @specification\n * Adds role 'presentation' to 'wrapper' slot.\n * Adds role 'menuitem' to 'root' slot.\n * Adds attribute 'tabIndex=0' to 'root' slot.\n * Adds attribute 'data-is-focusable=false' to 'root' slot if 'disabled' property is true. Sets the attribute to 'true' otherwise.\n * Adds attribute 'aria-label' based on the property 'aria-label' to 'root' slot.\n * Adds attribute 'aria-labelledby' based on the property 'aria-labelledby' to 'root' slot.\n * Adds attribute 'aria-describedby' based on the property 'aria-describedby' to 'root' slot.\n * Adds attribute 'aria-expanded=true' based on the property 'menuOpen' if the component has 'hasMenu' property to 'root' slot.\n * Adds attribute 'aria-haspopup=true' to 'root' slot if 'hasMenu' property is set.\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'. This can be overriden by providing 'aria-disabled' property directly to the component.\n * Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n * Triggers 'closeMenuAndFocusTrigger' action with 'Escape' on 'wrapper'.\n * Triggers 'closeAllMenusAndFocusNextParentItem' action with 'ArrowRight' on 'wrapper'.\n * Triggers 'closeMenu' action with 'ArrowLeft' on 'wrapper'.\n * Triggers 'openMenu' action with 'ArrowRight' on 'wrapper'.\n */\n\nexport var toolbarMenuItemBehavior = function toolbarMenuItemBehavior(props) {\n  return menuItemBehavior(Object.assign({}, props, {\n    vertical: true\n  }));\n};\n//# sourceMappingURL=toolbarMenuItemBehavior.js.map\n","import { FocusZoneDirection } from '../../focusZone/types';\nimport { toolbarMenuItemBehavior } from './toolbarMenuItemBehavior';\nimport { keyboardKey, SpacebarKey } from '../../keyboard-key';\n/**\n * @description\n * The 'menu' role is used to identify an element that creates a list of common actions or functions that a user can invoke.\n *\n * @specification\n * Adds role='menu'.\n * Provides arrow key navigation in vertical direction.\n * Keyboard navigation is circular.\n * Component will get focus when mounted.\n */\n\nexport var toolbarMenuBehavior = function toolbarMenuBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'menu'\n      }\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    },\n    focusZone: {\n      props: {\n        isCircularNavigation: true,\n        shouldFocusOnMount: true,\n        direction: FocusZoneDirection.vertical\n      }\n    },\n    childBehaviors: {\n      item: toolbarMenuItemBehavior\n    }\n  };\n};\n//# sourceMappingURL=toolbarMenuBehavior.js.map\n","import { keyboardKey, SpacebarKey } from '../../keyboard-key';\nimport { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\n\n/**\n * @specification\n *  Adds attribute 'aria-checked=true' based on the property 'active'.\n *  Adds attribute 'aria-disabled=true' based on the property 'disabled'.\n *  Adds role='menuitemradio'.\n */\nexport var toolbarMenuItemRadioBehavior = function toolbarMenuItemRadioBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {}, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root['aria-checked'] = props.active, _root['aria-disabled'] = props.disabled, _root.role = 'menuitemradio', _root)\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=toolbarMenuItemRadioBehavior.js.map\n","/**\n * @description\n * Toolbar's Menu Radio Group needs to be ignored by screen reader. This way the screen reader can correctly narrate the number of menu items\n *\n * @specification\n * Adds role='presentation'.\n */\nexport var toolbarMenuRadioGroupBehavior = function toolbarMenuRadioGroupBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'presentation'\n      }\n    }\n  };\n};\n//# sourceMappingURL=toolbarMenuRadioGroupBehavior.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemIconClassName = 'ui-toolbar__menuitemicon';\n/**\n * A ToolbarMenuItemIcon allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemIcon = /*#__PURE__*/function () {\n  var ToolbarMenuItemIcon = compose(Box, {\n    className: toolbarMenuItemIconClassName,\n    displayName: 'ToolbarMenuItemIcon',\n    mapPropsToStylesProps: function mapPropsToStylesProps(props) {\n      return {\n        hasContent: props.hasContent\n      };\n    },\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['hasContent'],\n    overrideStyles: true\n  });\n  ToolbarMenuItemIcon.defaultProps = {\n    as: 'span'\n  };\n  ToolbarMenuItemIcon.propTypes = commonPropTypes.createCommon();\n  return ToolbarMenuItemIcon;\n}();\n//# sourceMappingURL=ToolbarMenuItemIcon.js.map\n","import { createContext } from '@fluentui/react-bindings';\nexport var ToolbarMenuContext = createContext({\n  slots: {\n    menu: null\n  }\n});\nexport var ToolbarMenuContextProvider = ToolbarMenuContext.Provider;\n//# sourceMappingURL=toolbarMenuContext.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuItemContentClassName = 'ui-toolbar__menuitemcontent';\n/**\n * A ToolbarMenuItemContent allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarMenuItemContent = /*#__PURE__*/function () {\n  var ToolbarMenuItemContent = compose(Box, {\n    className: toolbarMenuItemContentClassName,\n    displayName: 'ToolbarMenuItemContent',\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    overrideStyles: true\n  });\n  ToolbarMenuItemContent.defaultProps = {\n    as: 'span'\n  };\n  ToolbarMenuItemContent.propTypes = commonPropTypes.createCommon();\n  return ToolbarMenuItemContent;\n}();\n//# sourceMappingURL=ToolbarMenuItemContent.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _some from \"lodash/some\";\nimport _invoke from \"lodash/invoke\";\nimport { toolbarMenuItemBehavior, indicatorBehavior } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport cx from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { compose, focusAsync, mergeVariablesOverrides, useTelemetry, useStyles, useAutoControlled, useFluentContext, getElementType, useUnhandledProps, useAccessibility, useContextSelectors } from '@fluentui/react-bindings';\nimport { Unstable_NestingAuto } from '@fluentui/react-component-nesting-registry';\nimport { createShorthand, commonPropTypes, childrenExist, doesNodeContainClick } from '../../utils';\nimport { partitionPopperPropsFromShorthand, Popper } from '../../utils/positioner';\nimport { Box } from '../Box/Box';\nimport { Popup } from '../Popup/Popup';\nimport { ToolbarMenu } from './ToolbarMenu';\nimport { ToolbarMenuItemIcon } from './ToolbarMenuItemIcon';\nimport { ToolbarVariablesContext, ToolbarVariablesProvider } from './toolbarVariablesContext';\nimport { ToolbarMenuItemSubmenuIndicator } from './ToolbarMenuItemSubmenuIndicator';\nimport { ToolbarMenuItemActiveIndicator } from './ToolbarMenuItemActiveIndicator';\nimport { ToolbarMenuContext } from './toolbarMenuContext';\nimport { ToolbarMenuItemContent } from './ToolbarMenuItemContent';\nexport var toolbarMenuItemClassName = 'ui-toolbar__menuitem';\nexport var toolbarMenuItemSlotClassNames = {\n  wrapper: toolbarMenuItemClassName + \"__wrapper\",\n  submenu: toolbarMenuItemClassName + \"__submenu\"\n};\n/**\n * A ToolbarMenuItem renders ToolbarMenu item as button.\n */\n\nexport var ToolbarMenuItem = /*#__PURE__*/function () {\n  var ToolbarMenuItem = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var active = props.active,\n        activeIndicator = props.activeIndicator,\n        children = props.children,\n        content = props.content,\n        disabled = props.disabled,\n        submenuIndicator = props.submenuIndicator,\n        icon = props.icon,\n        popup = props.popup,\n        wrapper = props.wrapper,\n        inSubmenu = props.inSubmenu,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n\n    var _partitionPopperProps = partitionPopperPropsFromShorthand(props.menu),\n        menu = _partitionPopperProps[0],\n        menuPositioningProps = _partitionPopperProps[1];\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultMenuOpen,\n      value: props.menuOpen,\n      initialValue: false\n    }),\n        menuOpen = _useAutoControlled[0],\n        setMenuOpen = _useAutoControlled[1];\n\n    var itemRef = React.useRef();\n    var menuRef = React.useRef();\n\n    var _ref = useContextSelectors(ToolbarMenuContext, {\n      menuSlot: function menuSlot(v) {\n        return v.slots.menu;\n      }\n    }),\n        menuSlot = _ref.menuSlot; // TODO: we should improve typings for the useContextSelectors\n\n\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var mergedVariables = mergeVariablesOverrides(parentVariables, variables);\n    var ElementType = getElementType(props);\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: composeOptions.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          hasMenu: !!menu,\n          active: active,\n          menuOpen: menuOpen,\n          disabled: disabled,\n          'aria-label': props['aria-label'],\n          'aria-labelledby': props['aria-labelledby'],\n          'aria-describedby': props['aria-describedby']\n        };\n      },\n      actionHandlers: {\n        performClick: function performClick(event) {\n          event.preventDefault();\n          handleClick(event);\n        },\n        openMenu: function (_openMenu) {\n          function openMenu(_x) {\n            return _openMenu.apply(this, arguments);\n          }\n\n          openMenu.toString = function () {\n            return _openMenu.toString();\n          };\n\n          return openMenu;\n        }(function (event) {\n          return openMenu(event);\n        }),\n        closeAllMenusAndFocusNextParentItem: function closeAllMenusAndFocusNextParentItem(event) {\n          return closeAllMenus(event);\n        },\n        closeMenu: function (_closeMenu) {\n          function closeMenu(_x2) {\n            return _closeMenu.apply(this, arguments);\n          }\n\n          closeMenu.toString = function () {\n            return _closeMenu.toString();\n          };\n\n          return closeMenu;\n        }(function (event) {\n          return closeMenu(event);\n        }),\n        closeMenuAndFocusTrigger: function closeMenuAndFocusTrigger(event) {\n          return closeMenu(event);\n        },\n        doNotNavigateNextParentItem: function doNotNavigateNextParentItem(event) {\n          event.stopPropagation();\n        },\n        closeAllMenus: function (_closeAllMenus) {\n          function closeAllMenus(_x3) {\n            return _closeAllMenus.apply(this, arguments);\n          }\n\n          closeAllMenus.toString = function () {\n            return _closeAllMenus.toString();\n          };\n\n          return closeAllMenus;\n        }(function (event) {\n          return closeAllMenus(event);\n        })\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          disabled: disabled,\n          hasContent: !!content\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergedVariables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var openMenu = function openMenu(e) {\n      if (menu && !menuOpen) {\n        trySetMenuOpen(true, e);\n        e.stopPropagation();\n        e.preventDefault();\n      }\n    };\n\n    var closeMenu = function closeMenu(e) {\n      if (!isSubmenuOpen()) {\n        return;\n      }\n\n      trySetMenuOpen(false, e, function () {\n        focusAsync(itemRef.current);\n      });\n      e.stopPropagation();\n    };\n\n    var closeAllMenus = function closeAllMenus(e) {\n      if (!isSubmenuOpen()) {\n        return;\n      }\n\n      trySetMenuOpen(false, e, function () {\n        if (!inSubmenu) {\n          focusAsync(itemRef.current);\n        }\n      }); // avoid spacebar scrolling the page\n\n      if (!inSubmenu) {\n        e.preventDefault();\n      }\n    };\n\n    var isSubmenuOpen = function isSubmenuOpen() {\n      return !!(menu && menuOpen);\n    };\n\n    var trySetMenuOpen = function trySetMenuOpen(newValue, e, onStateChanged) {\n      setMenuOpen(newValue); // The reason why post-effect is not passed as callback to trySetState method\n      // is that in 'controlled' mode the post-effect is applied before final re-rendering\n      // which cause a broken behavior: for e.g. when it is needed to focus submenu trigger on ESC.\n      // TODO: all DOM post-effects should be applied at componentDidMount & componentDidUpdated stages.\n\n      onStateChanged && onStateChanged();\n\n      _invoke(props, 'onMenuOpenChange', e, Object.assign({}, props, {\n        menuOpen: newValue\n      }));\n    };\n\n    var outsideClickHandler = function outsideClickHandler(getRefs) {\n      return function (e) {\n        var isItemClick = doesNodeContainClick(itemRef.current, e, context.target);\n\n        var isNestedClick = _some(getRefs(), function (childRef) {\n          return doesNodeContainClick(childRef.current, e, context.target);\n        });\n\n        var isInside = isItemClick || isNestedClick;\n\n        if (!isInside) {\n          trySetMenuOpen(false, e);\n        }\n      };\n    };\n\n    var handleMenuOverrides = function handleMenuOverrides(predefinedProps) {\n      return {\n        onItemClick: function onItemClick(e, itemProps) {\n          var popup = itemProps.popup,\n              menuOpen = itemProps.menuOpen;\n\n          _invoke(predefinedProps, 'onItemClick', e, itemProps);\n\n          if (popup) {\n            return;\n          }\n\n          trySetMenuOpen(menuOpen, e);\n\n          if (!menuOpen) {\n            _invoke(itemRef.current, 'focus');\n          }\n        }\n      };\n    };\n\n    var handleClick = function handleClick(e) {\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      if (menu) {\n        // the menuItem element was clicked => toggle the open/close and stop propagation\n        trySetMenuOpen(!menuOpen, e);\n        e.stopPropagation();\n        e.preventDefault();\n      }\n\n      if (popup) {\n        e.stopPropagation();\n        e.preventDefault();\n        return;\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick,\n      disabled: disabled,\n      ref: ref\n    }, unhandledProps)), childrenExist(children) ? children : /*#__PURE__*/React.createElement(React.Fragment, null, createShorthand(composeOptions.slots.icon, icon, {\n      defaultProps: function defaultProps() {\n        return slotProps.icon;\n      }\n    }), createShorthand(composeOptions.slots.content, content, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('content', slotProps.content);\n      }\n    }), active && createShorthand(composeOptions.slots.activeIndicator, activeIndicator, {\n      defaultProps: function defaultProps() {\n        return slotProps.activeIndicator;\n      }\n    }), menu && createShorthand(composeOptions.slots.submenuIndicator, submenuIndicator, {\n      defaultProps: function defaultProps() {\n        return slotProps.submenuIndicator;\n      }\n    })));\n    var hasChildren = childrenExist(children);\n\n    if (popup && !hasChildren) {\n      var popupElement = createShorthand(composeOptions.slots.popup, popup, {\n        defaultProps: function defaultProps() {\n          return Object.assign({}, slotProps.popup, {\n            onOpenChange: function onOpenChange(e) {\n              e.stopPropagation();\n            }\n          });\n        },\n        overrideProps: {\n          trigger: element,\n          children: undefined // force-reset `children` defined for `Popup` as it collides with the `trigger`\n\n        }\n      });\n      setEnd();\n      return popupElement;\n    }\n\n    var menuItemInner = hasChildren ? children : /*#__PURE__*/React.createElement(Ref, {\n      innerRef: itemRef\n    }, element);\n    var maybeSubmenu = menu && menuOpen ? /*#__PURE__*/React.createElement(Unstable_NestingAuto, null, function (getRefs, nestingRef) {\n      return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n        innerRef: function innerRef(node) {\n          nestingRef.current = node;\n          menuRef.current = node;\n        }\n      }, /*#__PURE__*/React.createElement(Popper, _extends({\n        align: \"top\",\n        position: context.rtl ? 'before' : 'after',\n        targetRef: itemRef\n      }, menuPositioningProps), /*#__PURE__*/React.createElement(ToolbarVariablesProvider, {\n        value: mergedVariables\n      }, createShorthand(composeOptions.slots.menu || menuSlot || ToolbarMenu, menu, {\n        defaultProps: function defaultProps() {\n          return Object.assign({\n            className: toolbarMenuItemSlotClassNames.submenu,\n            styles: resolvedStyles.menu,\n            submenu: true,\n            submenuIndicator: submenuIndicator\n          }, slotProps.menu);\n        },\n        overrideProps: handleMenuOverrides\n      })))), /*#__PURE__*/React.createElement(EventListener, {\n        listener: outsideClickHandler(getRefs),\n        target: context.target,\n        type: \"click\"\n      }));\n    }) : null;\n\n    if (!wrapper) {\n      setEnd();\n      return menuItemInner;\n    }\n\n    var wrapperElement = Box.create(wrapper, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('wrapper', {\n          className: cx(toolbarMenuItemSlotClassNames.wrapper, classes.wrapper)\n        });\n      },\n      overrideProps: function overrideProps() {\n        return {\n          children: /*#__PURE__*/React.createElement(React.Fragment, null, menuItemInner, maybeSubmenu)\n        };\n      }\n    });\n    setEnd();\n    return wrapperElement;\n  }, {\n    className: toolbarMenuItemClassName,\n    displayName: 'ToolbarMenuItem',\n    slots: {\n      icon: ToolbarMenuItemIcon,\n      submenuIndicator: ToolbarMenuItemSubmenuIndicator,\n      activeIndicator: ToolbarMenuItemActiveIndicator,\n      popup: Popup,\n      content: ToolbarMenuItemContent\n    },\n    slotProps: function slotProps(props) {\n      return {\n        icon: {\n          hasContent: !!props.content\n        },\n        submenuIndicator: {\n          accessibility: indicatorBehavior\n        },\n        activeIndicator: {\n          accessibility: indicatorBehavior\n        },\n        popup: {\n          trapFocus: true\n        },\n        content: {}\n      };\n    },\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'styles', 'variables', 'active', 'activeIndicator', 'defaultMenuOpen', 'disabled', 'icon', 'index', 'submenuIndicator', 'inSubmenu', 'menu', 'menuOpen', 'onClick', 'onMenuOpenChange', 'popup', 'wrapper']\n  });\n  ToolbarMenuItem.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    active: PropTypes.bool,\n    activeIndicator: customPropTypes.shorthandAllowingChildren,\n    defaultMenuOpen: PropTypes.bool,\n    disabled: PropTypes.bool,\n    icon: customPropTypes.shorthandAllowingChildren,\n    index: PropTypes.number,\n    submenuIndicator: customPropTypes.shorthandAllowingChildren,\n    inSubmenu: PropTypes.bool,\n    menu: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n    menuOpen: PropTypes.bool,\n    onClick: PropTypes.func,\n    onMenuOpenChange: PropTypes.func,\n    popup: PropTypes.oneOfType([PropTypes.shape(Object.assign({}, Popup.propTypes, {\n      trigger: customPropTypes.never,\n      children: customPropTypes.never\n    })), PropTypes.string]),\n    wrapper: customPropTypes.itemShorthand\n  });\n  ToolbarMenuItem.defaultProps = {\n    as: 'button',\n    accessibility: toolbarMenuItemBehavior,\n    activeIndicator: {},\n    submenuIndicator: {},\n    wrapper: {\n      as: 'li'\n    }\n  };\n  return ToolbarMenuItem;\n}();\n//# sourceMappingURL=ToolbarMenuItem.js.map\n","/**\n * @description\n * Toolbar's Menu Radio Group's wrapper needs to be ignored by screen reader. This way the screen reader can correctly narrate the number of menu items\n *\n * @specification\n * Adds role='presentation'.\n */\nexport var toolbarMenuRadioGroupWrapperBehavior = function toolbarMenuRadioGroupWrapperBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'presentation'\n      }\n    }\n  };\n};\n//# sourceMappingURL=toolbarMenuRadioGroupWrapperBehavior.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { toolbarMenuRadioGroupWrapperBehavior } from '@fluentui/accessibility';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarMenuRadioGroupWrapperClassName = 'ui-toolbars'; // FIXME: required by getComponentInfo/isConformant. But this is group inside a toolbar not a group of toolbars\n\n/**\n * An ToolbarMenuRadioGroupWrapper provides a wrapping slot for in  ToolbarMenuRadioGroup.\n */\n\nexport var ToolbarMenuRadioGroupWrapper = /*#__PURE__*/function () {\n  var ToolbarMenuRadioGroupWrapper = compose(Box, {\n    className: toolbarMenuRadioGroupWrapperClassName,\n    displayName: 'ToolbarMenuRadioGroupWrapper',\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ToolbarMenuRadioGroupWrapper.defaultProps = {\n    as: 'li',\n    accessibility: toolbarMenuRadioGroupWrapperBehavior\n  };\n  ToolbarMenuRadioGroupWrapper.propTypes = commonPropTypes.createCommon();\n  return ToolbarMenuRadioGroupWrapper;\n}();\n//# sourceMappingURL=ToolbarMenuRadioGroupWrapper.js.map\n","import _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport { toolbarMenuRadioGroupBehavior, toolbarMenuItemRadioBehavior } from '@fluentui/accessibility';\nimport { compose, mergeVariablesOverrides, getElementType, useUnhandledProps, useAccessibility, useStyles, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthand, commonPropTypes } from '../../utils';\nimport { ToolbarMenuItem } from './ToolbarMenuItem';\nimport { ToolbarMenuRadioGroupWrapper } from './ToolbarMenuRadioGroupWrapper';\nimport { ToolbarVariablesContext, ToolbarVariablesProvider } from './toolbarVariablesContext';\nexport var toolbarMenuRadioGroupClassName = 'ui-toolbars'; // FIXME: required by getComponentInfo/isConformant. But this is group inside a toolbar not a group of toolbars\n\n/**\n * A ToolbarMenuRadioGroup renders ToolbarMenuItem as a group of mutually exclusive options.\n */\n\nexport var ToolbarMenuRadioGroup = /*#__PURE__*/function () {\n  var ToolbarMenuRadioGroup = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        activeIndex = props.activeIndex,\n        className = props.className,\n        design = props.design,\n        items = props.items,\n        styles = props.styles,\n        variables = props.variables,\n        wrapper = props.wrapper;\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var mergedVariables = mergeVariablesOverrides(parentVariables, variables);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergedVariables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var handleItemOverrides = function handleItemOverrides(predefinedProps) {\n      return {\n        onClick: function onClick(e, itemProps) {\n          _invoke(predefinedProps, 'onClick', e, itemProps);\n\n          _invoke(props, 'onItemClick', e, itemProps);\n        },\n        wrapper: null\n      };\n    };\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var content = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({}, unhandledProps, {\n      className: classes.root,\n      ref: ref\n    })), /*#__PURE__*/React.createElement(ToolbarVariablesProvider, {\n      value: mergedVariables\n    }, _map(items, function (item, index) {\n      return createShorthand(ToolbarMenuItem, item, {\n        defaultProps: function defaultProps() {\n          return {\n            accessibility: toolbarMenuItemRadioBehavior,\n            as: 'li',\n            active: activeIndex === index,\n            index: index\n          };\n        },\n        overrideProps: handleItemOverrides\n      });\n    })));\n    var element = createShorthand(composeOptions.slots.wrapper, wrapper, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('wrapper', slotProps.wrapper || {});\n      },\n      overrideProps: {\n        children: content\n      }\n    });\n    setEnd();\n    return element;\n  }, {\n    className: toolbarMenuRadioGroupClassName,\n    displayName: 'ToolbarMenuRadioGroup',\n    slots: {\n      wrapper: ToolbarMenuRadioGroupWrapper\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'styles', 'variables', 'activeIndex', 'items', 'onItemClick', 'wrapper']\n  });\n  ToolbarMenuRadioGroup.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    activeIndex: PropTypes.number,\n    items: customPropTypes.collectionShorthand,\n    onItemClick: PropTypes.func,\n    wrapper: customPropTypes.itemShorthand\n  });\n  ToolbarMenuRadioGroup.defaultProps = {\n    as: 'ul',\n    accessibility: toolbarMenuRadioGroupBehavior,\n    wrapper: {}\n  };\n  return ToolbarMenuRadioGroup;\n}();\n//# sourceMappingURL=ToolbarMenuRadioGroup.js.map\n","/**\n * @description\n * toolbar menu divider is used only visualy to separate and distinguish groups of menuitems.\n *\n * @specification\n * Adds role='presentation'.\n */\nexport var toolbarMenuDividerBehavior = function toolbarMenuDividerBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'presentation'\n      }\n    }\n  };\n};\n//# sourceMappingURL=toolbarMenuDividerBehavior.js.map\n","import { toolbarMenuDividerBehavior } from '@fluentui/accessibility';\nimport { getElementType, mergeVariablesOverrides, useUnhandledProps, useAccessibility, useStyles, useFluentContext, useTelemetry, compose } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport { commonPropTypes } from '../../utils';\nimport { ToolbarVariablesContext } from './toolbarVariablesContext';\nexport var toolbarMenuDividerClassName = 'ui-toolbar__menudivider';\n/**\n * A ToolbarMenuDivider adds non-actionable separator between items of ToolbarMenu.\n */\n\nexport var ToolbarMenuDivider = /*#__PURE__*/function () {\n  var ToolbarMenuDivider = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergeVariablesOverrides(parentVariables, variables)\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({}, unhandledProps, {\n      className: classes.root,\n      ref: ref\n    })));\n    setEnd();\n    return element;\n  }, {\n    className: toolbarMenuDividerClassName,\n    displayName: 'ToolbarMenuDivider',\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'styles', 'variables']\n  });\n  ToolbarMenuDivider.propTypes = commonPropTypes.createCommon();\n  ToolbarMenuDivider.defaultProps = {\n    as: 'li',\n    accessibility: toolbarMenuDividerBehavior\n  };\n  return ToolbarMenuDivider;\n}();\n//# sourceMappingURL=ToolbarMenuDivider.js.map\n","import _get from \"lodash/get\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport { toolbarMenuBehavior, toolbarMenuItemCheckboxBehavior } from '@fluentui/accessibility';\nimport { compose, getElementType, mergeVariablesOverrides, useUnhandledProps, useFluentContext, useAccessibility, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthand, commonPropTypes, childrenExist } from '../../utils';\nimport { ToolbarMenuRadioGroup } from './ToolbarMenuRadioGroup';\nimport { ToolbarMenuDivider } from './ToolbarMenuDivider';\nimport { ToolbarMenuItem } from './ToolbarMenuItem';\nimport { ToolbarVariablesContext, ToolbarVariablesProvider } from './toolbarVariablesContext';\nexport var toolbarMenuClassName = 'ui-toolbar__menu';\n/**\n * A ToolbarMenu creates a pop-up menu attached to a ToolbarItem.\n *\n * @accessibility\n * Implements pop-up menu (submenu) behavior of [ARIA Menu](https://www.w3.org/TR/wai-aria-practices-1.1/#menu) design pattern.\n */\n\nexport var ToolbarMenu = /*#__PURE__*/function () {\n  var ToolbarMenu = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        className = props.className,\n        children = props.children,\n        design = props.design,\n        items = props.items,\n        styles = props.styles,\n        variables = props.variables;\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var mergedVariables = mergeVariablesOverrides(parentVariables, variables);\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      actionHandlers: {\n        performClick: function performClick(e) {\n          _invoke(props, 'onClick', e, props);\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergedVariables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var handleItemOverrides = function handleItemOverrides(predefinedProps) {\n      return {\n        onClick: function onClick(e, itemProps) {\n          _invoke(predefinedProps, 'onClick', e, itemProps);\n\n          _invoke(props, 'onItemClick', e, Object.assign({}, itemProps, {\n            menuOpen: !!itemProps.menu\n          }));\n        }\n      };\n    };\n\n    var handleRadioGroupOverrides = function handleRadioGroupOverrides(predefinedProps) {\n      return {\n        onItemClick: function onItemClick(e, itemProps) {\n          _invoke(predefinedProps, 'onItemClick', e, itemProps);\n\n          _invoke(props, 'onItemClick', e, itemProps);\n        }\n      };\n    };\n\n    var renderItems = function renderItems() {\n      return _map(items, function (item) {\n        var kind = _get(item, 'kind', 'item');\n\n        switch (kind) {\n          case 'divider':\n            return createShorthand(composeOptions.slots.divider, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.divider;\n              }\n            });\n\n          case 'group':\n            return createShorthand(composeOptions.slots.group, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.group;\n              },\n              overrideProps: handleRadioGroupOverrides\n            });\n\n          case 'toggle':\n            return createShorthand(composeOptions.slots.toggle, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.toggle;\n              },\n              overrideProps: handleItemOverrides\n            });\n\n          default:\n            return createShorthand(composeOptions.slots.item, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.item;\n              },\n              overrideProps: handleItemOverrides\n            });\n        }\n      });\n    };\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({}, unhandledProps, {\n      className: classes.root\n    })), /*#__PURE__*/React.createElement(ToolbarVariablesProvider, {\n      value: mergedVariables\n    }, childrenExist(children) ? children : renderItems())));\n    setEnd(); // TODO: As ElementType is wrapped with FocusZone which doesn't ref forwarding we have to use Ref\n\n    return ref ? /*#__PURE__*/React.createElement(Ref, {\n      innerRef: ref\n    }, element) : element;\n  }, {\n    displayName: 'ToolbarMenu',\n    className: toolbarMenuClassName,\n    slots: {\n      item: ToolbarMenuItem,\n      divider: ToolbarMenuDivider,\n      group: ToolbarMenuRadioGroup,\n      toggle: ToolbarMenuItem\n    },\n    slotProps: function slotProps(props) {\n      return {\n        item: {\n          submenuIndicator: props.submenuIndicator,\n          inSubmenu: props.submenu\n        },\n        toggle: {\n          accessibility: toolbarMenuItemCheckboxBehavior\n        }\n      };\n    },\n    shorthandConfig: {\n      mappedArrayProp: 'items'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'items', 'onItemClick', 'styles', 'submenu', 'submenuIndicator', 'variables']\n  });\n  ToolbarMenu.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    items: customPropTypes.collectionShorthandWithKindProp(['divider', 'item']),\n    onItemClick: PropTypes.func,\n    submenu: PropTypes.bool,\n    submenuIndicator: customPropTypes.shorthandAllowingChildren\n  });\n  ToolbarMenu.defaultProps = {\n    accessibility: toolbarMenuBehavior,\n    as: 'ul'\n  };\n  return ToolbarMenu;\n}();\n//# sourceMappingURL=ToolbarMenu.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarItemWrapperClassName = 'ui-toolbar__itemwrapper';\n/**\n * A ToolbarItemWrapper allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarItemWrapper = /*#__PURE__*/function () {\n  var ToolbarItemWrapper = compose(Box, {\n    className: toolbarItemWrapperClassName,\n    displayName: 'ToolbarItemWrapper',\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ToolbarItemWrapper.propTypes = commonPropTypes.createCommon();\n  return ToolbarItemWrapper;\n}();\n//# sourceMappingURL=ToolbarItemWrapper.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var toolbarItemIconClassName = 'ui-toolbar__itemicon';\n/**\n * A ToolbarItemIcon allows a user to have a dedicated component that can be targeted from the theme.\n */\n\nexport var ToolbarItemIcon = /*#__PURE__*/function () {\n  var ToolbarItemIcon = compose(Box, {\n    className: toolbarItemIconClassName,\n    displayName: 'ToolbarItemIcon',\n    overrideStyles: true,\n    shorthandConfig: {\n      mappedProp: 'content'\n    }\n  });\n  ToolbarItemIcon.propTypes = commonPropTypes.createCommon();\n  return ToolbarItemIcon;\n}();\n//# sourceMappingURL=ToolbarItemIcon.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _some from \"lodash/some\";\nimport _invoke from \"lodash/invoke\";\nimport { toolbarItemBehavior } from '@fluentui/accessibility';\nimport { compose, getElementType, mergeVariablesOverrides, useUnhandledProps, useFluentContext, useAccessibility, useStyles, useTelemetry, useContextSelectors } from '@fluentui/react-bindings';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { Unstable_NestingAuto } from '@fluentui/react-component-nesting-registry';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthand, doesNodeContainClick, commonPropTypes, childrenExist } from '../../utils';\nimport { partitionPopperPropsFromShorthand, Popper } from '../../utils/positioner';\nimport { ToolbarMenu } from './ToolbarMenu';\nimport { Popup } from '../Popup/Popup';\nimport { ToolbarVariablesContext, ToolbarVariablesProvider } from './toolbarVariablesContext';\nimport { ToolbarItemWrapper } from './ToolbarItemWrapper';\nimport { ToolbarItemIcon } from './ToolbarItemIcon';\nimport { ToolbarMenuContext } from './toolbarMenuContext';\nexport var toolbarItemClassName = 'ui-toolbar__item';\n/**\n * A ToolbarItem renders Toolbar item as a button with an icon.\n */\n\nexport var ToolbarItem = /*#__PURE__*/function () {\n  var ToolbarItem = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        active = props.active,\n        className = props.className,\n        design = props.design,\n        icon = props.icon,\n        children = props.children,\n        disabled = props.disabled,\n        popup = props.popup,\n        menuOpen = props.menuOpen,\n        wrapper = props.wrapper,\n        styles = props.styles,\n        variables = props.variables;\n\n    var _partitionPopperProps = partitionPopperPropsFromShorthand(props.menu),\n        menu = _partitionPopperProps[0],\n        positioningProps = _partitionPopperProps[1];\n\n    var itemRef = React.useRef();\n    var menuRef = React.useRef();\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var mergedVariables = mergeVariablesOverrides(parentVariables, variables);\n\n    var _ref = useContextSelectors(ToolbarMenuContext, {\n      menuSlot: function menuSlot(v) {\n        return v.slots.menu;\n      }\n    }),\n        menuSlot = _ref.menuSlot; // TODO: we should improve typings for the useContextSelectors\n\n\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      actionHandlers: {\n        performClick: function performClick(event) {\n          event.preventDefault();\n          handleClick(event);\n        },\n        performWrapperClick: function performWrapperClick(event) {\n          handleWrapperClick(event);\n        },\n        closeMenuAndFocusTrigger: function closeMenuAndFocusTrigger(event) {\n          trySetMenuOpen(false, event);\n\n          _invoke(itemRef.current, 'focus');\n        },\n        doNotNavigateNextToolbarItem: function doNotNavigateNextToolbarItem(event) {\n          event.stopPropagation();\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          as: String(props.as),\n          disabled: disabled,\n          hasMenu: !!menu,\n          hasPopup: !!popup,\n          menuOpen: menuOpen,\n          active: active\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          active: active,\n          disabled: disabled\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergedVariables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var handleBlur = function handleBlur(e) {\n      _invoke(props, 'onBlur', e, props);\n    };\n\n    var handleFocus = function handleFocus(e) {\n      _invoke(props, 'onFocus', e, props);\n    };\n\n    var handleClick = function handleClick(e) {\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      if (menu) {\n        trySetMenuOpen(!menuOpen, e);\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var handleWrapperClick = function handleWrapperClick(e) {\n      if (menu) {\n        if (doesNodeContainClick(menuRef.current, e.nativeEvent, context.target, false)) {\n          trySetMenuOpen(false, e);\n        }\n      }\n    };\n\n    var handleOutsideClick = function handleOutsideClick(getRefs) {\n      return function (e) {\n        var isItemClick = doesNodeContainClick(itemRef.current, e, context.target);\n\n        var isNestedClick = _some(getRefs(), function (childRef) {\n          return doesNodeContainClick(childRef.current, e, context.target);\n        });\n\n        var isInside = isItemClick || isNestedClick;\n\n        if (!isInside) {\n          trySetMenuOpen(false, e);\n        }\n      };\n    };\n\n    var trySetMenuOpen = function trySetMenuOpen(newValue, e) {\n      _invoke(props, 'onMenuOpenChange', e, Object.assign({}, props, {\n        menuOpen: newValue\n      }));\n    };\n\n    var handleMenuOverrides = function handleMenuOverrides(getRefs) {\n      return function (predefinedProps) {\n        return {\n          onBlur: function onBlur(e) {\n            var isInsideOrMenuTrigger = _some(getRefs(), function (childRef) {\n              return childRef.current.contains(e.relatedTarget) || itemRef.current.contains(e.relatedTarget);\n            });\n\n            if (!isInsideOrMenuTrigger) {\n              trySetMenuOpen(false, e);\n            }\n          },\n          onItemClick: function onItemClick(e, itemProps) {\n            var popup = itemProps.popup,\n                menuOpen = itemProps.menuOpen;\n\n            _invoke(predefinedProps, 'onItemClick', e, itemProps);\n\n            if (popup) {\n              return;\n            } // TODO: should we pass toolbarMenuItem to the user callback so he can decide if he wants to close the menu?\n\n\n            trySetMenuOpen(menuOpen, e);\n          }\n        };\n      };\n    };\n\n    var ElementType = getElementType(props);\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var itemElement = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: function innerRef(node) {\n        itemRef.current = node;\n        handleRef(ref, node);\n      }\n    }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({}, unhandledProps, {\n      disabled: disabled,\n      className: classes.root,\n      onBlur: handleBlur,\n      onFocus: handleFocus,\n      onClick: handleClick\n    })), childrenExist(children) ? children : createShorthand(composeOptions.slots.icon, icon, slotProps.icon)));\n    var submenuElement = menuOpen ? /*#__PURE__*/React.createElement(Unstable_NestingAuto, null, function (getRefs, nestingRef) {\n      return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n        innerRef: function innerRef(node) {\n          nestingRef.current = node;\n          menuRef.current = node;\n        }\n      }, /*#__PURE__*/React.createElement(Popper, _extends({\n        align: \"start\",\n        position: \"above\",\n        targetRef: itemRef\n      }, positioningProps), /*#__PURE__*/React.createElement(ToolbarVariablesProvider, {\n        value: mergedVariables\n      }, createShorthand(composeOptions.slots.menu || menuSlot || ToolbarMenu, menu, {\n        defaultProps: function defaultProps() {\n          return slotProps.menu;\n        },\n        overrideProps: handleMenuOverrides(getRefs)\n      })))), /*#__PURE__*/React.createElement(EventListener, {\n        listener: handleOutsideClick(getRefs),\n        target: context.target,\n        type: \"click\",\n        capture: true\n      }));\n    }) : null;\n\n    if (popup) {\n      var popupElement = createShorthand(composeOptions.slots.popup, popup, {\n        defaultProps: function defaultProps() {\n          return slotProps.popup;\n        },\n        overrideProps: {\n          trigger: itemElement,\n          children: undefined // force-reset `children` defined for `Popup` as it collides with the `trigger`\n\n        }\n      });\n      setEnd();\n      return popupElement;\n    } // wrap the item if it has menu (even if it is closed = not rendered)\n\n\n    if (menu) {\n      var contentElement = /*#__PURE__*/React.createElement(React.Fragment, null, itemElement, submenuElement);\n\n      if (wrapper) {\n        var wrapperElement = createShorthand(composeOptions.slots.wrapper, wrapper, {\n          defaultProps: function defaultProps() {\n            return getA11yProps('wrapper', slotProps.wrapper || {});\n          },\n          overrideProps: function overrideProps(predefinedProps) {\n            return {\n              children: contentElement,\n              onClick: function onClick(e) {\n                handleWrapperClick(e);\n\n                _invoke(predefinedProps, 'onClick', e);\n              }\n            };\n          }\n        });\n        setEnd();\n        return wrapperElement;\n      }\n\n      setEnd();\n      return contentElement;\n    }\n\n    setEnd();\n    return itemElement;\n  }, {\n    className: toolbarItemClassName,\n    displayName: 'ToolbarItem',\n    slots: {\n      icon: ToolbarItemIcon,\n      wrapper: ToolbarItemWrapper,\n      popup: Popup // TODO: compose Popup to ToolbarItemPopup once it has compose functionality\n\n    },\n    slotProps: function slotProps() {\n      return {\n        popup: {\n          trapFocus: true\n        }\n      };\n    },\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'styles', 'variables', 'active', 'disabled', 'icon', 'menu', 'menuOpen', 'onMenuOpenChange', 'onClick', 'onFocus', 'onBlur', 'popup', 'wrapper']\n  });\n  ToolbarItem.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    active: PropTypes.bool,\n    disabled: PropTypes.bool,\n    icon: customPropTypes.shorthandAllowingChildren,\n    menu: PropTypes.oneOfType([customPropTypes.shorthandAllowingChildren, PropTypes.arrayOf(customPropTypes.shorthandAllowingChildren)]),\n    menuOpen: PropTypes.bool,\n    onMenuOpenChange: PropTypes.func,\n    onClick: PropTypes.func,\n    onFocus: PropTypes.func,\n    onBlur: PropTypes.func,\n    popup: PropTypes.oneOfType([PropTypes.shape(Object.assign({}, Popup.propTypes, {\n      trigger: customPropTypes.never,\n      children: customPropTypes.never\n    })), PropTypes.string]),\n    wrapper: customPropTypes.shorthandAllowingChildren\n  });\n  ToolbarItem.defaultProps = {\n    as: 'button',\n    accessibility: toolbarItemBehavior,\n    wrapper: {}\n  };\n  return ToolbarItem;\n}();\n//# sourceMappingURL=ToolbarItem.js.map\n","import { buttonBehavior } from '../Button/buttonBehavior';\n/**\n * @specification\n *  Adds role='radio'. This allows screen readers to handle the component as a radio button.\n *  Adds attribute 'aria-checked=true' based on the property 'active'.\n *  Adds attribute 'aria-disabled=true' based on the property 'disabled'. This can be overriden by providing 'aria-disabled' property directly to the component.\n *  Triggers 'performClick' action with 'Enter' or 'Spacebar' on 'root'.\n */\n\nexport var toolbarRadioGroupItemBehavior = function toolbarRadioGroupItemBehavior(props) {\n  var definition = {\n    attributes: {\n      root: {\n        role: 'radio',\n        'aria-checked': props.active,\n        'aria-disabled': props.disabled\n      }\n    },\n    keyActions: buttonBehavior(props).keyActions\n  };\n\n  if (process.env.NODE_ENV !== 'production') {\n    // Override the default trigger's accessibility schema class.\n    definition.attributes.root['data-aa-class'] = 'RadioGroupItem';\n  }\n\n  return definition;\n};\n//# sourceMappingURL=toolbarRadioGroupItemBehavior.js.map\n","import { keyboardKey } from '../../keyboard-key';\n\n/**\n * @description\n * Implements ARIA Radio Group design pattern.\n * @specification\n *  Adds role='radiogroup'. This allows screen readers to handle the component as a radio group.\n *  Triggers 'nextItem' action with 'ArrowDown' on 'root'.\n *  Triggers 'prevItem' action with 'ArrowUp' on 'root'.\n */\nexport var toolbarRadioGroupBehavior = function toolbarRadioGroupBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'radiogroup'\n      }\n    },\n    keyActions: {\n      root: {\n        nextItem: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowDown\n          }]\n        },\n        prevItem: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowUp\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=toolbarRadioGroupBehavior.js.map\n","import _get from \"lodash/get\";\nimport _map from \"lodash/map\";\nimport _findIndex from \"lodash/findIndex\";\nimport _filter from \"lodash/filter\";\nimport { toolbarRadioGroupBehavior, toolbarRadioGroupItemBehavior } from '@fluentui/accessibility';\nimport { compose, getElementType, mergeVariablesOverrides, useUnhandledProps, useAccessibility, useStyles, useFluentContext, useTelemetry } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthand, childrenExist, commonPropTypes } from '../../utils';\nimport { ToolbarDivider } from './ToolbarDivider';\nimport { ToolbarItem } from './ToolbarItem';\nimport { ToolbarVariablesContext, ToolbarVariablesProvider } from './toolbarVariablesContext';\nexport var toolbarRadioGroupClassName = 'ui-toolbars'; // FIXME: required by getComponentInfo/isConformant. But this is group inside a toolbar not a group of toolbars\n\n/**\n * A ToolbarRadioGroup renders Toolbar item as a group of mutually exclusive options.\n * Component doesn't implement mutual exclusiveness, it just serves accessibility purposes.\n *\n * @accessibility\n * Implements [ARIA RadioGroup](https://www.w3.org/TR/wai-aria-practices/#radiobutton) design pattern.\n */\n\nexport var ToolbarRadioGroup = /*#__PURE__*/function () {\n  var ToolbarRadioGroup = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        activeIndex = props.activeIndex,\n        children = props.children,\n        className = props.className,\n        design = props.design,\n        items = props.items,\n        variables = props.variables,\n        styles = props.styles;\n    var itemRefs = [];\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var parentVariables = React.useContext(ToolbarVariablesContext);\n    var mergedVariables = mergeVariablesOverrides(parentVariables, variables);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      actionHandlers: {\n        nextItem: function nextItem(event) {\n          return setFocusedItem(event, 1);\n        },\n        prevItem: function prevItem(event) {\n          return setFocusedItem(event, -1);\n        }\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: composeOptions.className,\n      composeOptions: composeOptions,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: mergedVariables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var setFocusedItem = function setFocusedItem(event, direction) {\n      // filter items which are not disabled\n      var filteredRadioItems = _filter(itemRefs, function (item, index) {\n        var currentItem = items[index];\n        return currentItem && !currentItem.disabled;\n      }); // get the index of currently focused element (w/ tabindex = 0) or the first one as default\n\n\n      var currentFocusedIndex = _findIndex(filteredRadioItems, function (item) {\n        return item.current.tabIndex === 0;\n      }) || 0;\n      var itemsLength = filteredRadioItems.length;\n      var nextIndex = currentFocusedIndex + direction;\n\n      if (nextIndex >= itemsLength) {\n        nextIndex = 0;\n      }\n\n      if (nextIndex < 0) {\n        nextIndex = itemsLength - 1;\n      }\n\n      var nextItemToFocus = filteredRadioItems[nextIndex].current;\n\n      if (nextItemToFocus) {\n        nextItemToFocus.focus();\n      }\n\n      if (context.target.activeElement === nextItemToFocus) {\n        event.stopPropagation();\n      }\n\n      event.preventDefault();\n    };\n\n    var renderItems = function renderItems() {\n      return _map(items, function (item, index) {\n        var kind = _get(item, 'kind', 'item');\n\n        var ref = /*#__PURE__*/React.createRef();\n        itemRefs[index] = ref;\n\n        if (kind === 'divider') {\n          return createShorthand(composeOptions.slots.divider, item, {\n            defaultProps: function defaultProps() {\n              return slotProps.divider;\n            }\n          });\n        }\n\n        var toolbarItem = createShorthand(composeOptions.slots.item, item, {\n          defaultProps: function defaultProps() {\n            return Object.assign({}, slotProps.item, {\n              active: activeIndex === index\n            });\n          }\n        });\n        return /*#__PURE__*/React.createElement(Ref, {\n          innerRef: ref,\n          key: toolbarItem.key\n        }, toolbarItem);\n      });\n    };\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({}, unhandledProps, {\n      className: classes.root,\n      ref: ref\n    })), /*#__PURE__*/React.createElement(ToolbarVariablesProvider, {\n      value: mergedVariables\n    }, childrenExist(children) ? children : renderItems()));\n    setEnd();\n    return element;\n  }, {\n    className: toolbarRadioGroupClassName,\n    displayName: 'ToolbarRadioGroup',\n    slots: {\n      item: ToolbarItem,\n      divider: ToolbarDivider\n    },\n    slotProps: function slotProps() {\n      return {\n        item: {\n          accessibility: toolbarRadioGroupItemBehavior\n        }\n      };\n    },\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'styles', 'variables', 'activeIndex', 'items']\n  });\n  ToolbarRadioGroup.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    activeIndex: PropTypes.number,\n    items: customPropTypes.collectionShorthandWithKindProp(['divider', 'item'])\n  });\n  ToolbarRadioGroup.defaultProps = {\n    accessibility: toolbarRadioGroupBehavior\n  };\n  return ToolbarRadioGroup;\n}();\n//# sourceMappingURL=ToolbarRadioGroup.js.map\n","import _get from \"lodash/get\";\nimport _map from \"lodash/map\";\nimport _debounce from \"lodash/debounce\";\nimport _invoke from \"lodash/invoke\";\nimport _forEachRight from \"lodash/forEachRight\";\nimport { toolbarBehavior, toggleButtonBehavior, IS_FOCUSABLE_ATTRIBUTE } from '@fluentui/accessibility';\nimport { compose, getElementType, getFirstFocusable, useFluentContext, useAccessibility, useStyles, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport { MoreIcon } from '@fluentui/react-icons-northstar';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthand, commonPropTypes } from '../../utils';\nimport { ToolbarCustomItem } from './ToolbarCustomItem';\nimport { ToolbarDivider } from './ToolbarDivider';\nimport { ToolbarItem } from './ToolbarItem';\nimport { ToolbarItemWrapper } from './ToolbarItemWrapper';\nimport { ToolbarItemIcon } from './ToolbarItemIcon';\nimport { ToolbarMenu } from './ToolbarMenu';\nimport { ToolbarMenuDivider } from './ToolbarMenuDivider';\nimport { ToolbarMenuItem } from './ToolbarMenuItem';\nimport { ToolbarMenuRadioGroup } from './ToolbarMenuRadioGroup';\nimport { ToolbarMenuRadioGroupWrapper } from './ToolbarMenuRadioGroupWrapper';\nimport { ToolbarRadioGroup } from './ToolbarRadioGroup';\nimport { ToolbarVariablesProvider } from './toolbarVariablesContext';\nimport { ToolbarMenuItemSubmenuIndicator } from './ToolbarMenuItemSubmenuIndicator';\nimport { ToolbarMenuItemIcon } from './ToolbarMenuItemIcon';\nimport { ToolbarMenuItemActiveIndicator } from './ToolbarMenuItemActiveIndicator';\nimport { ToolbarMenuContextProvider } from './toolbarMenuContext';\nimport { Box } from '../Box/Box';\nvar WAS_FOCUSABLE_ATTRIBUTE = 'data-was-focusable';\nexport var toolbarClassName = 'ui-toolbar';\n/**\n * A Toolbar is a container for grouping a set of controls, often action controls (e.g. buttons) or input controls (e.g. checkboxes).\n *\n * @accessibility\n *  * Implements [ARIA Toolbar](https://www.w3.org/TR/wai-aria-practices-1.1/#toolbar) design pattern.\n * @accessibilityIssues\n * [Issue 988424: VoiceOver narrates selected for button in toolbar](https://bugs.chromium.org/p/chromium/issues/detail?id=988424)\n * [In toolbars that can toggle items in a menu, VoiceOver narrates \"1\" for menuitemcheckbox/radio when checked.](https://github.com/microsoft/fluentui/issues/14064)\n */\n\nexport var Toolbar = /*#__PURE__*/function () {\n  var Toolbar = compose(function (props, ref, composeOptions) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(composeOptions.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        className = props.className,\n        children = props.children,\n        design = props.design,\n        getOverflowItems = props.getOverflowItems,\n        items = props.items,\n        overflow = props.overflow,\n        overflowItem = props.overflowItem,\n        overflowOpen = props.overflowOpen,\n        overflowSentinel = props.overflowSentinel,\n        styles = props.styles,\n        variables = props.variables;\n    var overflowContainerRef = React.useRef();\n    var overflowItemWrapperRef = React.useRef();\n    var overflowSentinelRef = React.useRef();\n    var offsetMeasureRef = React.useRef();\n    var containerRef = React.useRef(); // index of the last visible item in Toolbar, the rest goes to overflow menu\n\n    var lastVisibleItemIndex = React.useRef();\n    var animationFrameId = React.useRef();\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: composeOptions.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(composeOptions.displayName, {\n      className: toolbarClassName,\n      composeOptions: composeOptions,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          overflowOpen: overflowOpen\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl,\n      unstable_props: props\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var slotProps = composeOptions.resolveSlotProps(props);\n    var unhandledProps = useUnhandledProps(composeOptions.handledProps, props);\n\n    var hide = function hide(el) {\n      if (el.style.visibility === 'hidden') {\n        return;\n      }\n\n      if (context.target.activeElement === el || el.contains(context.target.activeElement)) {\n        if (containerRef.current) {\n          var firstFocusableItem = getFirstFocusable(containerRef.current, containerRef.current.firstElementChild);\n\n          if (firstFocusableItem) {\n            firstFocusableItem.focus();\n          }\n        }\n      }\n\n      el.style.visibility = 'hidden';\n      var wasFocusable = el.getAttribute(IS_FOCUSABLE_ATTRIBUTE);\n\n      if (wasFocusable) {\n        el.setAttribute(WAS_FOCUSABLE_ATTRIBUTE, wasFocusable);\n      }\n\n      el.setAttribute(IS_FOCUSABLE_ATTRIBUTE, 'false');\n    };\n\n    var show = function show(el) {\n      if (el.style.visibility !== 'hidden') {\n        return false;\n      }\n\n      el.style.visibility = '';\n      var wasFocusable = el.getAttribute(WAS_FOCUSABLE_ATTRIBUTE);\n\n      if (wasFocusable) {\n        el.setAttribute(IS_FOCUSABLE_ATTRIBUTE, wasFocusable);\n        el.removeAttribute(WAS_FOCUSABLE_ATTRIBUTE);\n      } else {\n        el.removeAttribute(IS_FOCUSABLE_ATTRIBUTE);\n      }\n\n      return true;\n    };\n    /**\n     * Checks if `item` overflows a `container`.\n     * TODO: check and fix all margin combination\n     */\n\n\n    var isItemOverflowing = function isItemOverflowing(itemBoundingRect, containerBoundingRect) {\n      return itemBoundingRect.right > containerBoundingRect.right || itemBoundingRect.left < containerBoundingRect.left;\n    };\n    /**\n     * Checks if `item` would collide with eventual position of `overflowItem`.\n     */\n\n\n    var wouldItemCollide = function wouldItemCollide($item, itemBoundingRect, overflowItemBoundingRect, containerBoundingRect) {\n      var actualWindow = context.target.defaultView;\n      var wouldCollide;\n\n      if (context.rtl) {\n        var itemLeftMargin = parseFloat(actualWindow.getComputedStyle($item).marginLeft) || 0;\n        wouldCollide = itemBoundingRect.left - overflowItemBoundingRect.width - itemLeftMargin < containerBoundingRect.left; // console.log('Collision [RTL]', {\n        //   wouldCollide,\n        //   'itemBoundingRect.left': itemBoundingRect.left,\n        //   'overflowItemBoundingRect.width': overflowItemBoundingRect.width,\n        //   itemRightMargin: itemLeftMargin,\n        //   sum: itemBoundingRect.left - overflowItemBoundingRect.width - itemLeftMargin,\n        //   'overflowContainerBoundingRect.left': containerBoundingRect.left,\n        // })\n      } else {\n        var itemRightMargin = parseFloat(actualWindow.getComputedStyle($item).marginRight) || 0;\n        wouldCollide = itemBoundingRect.right + overflowItemBoundingRect.width + itemRightMargin > containerBoundingRect.right; // console.log('Collision', {\n        //   wouldCollide,\n        //   'itemBoundingRect.right': itemBoundingRect.right,\n        //   'overflowItemBoundingRect.width': overflowItemBoundingRect.width,\n        //   itemRightMargin,\n        //   sum: itemBoundingRect.right + overflowItemBoundingRect.width + itemRightMargin,\n        //   'overflowContainerBoundingRect.right': containerBoundingRect.right,\n        // })\n      }\n\n      return wouldCollide;\n    };\n    /**\n     * Positions overflowItem next to lastVisible item\n     * TODO: consider overflowItem margin\n     */\n\n\n    var setOverflowPosition = function setOverflowPosition($overflowItem, $lastVisibleItem, lastVisibleItemRect, containerBoundingRect, absolutePositioningOffset) {\n      var actualWindow = context.target.defaultView;\n\n      if ($lastVisibleItem) {\n        if (context.rtl) {\n          var lastVisibleItemMarginLeft = parseFloat(actualWindow.getComputedStyle($lastVisibleItem).marginLeft) || 0;\n          $overflowItem.style.right = containerBoundingRect.right - lastVisibleItemRect.left + lastVisibleItemMarginLeft + absolutePositioningOffset.horizontal + \"px\";\n        } else {\n          var lastVisibleItemRightMargin = parseFloat(actualWindow.getComputedStyle($lastVisibleItem).marginRight) || 0;\n          $overflowItem.style.left = lastVisibleItemRect.right - containerBoundingRect.left + lastVisibleItemRightMargin + absolutePositioningOffset.horizontal + \"px\";\n        }\n      } else {\n        // there is no last visible item -> position the overflow as the first item\n        lastVisibleItemIndex.current = -1;\n\n        if (context.rtl) {\n          $overflowItem.style.right = absolutePositioningOffset.horizontal + \"px\";\n        } else {\n          $overflowItem.style.left = absolutePositioningOffset.horizontal + \"px\";\n        }\n      }\n    };\n\n    var hideOverflowItems = function hideOverflowItems() {\n      var $overflowContainer = overflowContainerRef.current;\n      var $overflowItem = overflowItemWrapperRef.current;\n      var $overflowSentinel = overflowSentinelRef.current;\n      var $offsetMeasure = offsetMeasureRef.current;\n\n      if (!$overflowContainer || !$overflowItem || !$offsetMeasure) {\n        return;\n      } // workaround: when resizing window with popup opened the container contents scroll for some reason\n\n\n      if (context.rtl) {\n        $overflowContainer.scrollTo(Number.MAX_SAFE_INTEGER, 0);\n      } else {\n        $overflowContainer.scrollTop = 0;\n        $overflowContainer.scrollLeft = 0;\n      }\n\n      var $items = $overflowContainer.children;\n      var overflowContainerBoundingRect = $overflowContainer.getBoundingClientRect();\n      var overflowItemBoundingRect = $overflowItem.getBoundingClientRect();\n      var offsetMeasureBoundingRect = $offsetMeasure.getBoundingClientRect(); // Absolute positioning offset\n      // Overflow menu is absolutely positioned relative to root slot\n      // If there is padding set on the root slot boundingClientRect computations use inner content box,\n      // but absolute position is relative to root slot's PADDING box.\n      // We compute absolute positioning offset\n      // By measuring position of an offsetMeasure element absolutely positioned to 0,0.\n      // TODO: replace by getComputedStyle('padding')\n\n      var absolutePositioningOffset = {\n        horizontal: context.rtl ? offsetMeasureBoundingRect.right - overflowContainerBoundingRect.right : overflowContainerBoundingRect.left - offsetMeasureBoundingRect.left,\n        vertical: overflowContainerBoundingRect.top - offsetMeasureBoundingRect.top\n      };\n      var isOverflowing = false;\n      var $lastVisibleItem;\n      var lastVisibleItemRect; // check all items from the last one back\n\n      _forEachRight($items, function ($item, i) {\n        if ($item === $overflowItem || $item === $overflowSentinel) {\n          return true;\n        }\n\n        var itemBoundingRect = $item.getBoundingClientRect(); // if the item is out of the crop rectangle, hide it\n\n        if (isItemOverflowing(itemBoundingRect, overflowContainerBoundingRect)) {\n          isOverflowing = true; // console.log('Overflow', i, {\n          //   item: [itemBoundingRect.left, itemBoundingRect.right],\n          //   crop: [\n          //     overflowContainerBoundingRect.left,\n          //     overflowContainerBoundingRect.right,\n          //     overflowContainerBoundingRect.width,\n          //   ],\n          //   container: $overflowContainer,\n          // })\n\n          hide($item);\n          return true;\n        } // if there is an overflow, check collision of remaining items with eventual overflow position\n\n\n        if (isOverflowing && !$lastVisibleItem && wouldItemCollide($item, itemBoundingRect, overflowItemBoundingRect, overflowContainerBoundingRect)) {\n          hide($item);\n          return true;\n        } // Remember the last visible item\n\n\n        if (!$lastVisibleItem) {\n          $lastVisibleItem = $item;\n          lastVisibleItemRect = itemBoundingRect;\n          lastVisibleItemIndex.current = i;\n        }\n\n        return show($item); // exit the loop when first visible item is found\n      }); // if there is an overflow,  position and show overflow item, otherwise hide it\n\n\n      if (isOverflowing || overflowOpen) {\n        $overflowItem.style.position = 'absolute';\n        setOverflowPosition($overflowItem, $lastVisibleItem, lastVisibleItemRect, overflowContainerBoundingRect, absolutePositioningOffset);\n        show($overflowItem);\n      } else {\n        lastVisibleItemIndex.current = items.length - 1;\n        hide($overflowItem);\n      }\n\n      _invoke(props, 'onOverflow', lastVisibleItemIndex.current + 1);\n    };\n\n    var collectOverflowItems = function collectOverflowItems() {\n      // console.log('getOverflowItems()', items.slice(lastVisibleItemIndex.current + 1))\n      return getOverflowItems ? getOverflowItems(lastVisibleItemIndex.current + 1) : items.slice(lastVisibleItemIndex.current + 1);\n    };\n\n    var getVisibleItems = function getVisibleItems() {\n      // console.log('allItems()', items)\n      var end = overflowOpen ? lastVisibleItemIndex.current + 1 : items.length; // console.log('getVisibleItems()', items.slice(0, end))\n\n      return items.slice(0, end);\n    };\n\n    var handleWindowResize = _debounce(function (e) {\n      hideOverflowItems();\n\n      if (overflowOpen) {\n        _invoke(props, 'onOverflowOpenChange', e, Object.assign({}, props, {\n          overflowOpen: false\n        }));\n      }\n    }, 16);\n\n    var renderItems = function renderItems(items) {\n      return _map(items, function (item) {\n        var kind = _get(item, 'kind', 'item');\n\n        switch (kind) {\n          case 'divider':\n            return createShorthand(composeOptions.slots.divider, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.divider;\n              }\n            });\n\n          case 'group':\n            return createShorthand(composeOptions.slots.group, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.group;\n              }\n            });\n\n          case 'toggle':\n            return createShorthand(composeOptions.slots.toggle, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.toggle;\n              }\n            });\n\n          case 'custom':\n            return createShorthand(composeOptions.slots.customItem, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.customItem;\n              }\n            });\n\n          default:\n            return createShorthand(composeOptions.slots.item, item, {\n              defaultProps: function defaultProps() {\n                return slotProps.item;\n              }\n            });\n        }\n      });\n    };\n\n    var renderOverflowItem = function renderOverflowItem(overflowItem) {\n      return createShorthand(composeOptions.slots.overflowItem, overflowItem, {\n        defaultProps: function defaultProps() {\n          return slotProps.overflowItem;\n        },\n        overrideProps: function overrideProps(predefinedProps) {\n          var _predefinedProps$menu;\n\n          return {\n            menu: {\n              items: overflowOpen ? collectOverflowItems() : [],\n              popper: Object.assign({\n                positionFixed: true\n              }, (_predefinedProps$menu = predefinedProps.menu) == null ? void 0 : _predefinedProps$menu.popper)\n            },\n            menuOpen: overflowOpen,\n            onMenuOpenChange: function onMenuOpenChange(e, _ref) {\n              var menuOpen = _ref.menuOpen;\n\n              _invoke(props, 'onOverflowOpenChange', e, Object.assign({}, props, {\n                overflowOpen: menuOpen\n              }));\n            },\n            wrapper: {\n              ref: overflowItemWrapperRef\n            }\n          };\n        }\n      });\n    }; // renders a sentinel div that maintains the toolbar dimensions when the the overflow menu is open\n    // hidden elements are removed from the DOM\n\n\n    var renderOverflowSentinel = function renderOverflowSentinel() {\n      return /*#__PURE__*/React.createElement(Ref, {\n        innerRef: function innerRef(element) {\n          overflowSentinelRef.current = element;\n        }\n      }, Box.create(overflowSentinel, {\n        defaultProps: function defaultProps() {\n          return {\n            id: 'sentinel',\n            className: classes.overflowSentinel\n          };\n        }\n      }));\n    };\n\n    React.useEffect(function () {\n      var actualWindow = context.target.defaultView;\n      actualWindow.cancelAnimationFrame(animationFrameId.current); // Heads up! There are cases (like opening a portal and rendering the Toolbar there immediately) when rAF is necessary\n\n      animationFrameId.current = actualWindow.requestAnimationFrame(function () {\n        hideOverflowItems();\n      });\n      return function () {\n        if (animationFrameId.current !== undefined) {\n          var _context$target$defau;\n\n          (_context$target$defau = context.target.defaultView) == null ? void 0 : _context$target$defau.cancelAnimationFrame(animationFrameId.current);\n          animationFrameId.current = undefined;\n        }\n      };\n    });\n    var element = overflow ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n      innerRef: function innerRef(node) {\n        containerRef.current = node;\n        handleRef(ref, node);\n      }\n    }, getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), /*#__PURE__*/React.createElement(\"div\", {\n      className: classes.overflowContainer,\n      ref: overflowContainerRef\n    }, /*#__PURE__*/React.createElement(ToolbarMenuContextProvider, {\n      value: {\n        slots: {\n          menu: composeOptions.slots.menu\n        }\n      }\n    }, /*#__PURE__*/React.createElement(ToolbarVariablesProvider, {\n      value: variables\n    }, childrenExist(children) ? children : renderItems(getVisibleItems()), overflowSentinel && renderOverflowSentinel(), renderOverflowItem(overflowItem)))), /*#__PURE__*/React.createElement(\"div\", {\n      className: classes.offsetMeasure,\n      ref: offsetMeasureRef\n    })))), /*#__PURE__*/React.createElement(EventListener, {\n      listener: handleWindowResize,\n      target: context.target.defaultView,\n      type: \"resize\"\n    })) : /*#__PURE__*/React.createElement(Ref, {\n      innerRef: function innerRef(node) {\n        containerRef.current = node;\n        handleRef(ref, node);\n      }\n    }, getA11Props.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), /*#__PURE__*/React.createElement(ToolbarMenuContextProvider, {\n      value: {\n        slots: {\n          menu: composeOptions.slots.menu\n        }\n      }\n    }, /*#__PURE__*/React.createElement(ToolbarVariablesProvider, {\n      value: variables\n    }, childrenExist(children) ? children : renderItems(items))))));\n    setEnd();\n    return element;\n  }, {\n    className: toolbarClassName,\n    displayName: 'Toolbar',\n    slots: {\n      customItem: ToolbarCustomItem,\n      divider: ToolbarDivider,\n      item: ToolbarItem,\n      group: ToolbarRadioGroup,\n      toggle: ToolbarItem,\n      overflowItem: ToolbarItem,\n      menu: ToolbarMenu\n    },\n    slotProps: function slotProps() {\n      return {\n        toggle: {\n          accessibility: toggleButtonBehavior\n        },\n        overflowItem: {\n          icon: /*#__PURE__*/React.createElement(MoreIcon, {\n            outline: true\n          })\n        }\n      };\n    },\n    shorthandConfig: {\n      mappedProp: 'content'\n    },\n    handledProps: ['accessibility', 'as', 'children', 'className', 'content', 'design', 'getOverflowItems', 'items', 'onOverflow', 'onOverflowOpenChange', 'overflow', 'overflowItem', 'overflowOpen', 'overflowSentinel', 'styles', 'variables']\n  });\n  Toolbar.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    items: customPropTypes.collectionShorthandWithKindProp(['divider', 'item', 'group', 'toggle', 'custom']),\n    overflow: PropTypes.bool,\n    overflowOpen: PropTypes.bool,\n    overflowSentinel: customPropTypes.shorthandAllowingChildren,\n    overflowItem: customPropTypes.shorthandAllowingChildren,\n    onOverflow: PropTypes.func,\n    onOverflowOpenChange: PropTypes.func,\n    getOverflowItems: PropTypes.func\n  });\n  Toolbar.defaultProps = {\n    accessibility: toolbarBehavior,\n    items: [],\n    overflowItem: {},\n    overflowSentinel: {}\n  };\n  Toolbar.CustomItem = ToolbarCustomItem;\n  Toolbar.Divider = ToolbarDivider;\n  Toolbar.Item = ToolbarItem;\n  Toolbar.ItemWrapper = ToolbarItemWrapper;\n  Toolbar.ItemIcon = ToolbarItemIcon;\n  Toolbar.Menu = ToolbarMenu;\n  Toolbar.MenuDivider = ToolbarMenuDivider;\n  Toolbar.MenuItem = ToolbarMenuItem;\n  Toolbar.MenuItemIcon = ToolbarMenuItemIcon;\n  Toolbar.MenuItemSubmenuIndicator = ToolbarMenuItemSubmenuIndicator;\n  Toolbar.MenuItemActiveIndicator = ToolbarMenuItemActiveIndicator;\n  Toolbar.MenuRadioGroup = ToolbarMenuRadioGroup;\n  Toolbar.MenuRadioGroupWrapper = ToolbarMenuRadioGroupWrapper;\n  Toolbar.RadioGroup = ToolbarRadioGroup;\n  return Toolbar;\n}();\n//# sourceMappingURL=Toolbar.js.map\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\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;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\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 () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","import { __assign } from \"tslib\";\nexport var InjectionMode = {\n    /**\n     * Avoids style injection, use getRules() to read the styles.\n     */\n    none: 0,\n    /**\n     * Inserts rules using the insertRule api.\n     */\n    insertNode: 1,\n    /**\n     * Appends rules using appendChild.\n     */\n    appendChild: 2,\n};\nvar STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nvar REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\nvar _global = {};\n// Grab window.\ntry {\n    _global = window;\n}\ncatch (_a) {\n    /* leave as blank object */\n}\nvar _stylesheet;\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nvar Stylesheet = /** @class */ (function () {\n    function Stylesheet(config) {\n        this._rules = [];\n        this._preservedRules = [];\n        this._rulesToInsert = [];\n        this._counter = 0;\n        this._keyToClassName = {};\n        this._onResetCallbacks = [];\n        this._classNameToArgs = {};\n        this._config = __assign({ injectionMode: InjectionMode.insertNode, defaultPrefix: 'css', namespace: undefined, cspSettings: undefined }, config);\n        this._keyToClassName = this._config.classNameCache || {};\n    }\n    /**\n     * Gets the singleton instance.\n     */\n    Stylesheet.getInstance = function () {\n        var _a;\n        _stylesheet = _global[STYLESHEET_SETTING];\n        if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n            var fabricConfig = ((_a = _global) === null || _a === void 0 ? void 0 : _a.FabricConfig) || {};\n            _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n        }\n        return _stylesheet;\n    };\n    /**\n     * Configures the stylesheet.\n     */\n    Stylesheet.prototype.setConfig = function (config) {\n        this._config = __assign(__assign({}, this._config), config);\n    };\n    /**\n     * Configures a reset callback.\n     *\n     * @param callback - A callback which will be called when the Stylesheet is reset.\n     */\n    Stylesheet.prototype.onReset = function (callback) {\n        this._onResetCallbacks.push(callback);\n    };\n    /**\n     * Generates a unique classname.\n     *\n     * @param displayName - Optional value to use as a prefix.\n     */\n    Stylesheet.prototype.getClassName = function (displayName) {\n        var namespace = this._config.namespace;\n        var prefix = displayName || this._config.defaultPrefix;\n        return \"\" + (namespace ? namespace + '-' : '') + prefix + \"-\" + this._counter++;\n    };\n    /**\n     * Used internally to cache information about a class which was\n     * registered with the stylesheet.\n     */\n    Stylesheet.prototype.cacheClassName = function (className, key, args, rules) {\n        this._keyToClassName[key] = className;\n        this._classNameToArgs[className] = {\n            args: args,\n            rules: rules,\n        };\n    };\n    /**\n     * Gets the appropriate classname given a key which was previously\n     * registered using cacheClassName.\n     */\n    Stylesheet.prototype.classNameFromKey = function (key) {\n        return this._keyToClassName[key];\n    };\n    /**\n     * Gets all classnames cache with the stylesheet.\n     */\n    Stylesheet.prototype.getClassNameCache = function () {\n        return this._keyToClassName;\n    };\n    /**\n     * Gets the arguments associated with a given classname which was\n     * previously registered using cacheClassName.\n     */\n    Stylesheet.prototype.argsFromClassName = function (className) {\n        var entry = this._classNameToArgs[className];\n        return entry && entry.args;\n    };\n    /**\n     * Gets the arguments associated with a given classname which was\n     * previously registered using cacheClassName.\n     */\n    Stylesheet.prototype.insertedRulesFromClassName = function (className) {\n        var entry = this._classNameToArgs[className];\n        return entry && entry.rules;\n    };\n    /**\n     * Inserts a css rule into the stylesheet.\n     * @param preserve - Preserves the rule beyond a reset boundary.\n     */\n    Stylesheet.prototype.insertRule = function (rule, preserve) {\n        var injectionMode = this._config.injectionMode;\n        var element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n        if (preserve) {\n            this._preservedRules.push(rule);\n        }\n        if (element) {\n            switch (this._config.injectionMode) {\n                case InjectionMode.insertNode:\n                    var sheet = element.sheet;\n                    try {\n                        sheet.insertRule(rule, sheet.cssRules.length);\n                    }\n                    catch (e) {\n                        // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n                        // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n                        // which could be slower and bulkier.\n                    }\n                    break;\n                case InjectionMode.appendChild:\n                    element.appendChild(document.createTextNode(rule));\n                    break;\n            }\n        }\n        else {\n            this._rules.push(rule);\n        }\n        if (this._config.onInsertRule) {\n            this._config.onInsertRule(rule);\n        }\n    };\n    /**\n     * Gets all rules registered with the stylesheet; only valid when\n     * using InsertionMode.none.\n     */\n    Stylesheet.prototype.getRules = function (includePreservedRules) {\n        return ((includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('') + this._rulesToInsert.join(''));\n    };\n    /**\n     * Resets the internal state of the stylesheet. Only used in server\n     * rendered scenarios where we're using InsertionMode.none.\n     */\n    Stylesheet.prototype.reset = function () {\n        this._rules = [];\n        this._rulesToInsert = [];\n        this._counter = 0;\n        this._classNameToArgs = {};\n        this._keyToClassName = {};\n        this._onResetCallbacks.forEach(function (callback) { return callback(); });\n    };\n    // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n    Stylesheet.prototype.resetKeys = function () {\n        this._keyToClassName = {};\n    };\n    Stylesheet.prototype._getStyleElement = function () {\n        var _this = this;\n        if (!this._styleElement && typeof document !== 'undefined') {\n            this._styleElement = this._createStyleElement();\n            if (!REUSE_STYLE_NODE) {\n                // Reset the style element on the next frame.\n                window.requestAnimationFrame(function () {\n                    _this._styleElement = undefined;\n                });\n            }\n        }\n        return this._styleElement;\n    };\n    Stylesheet.prototype._createStyleElement = function () {\n        var head = document.head;\n        var styleElement = document.createElement('style');\n        styleElement.setAttribute('data-merge-styles', 'true');\n        var cspSettings = this._config.cspSettings;\n        if (cspSettings) {\n            if (cspSettings.nonce) {\n                styleElement.setAttribute('nonce', cspSettings.nonce);\n            }\n        }\n        if (this._lastStyleElement) {\n            // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n            // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n            head.insertBefore(styleElement, this._lastStyleElement.nextElementSibling);\n        }\n        else {\n            var placeholderStyleTag = this._findPlaceholderStyleTag();\n            if (placeholderStyleTag) {\n                head.insertBefore(styleElement, placeholderStyleTag.nextElementSibling);\n            }\n            else {\n                head.insertBefore(styleElement, head.childNodes[0]);\n            }\n        }\n        this._lastStyleElement = styleElement;\n        return styleElement;\n    };\n    Stylesheet.prototype._findPlaceholderStyleTag = function () {\n        var head = document.head;\n        if (head) {\n            return head.querySelector('style[data-merge-styles]');\n        }\n        return null;\n    };\n    return Stylesheet;\n}());\nexport { Stylesheet };\n//# sourceMappingURL=Stylesheet.js.map","/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL) {\n    if (_rtl !== isRTL) {\n        _rtl = isRTL;\n    }\n}\n/**\n * Gets the current RTL value.\n */\nexport function getRTL() {\n    if (_rtl === undefined) {\n        _rtl =\n            typeof document !== 'undefined' &&\n                !!document.documentElement &&\n                document.documentElement.getAttribute('dir') === 'rtl';\n    }\n    return _rtl;\n}\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nvar _rtl;\n_rtl = getRTL();\nexport function getStyleOptions() {\n    return {\n        rtl: getRTL(),\n    };\n}\n//# sourceMappingURL=StyleOptionsState.js.map","var rules = {};\nexport function kebabRules(rulePairs, index) {\n    var rule = rulePairs[index];\n    if (rule.charAt(0) !== '-') {\n        rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n    }\n}\n//# sourceMappingURL=kebabRules.js.map","var _vendorSettings;\nexport function getVendorSettings() {\n    if (!_vendorSettings) {\n        var doc = typeof document !== 'undefined' ? document : undefined;\n        var nav = typeof navigator !== 'undefined' ? navigator : undefined;\n        var userAgent = nav ? nav.userAgent.toLowerCase() : undefined;\n        if (!doc) {\n            _vendorSettings = {\n                isWebkit: true,\n                isMoz: true,\n                isOpera: true,\n                isMs: true,\n            };\n        }\n        else {\n            _vendorSettings = {\n                isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n                isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n                isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n                isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n            };\n        }\n    }\n    return _vendorSettings;\n}\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings) {\n    _vendorSettings = vendorSettings;\n}\n//# sourceMappingURL=getVendorSettings.js.map","import { getVendorSettings } from '../getVendorSettings';\nvar autoPrefixNames = {\n    'user-select': 1,\n};\nexport function prefixRules(rulePairs, index) {\n    var vendorSettings = getVendorSettings();\n    var name = rulePairs[index];\n    if (autoPrefixNames[name]) {\n        var value = rulePairs[index + 1];\n        if (autoPrefixNames[name]) {\n            if (vendorSettings.isWebkit) {\n                rulePairs.push('-webkit-' + name, value);\n            }\n            if (vendorSettings.isMoz) {\n                rulePairs.push('-moz-' + name, value);\n            }\n            if (vendorSettings.isMs) {\n                rulePairs.push('-ms-' + name, value);\n            }\n            if (vendorSettings.isOpera) {\n                rulePairs.push('-o-' + name, value);\n            }\n        }\n    }\n}\n//# sourceMappingURL=prefixRules.js.map","var NON_PIXEL_NUMBER_PROPS = [\n    'column-count',\n    'font-weight',\n    'flex',\n    'flex-grow',\n    'flex-shrink',\n    'fill-opacity',\n    'opacity',\n    'order',\n    'z-index',\n    'zoom',\n];\nexport function provideUnits(rulePairs, index) {\n    var name = rulePairs[index];\n    var value = rulePairs[index + 1];\n    if (typeof value === 'number') {\n        var isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name) > -1;\n        var isVariableOrPrefixed = name.indexOf('--') > -1;\n        var unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n        rulePairs[index + 1] = \"\" + value + unit;\n    }\n}\n//# sourceMappingURL=provideUnits.js.map","var _a;\nvar LEFT = 'left';\nvar RIGHT = 'right';\nvar NO_FLIP = '@noflip';\nvar NAME_REPLACEMENTS = (_a = {},\n    _a[LEFT] = RIGHT,\n    _a[RIGHT] = LEFT,\n    _a);\nvar VALUE_REPLACEMENTS = {\n    'w-resize': 'e-resize',\n    'sw-resize': 'se-resize',\n    'nw-resize': 'ne-resize',\n};\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options, rulePairs, index) {\n    if (options.rtl) {\n        var name_1 = rulePairs[index];\n        if (!name_1) {\n            return;\n        }\n        var value = rulePairs[index + 1];\n        if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n            rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n        }\n        else if (name_1.indexOf(LEFT) >= 0) {\n            rulePairs[index] = name_1.replace(LEFT, RIGHT);\n        }\n        else if (name_1.indexOf(RIGHT) >= 0) {\n            rulePairs[index] = name_1.replace(RIGHT, LEFT);\n        }\n        else if (String(value).indexOf(LEFT) >= 0) {\n            rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n        }\n        else if (String(value).indexOf(RIGHT) >= 0) {\n            rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n        }\n        else if (NAME_REPLACEMENTS[name_1]) {\n            rulePairs[index] = NAME_REPLACEMENTS[name_1];\n        }\n        else if (VALUE_REPLACEMENTS[value]) {\n            rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n        }\n        else {\n            switch (name_1) {\n                case 'margin':\n                case 'padding':\n                    rulePairs[index + 1] = flipQuad(value);\n                    break;\n                case 'box-shadow':\n                    rulePairs[index + 1] = negateNum(value, 0);\n                    break;\n            }\n        }\n    }\n}\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value, partIndex) {\n    var parts = value.split(' ');\n    var numberVal = parseInt(parts[partIndex], 10);\n    parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n    return parts.join(' ');\n}\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value) {\n    if (typeof value === 'string') {\n        var parts = value.split(' ');\n        if (parts.length === 4) {\n            return parts[0] + \" \" + parts[3] + \" \" + parts[2] + \" \" + parts[1];\n        }\n    }\n    return value;\n}\n//# sourceMappingURL=rtlifyRules.js.map","import { __spreadArrays } from \"tslib\";\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nvar DISPLAY_NAME = 'displayName';\nfunction getDisplayName(rules) {\n    var rootStyle = rules && rules['&'];\n    return rootStyle ? rootStyle.displayName : undefined;\n}\nvar globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals) {\n    // We the selector does not have a :global() we can shortcut\n    if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n        return selectorWithGlobals;\n    }\n    var replacementInfo = [];\n    var findGlobal = /\\:global\\((.+?)\\)/g;\n    var match = null;\n    // Create a result list for global selectors so we can replace them.\n    while ((match = findGlobal.exec(selectorWithGlobals))) {\n        // Only if the found selector is a comma separated list we'll process it.\n        if (match[1].indexOf(',') > -1) {\n            replacementInfo.push([\n                match.index,\n                match.index + match[0].length,\n                // Wrap each of the found selectors in :global()\n                match[1]\n                    .split(',')\n                    .map(function (v) { return \":global(\" + v.trim() + \")\"; })\n                    .join(', '),\n            ]);\n        }\n    }\n    // Replace the found selectors with their wrapped variants in reverse order\n    return replacementInfo\n        .reverse()\n        .reduce(function (selector, _a) {\n        var matchIndex = _a[0], matchEndIndex = _a[1], replacement = _a[2];\n        var prefix = selector.slice(0, matchIndex);\n        var suffix = selector.slice(matchEndIndex);\n        return prefix + replacement + suffix;\n    }, selectorWithGlobals);\n}\nfunction expandSelector(newSelector, currentSelector) {\n    if (newSelector.indexOf(':global(') >= 0) {\n        return newSelector.replace(globalSelectorRegExp, '$1');\n    }\n    else if (newSelector.indexOf(':') === 0) {\n        return currentSelector + newSelector;\n    }\n    else if (newSelector.indexOf('&') < 0) {\n        return currentSelector + ' ' + newSelector;\n    }\n    return newSelector;\n}\nfunction extractSelector(currentSelector, rules, selector, value) {\n    if (rules === void 0) { rules = { __order: [] }; }\n    if (selector.indexOf('@') === 0) {\n        selector = selector + '{' + currentSelector;\n        extractRules([value], rules, selector);\n    }\n    else if (selector.indexOf(',') > -1) {\n        expandCommaSeparatedGlobals(selector)\n            .split(',')\n            .map(function (s) { return s.trim(); })\n            .forEach(function (separatedSelector) {\n            return extractRules([value], rules, expandSelector(separatedSelector, currentSelector));\n        });\n    }\n    else {\n        extractRules([value], rules, expandSelector(selector, currentSelector));\n    }\n}\nfunction extractRules(args, rules, currentSelector) {\n    if (rules === void 0) { rules = { __order: [] }; }\n    if (currentSelector === void 0) { currentSelector = '&'; }\n    var stylesheet = Stylesheet.getInstance();\n    var currentRules = rules[currentSelector];\n    if (!currentRules) {\n        currentRules = {};\n        rules[currentSelector] = currentRules;\n        rules.__order.push(currentSelector);\n    }\n    for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {\n        var arg = args_1[_i];\n        // If the arg is a string, we need to look up the class map and merge.\n        if (typeof arg === 'string') {\n            var expandedRules = stylesheet.argsFromClassName(arg);\n            if (expandedRules) {\n                extractRules(expandedRules, rules, currentSelector);\n            }\n            // Else if the arg is an array, we need to recurse in.\n        }\n        else if (Array.isArray(arg)) {\n            extractRules(arg, rules, currentSelector);\n        }\n        else {\n            for (var prop in arg) {\n                if (arg.hasOwnProperty(prop)) {\n                    var propValue = arg[prop];\n                    if (prop === 'selectors') {\n                        // every child is a selector.\n                        var selectors = arg.selectors;\n                        for (var newSelector in selectors) {\n                            if (selectors.hasOwnProperty(newSelector)) {\n                                extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n                            }\n                        }\n                    }\n                    else if (typeof propValue === 'object') {\n                        // prop is a selector.\n                        if (propValue !== null) {\n                            extractSelector(currentSelector, rules, prop, propValue);\n                        }\n                    }\n                    else {\n                        if (propValue !== undefined) {\n                            // Else, add the rule to the currentSelector.\n                            if (prop === 'margin' || prop === 'padding') {\n                                expandQuads(currentRules, prop, propValue);\n                            }\n                            else {\n                                currentRules[prop] = propValue;\n                            }\n                        }\n                    }\n                }\n            }\n        }\n    }\n    return rules;\n}\nfunction expandQuads(currentRules, name, value) {\n    var parts = typeof value === 'string' ? value.split(' ') : [value];\n    currentRules[name + 'Top'] = parts[0];\n    currentRules[name + 'Right'] = parts[1] || parts[0];\n    currentRules[name + 'Bottom'] = parts[2] || parts[0];\n    currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\nfunction getKeyForRules(options, rules) {\n    var serialized = [options.rtl ? 'rtl' : 'ltr'];\n    var hasProps = false;\n    for (var _i = 0, _a = rules.__order; _i < _a.length; _i++) {\n        var selector = _a[_i];\n        serialized.push(selector);\n        var rulesForSelector = rules[selector];\n        for (var propName in rulesForSelector) {\n            if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n                hasProps = true;\n                serialized.push(propName, rulesForSelector[propName]);\n            }\n        }\n    }\n    return hasProps ? serialized.join('') : undefined;\n}\nfunction repeatString(target, count) {\n    if (count <= 0) {\n        return '';\n    }\n    if (count === 1) {\n        return target;\n    }\n    return target + repeatString(target, count - 1);\n}\nexport function serializeRuleEntries(options, ruleEntries) {\n    if (!ruleEntries) {\n        return '';\n    }\n    var allEntries = [];\n    for (var entry in ruleEntries) {\n        if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n            allEntries.push(entry, ruleEntries[entry]);\n        }\n    }\n    // Apply transforms.\n    for (var i = 0; i < allEntries.length; i += 2) {\n        kebabRules(allEntries, i);\n        provideUnits(allEntries, i);\n        rtlifyRules(options, allEntries, i);\n        prefixRules(allEntries, i);\n    }\n    // Apply punctuation.\n    for (var i = 1; i < allEntries.length; i += 4) {\n        allEntries.splice(i, 1, ':', allEntries[i], ';');\n    }\n    return allEntries.join('');\n}\nexport function styleToRegistration(options) {\n    var args = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        args[_i - 1] = arguments[_i];\n    }\n    var rules = extractRules(args);\n    var key = getKeyForRules(options, rules);\n    if (key) {\n        var stylesheet = Stylesheet.getInstance();\n        var registration = {\n            className: stylesheet.classNameFromKey(key),\n            key: key,\n            args: args,\n        };\n        if (!registration.className) {\n            registration.className = stylesheet.getClassName(getDisplayName(rules));\n            var rulesToInsert = [];\n            for (var _a = 0, _b = rules.__order; _a < _b.length; _a++) {\n                var selector = _b[_a];\n                rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n            }\n            registration.rulesToInsert = rulesToInsert;\n        }\n        return registration;\n    }\n    return undefined;\n}\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration, specificityMultiplier) {\n    if (specificityMultiplier === void 0) { specificityMultiplier = 1; }\n    var stylesheet = Stylesheet.getInstance();\n    var className = registration.className, key = registration.key, args = registration.args, rulesToInsert = registration.rulesToInsert;\n    if (rulesToInsert) {\n        // rulesToInsert is an ordered array of selector/rule pairs.\n        for (var i = 0; i < rulesToInsert.length; i += 2) {\n            var rules = rulesToInsert[i + 1];\n            if (rules) {\n                var selector = rulesToInsert[i];\n                selector = selector.replace(/&/g, repeatString(\".\" + registration.className, specificityMultiplier));\n                // Insert. Note if a media query, we must close the query with a final bracket.\n                var processedRule = selector + \"{\" + rules + \"}\" + (selector.indexOf('@') === 0 ? '}' : '');\n                stylesheet.insertRule(processedRule);\n            }\n        }\n        stylesheet.cacheClassName(className, key, args, rulesToInsert);\n    }\n}\nexport function styleToClassName(options) {\n    var args = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        args[_i - 1] = arguments[_i];\n    }\n    var registration = styleToRegistration.apply(void 0, __spreadArrays([options], args));\n    if (registration) {\n        applyRegistration(registration, options.specificityMultiplier);\n        return registration.className;\n    }\n    return '';\n}\n//# sourceMappingURL=styleToClassName.js.map","import { extractStyleParts } from './extractStyleParts';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { styleToClassName } from './styleToClassName';\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles() {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    return mergeCss(args, getStyleOptions());\n}\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(args, options) {\n    var styleArgs = args instanceof Array ? args : [args];\n    var _a = extractStyleParts(styleArgs), classes = _a.classes, objects = _a.objects;\n    if (objects.length) {\n        classes.push(styleToClassName(options || {}, objects));\n    }\n    return classes.join(' ');\n}\n//# sourceMappingURL=mergeStyles.js.map","import { Stylesheet } from './Stylesheet';\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts() {\n    var args = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        args[_i] = arguments[_i];\n    }\n    var classes = [];\n    var objects = [];\n    var stylesheet = Stylesheet.getInstance();\n    function _processArgs(argsList) {\n        for (var _i = 0, argsList_1 = argsList; _i < argsList_1.length; _i++) {\n            var arg = argsList_1[_i];\n            if (arg) {\n                if (typeof arg === 'string') {\n                    if (arg.indexOf(' ') >= 0) {\n                        _processArgs(arg.split(' '));\n                    }\n                    else {\n                        var translatedArgs = stylesheet.argsFromClassName(arg);\n                        if (translatedArgs) {\n                            _processArgs(translatedArgs);\n                        }\n                        else {\n                            // Avoid adding the same class twice.\n                            if (classes.indexOf(arg) === -1) {\n                                classes.push(arg);\n                            }\n                        }\n                    }\n                }\n                else if (Array.isArray(arg)) {\n                    _processArgs(arg);\n                }\n                else if (typeof arg === 'object') {\n                    objects.push(arg);\n                }\n            }\n        }\n    }\n    _processArgs(args);\n    return {\n        classes: classes,\n        objects: objects,\n    };\n}\n//# sourceMappingURL=extractStyleParts.js.map","import { getDocument } from './dom/getDocument';\nimport { mergeStyles } from '@uifabric/merge-styles';\nimport { getWindow } from './dom/getWindow';\nvar _scrollbarWidth;\nvar _bodyScrollDisabledCount = 0;\nvar DisabledScrollClassName = mergeStyles({\n    overflow: 'hidden !important',\n});\n/**\n * Placing this attribute on scrollable divs optimizes detection to know\n * if the div is scrollable or not (given we can avoid expensive operations\n * like getComputedStyle.)\n *\n * @public\n */\nexport var DATA_IS_SCROLLABLE_ATTRIBUTE = 'data-is-scrollable';\n/**\n * Allows the user to scroll within a element,\n * while preventing the user from scrolling the body\n */\nexport var allowScrollOnElement = function (element, events) {\n    if (!element) {\n        return;\n    }\n    var _previousClientY = 0;\n    var _element = null;\n    // remember the clientY for future calls of _preventOverscrolling\n    var _saveClientY = function (event) {\n        if (event.targetTouches.length === 1) {\n            _previousClientY = event.targetTouches[0].clientY;\n        }\n    };\n    // prevent the body from scrolling when the user attempts\n    // to scroll past the top or bottom of the element\n    var _preventOverscrolling = function (event) {\n        // only respond to a single-finger touch\n        if (event.targetTouches.length !== 1) {\n            return;\n        }\n        // prevent the body touchmove handler from firing\n        // so that scrolling is allowed within the element\n        event.stopPropagation();\n        if (!_element) {\n            return;\n        }\n        var clientY = event.targetTouches[0].clientY - _previousClientY;\n        var scrollableParent = findScrollableParent(event.target);\n        if (scrollableParent) {\n            _element = scrollableParent;\n        }\n        // if the element is scrolled to the top,\n        // prevent the user from scrolling up\n        if (_element.scrollTop === 0 && clientY > 0) {\n            event.preventDefault();\n        }\n        // if the element is scrolled to the bottom,\n        // prevent the user from scrolling down\n        if (_element.scrollHeight - Math.ceil(_element.scrollTop) <= _element.clientHeight && clientY < 0) {\n            event.preventDefault();\n        }\n    };\n    events.on(element, 'touchstart', _saveClientY, { passive: false });\n    events.on(element, 'touchmove', _preventOverscrolling, { passive: false });\n    _element = element;\n};\n/**\n * Same as allowScrollOnElement but does not prevent overscrolling.\n */\nexport var allowOverscrollOnElement = function (element, events) {\n    if (!element) {\n        return;\n    }\n    var _allowElementScroll = function (event) {\n        event.stopPropagation();\n    };\n    events.on(element, 'touchmove', _allowElementScroll, { passive: false });\n};\nvar _disableIosBodyScroll = function (event) {\n    event.preventDefault();\n};\n/**\n * Disables the body scrolling.\n *\n * @public\n */\nexport function disableBodyScroll() {\n    var doc = getDocument();\n    if (doc && doc.body && !_bodyScrollDisabledCount) {\n        doc.body.classList.add(DisabledScrollClassName);\n        doc.body.addEventListener('touchmove', _disableIosBodyScroll, { passive: false, capture: false });\n    }\n    _bodyScrollDisabledCount++;\n}\n/**\n * Enables the body scrolling.\n *\n * @public\n */\nexport function enableBodyScroll() {\n    if (_bodyScrollDisabledCount > 0) {\n        var doc = getDocument();\n        if (doc && doc.body && _bodyScrollDisabledCount === 1) {\n            doc.body.classList.remove(DisabledScrollClassName);\n            doc.body.removeEventListener('touchmove', _disableIosBodyScroll);\n        }\n        _bodyScrollDisabledCount--;\n    }\n}\n/**\n * Calculates the width of a scrollbar for the browser/os.\n *\n * @public\n */\nexport function getScrollbarWidth() {\n    if (_scrollbarWidth === undefined) {\n        var scrollDiv = document.createElement('div');\n        scrollDiv.style.setProperty('width', '100px');\n        scrollDiv.style.setProperty('height', '100px');\n        scrollDiv.style.setProperty('overflow', 'scroll');\n        scrollDiv.style.setProperty('position', 'absolute');\n        scrollDiv.style.setProperty('top', '-9999px');\n        document.body.appendChild(scrollDiv);\n        // Get the scrollbar width\n        _scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n        // Delete the DIV\n        document.body.removeChild(scrollDiv);\n    }\n    return _scrollbarWidth;\n}\n/**\n * Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns\n * document.body.\n *\n * @public\n */\nexport function findScrollableParent(startingElement) {\n    var el = startingElement;\n    var doc = getDocument(startingElement);\n    // First do a quick scan for the scrollable attribute.\n    while (el && el !== doc.body) {\n        if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) === 'true') {\n            return el;\n        }\n        el = el.parentElement;\n    }\n    // If we haven't found it, the use the slower method: compute styles to evaluate if overflow is set.\n    el = startingElement;\n    while (el && el !== doc.body) {\n        if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) !== 'false') {\n            var computedStyles = getComputedStyle(el);\n            var overflowY = computedStyles ? computedStyles.getPropertyValue('overflow-y') : '';\n            if (overflowY && (overflowY === 'scroll' || overflowY === 'auto')) {\n                return el;\n            }\n        }\n        el = el.parentElement;\n    }\n    // Fall back to window scroll.\n    if (!el || el === doc.body) {\n        el = getWindow(startingElement);\n    }\n    return el;\n}\n//# sourceMappingURL=scroll.js.map","/**\n * @description\n * The 'img' role is used to identify an element as image. Alt attribute have to be provided on status component.\n *\n * @specification\n * Adds role='img'.\n */\nexport var statusBehavior = function statusBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'img'\n      }\n    }\n  };\n};\n//# sourceMappingURL=statusBehavior.js.map\n","import * as React from 'react';\nimport { useFluentContext, useTelemetry, useStyles, useAccessibility, getElementType, useUnhandledProps } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nexport var avatarStatusIconClassName = 'ui-avatar__statusicon';\n/**\n * A AvatarStatusIcon provides a status icon for the Avatar.\n */\n\nexport var AvatarStatusIcon = /*#__PURE__*/function () {\n  var AvatarStatusIcon = function AvatarStatusIcon(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(AvatarStatusIcon.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        children = props.children,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        state = props.state;\n\n    var _useStyles = useStyles(AvatarStatusIcon.displayName, {\n      className: avatarStatusIconClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          state: state\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var getA11Props = useAccessibility(props.accessibility, {\n      debugName: AvatarStatusIcon.displayName,\n      rtl: context.rtl\n    });\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(AvatarStatusIcon.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), children);\n    setEnd();\n    return element;\n  };\n\n  AvatarStatusIcon.displayName = 'AvatarStatusIcon';\n  AvatarStatusIcon.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    state: PropTypes.oneOf(['success', 'info', 'warning', 'error', 'unknown'])\n  });\n  AvatarStatusIcon.handledProps = Object.keys(AvatarStatusIcon.propTypes);\n  AvatarStatusIcon.defaultProps = {\n    as: 'span'\n  };\n  AvatarStatusIcon.create = createShorthandFactory({\n    Component: AvatarStatusIcon\n  });\n  return AvatarStatusIcon;\n}();\n//# sourceMappingURL=AvatarStatusIcon.js.map\n","import * as React from 'react';\nimport { useFluentContext, useTelemetry, useStyles, useAccessibility, getElementType, useUnhandledProps } from '@fluentui/react-bindings';\nimport { commonPropTypes, createShorthandFactory, createShorthand } from '../../utils';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { statusBehavior as avatarStatusBehavior } from '@fluentui/accessibility';\nimport { AvatarStatusIcon } from './AvatarStatusIcon';\nimport { statusClassName } from '../Status/Status';\n// update in upcoming breaking change and enable a unit test\nexport var avatarStatusClassName = statusClassName;\n/**\n * A AvatarStatus provides a status for the Avatar.\n */\n\nexport var AvatarStatus = /*#__PURE__*/function () {\n  var AvatarStatus = function AvatarStatus(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(AvatarStatus.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        color = props.color,\n        icon = props.icon,\n        size = props.size,\n        state = props.state,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n\n    var _useStyles = useStyles(AvatarStatus.displayName, {\n      className: avatarStatusClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          color: color,\n          size: size,\n          state: state\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var getA11Props = useAccessibility(props.accessibility, {\n      debugName: AvatarStatus.displayName,\n      rtl: context.rtl\n    });\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(AvatarStatus.handledProps, props);\n    var iconElement = createShorthand(AvatarStatusIcon, icon, {\n      defaultProps: function defaultProps() {\n        return {\n          state: state\n        };\n      }\n    });\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), iconElement);\n    setEnd();\n    return element;\n  };\n\n  AvatarStatus.displayName = 'AvatarStatus';\n  AvatarStatus.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: false\n  }), {\n    color: PropTypes.string,\n    icon: customPropTypes.shorthandAllowingChildren,\n    size: customPropTypes.size,\n    state: PropTypes.oneOf(['success', 'info', 'warning', 'error', 'unknown'])\n  });\n  AvatarStatus.handledProps = Object.keys(AvatarStatus.propTypes);\n  AvatarStatus.defaultProps = {\n    accessibility: avatarStatusBehavior,\n    as: 'span',\n    size: 'medium',\n    state: 'unknown'\n  };\n  AvatarStatus.create = createShorthandFactory({\n    Component: AvatarStatus,\n    mappedProp: 'state'\n  });\n  return AvatarStatus;\n}();\n//# sourceMappingURL=AvatarStatus.js.map\n","import { statusBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var statusClassName = 'ui-status';\n/**\n * A Status represents someone's or something's state.\n *\n * @accessibility\n * Implements [ARIA img](https://www.w3.org/TR/wai-aria-1.1/#img) role.\n */\n\nexport var Status = /*#__PURE__*/function () {\n  var Status = function Status(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Status.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        color = props.color,\n        icon = props.icon,\n        size = props.size,\n        state = props.state,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n\n    var _useStyles = useStyles(Status.displayName, {\n      className: statusClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          color: color,\n          size: size,\n          state: state\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var getA11Props = useAccessibility(props.accessibility, {\n      debugName: Status.displayName,\n      rtl: context.rtl\n    });\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Status.handledProps, props);\n    var iconElement = Box.create(icon, {\n      defaultProps: function defaultProps() {\n        return getA11Props('icon', {\n          styles: resolvedStyles.icon,\n          as: 'span'\n        });\n      }\n    });\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), iconElement);\n    setEnd();\n    return element;\n  };\n\n  Status.displayName = 'Status';\n  Status.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: false\n  }), {\n    color: PropTypes.string,\n    icon: customPropTypes.shorthandAllowingChildren,\n    size: customPropTypes.size,\n    state: PropTypes.oneOf(['success', 'info', 'warning', 'error', 'unknown'])\n  });\n  Status.handledProps = Object.keys(Status.propTypes);\n  Status.defaultProps = {\n    accessibility: statusBehavior,\n    as: 'span',\n    size: 'medium',\n    state: 'unknown'\n  };\n  Status.create = createShorthandFactory({\n    Component: Status,\n    mappedProp: 'state'\n  });\n  return Status;\n}();\n//# sourceMappingURL=Status.js.map\n","import { imageBehavior } from '@fluentui/accessibility';\nimport { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nimport { imageClassName } from '../Image/Image';\nexport var avatarImageClassName = imageClassName;\n/**\n * An AvatarImage is a graphic representation used by Avatar.\n */\n\nexport var AvatarImage = /*#__PURE__*/function () {\n  var AvatarImage = function AvatarImage(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(AvatarImage.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        alt = props.alt,\n        ariaLabel = props['aria-label'],\n        avatar = props.avatar,\n        circular = props.circular,\n        className = props.className,\n        design = props.design,\n        fluid = props.fluid,\n        styles = props.styles,\n        variables = props.variables;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: AvatarImage.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          alt: alt,\n          'aria-label': ariaLabel\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(AvatarImage.displayName, {\n      className: avatarImageClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          avatar: avatar,\n          circular: circular,\n          fluid: fluid\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(AvatarImage.handledProps, props);\n    var result = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)));\n    setEnd();\n    return result;\n  };\n\n  AvatarImage.displayName = 'AvatarImage';\n  AvatarImage.defaultProps = {\n    as: 'img',\n    accessibility: imageBehavior\n  };\n  AvatarImage.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: false\n  }), {\n    avatar: PropTypes.bool,\n    circular: PropTypes.bool,\n    fluid: PropTypes.bool\n  });\n  AvatarImage.shorthandConfig = {\n    mappedProp: 'src',\n    allowsJSX: false\n  };\n  AvatarImage.handledProps = Object.keys(AvatarImage.propTypes);\n  AvatarImage.create = createShorthandFactory({\n    Component: AvatarImage,\n    mappedProp: 'src',\n    allowsJSX: false\n  });\n  return AvatarImage;\n}();\n//# sourceMappingURL=AvatarImage.js.map\n","import * as React from 'react';\nimport { useFluentContext, useTelemetry, useStyles, useAccessibility, getElementType, useUnhandledProps } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes, childrenExist } from '../../utils';\nexport var avatarIconClassName = 'ui-avatar__icon';\n/**\n * A AvatarIcon provides a status icon for the Avatar.\n */\n\nexport var AvatarIcon = /*#__PURE__*/function () {\n  var AvatarIcon = function AvatarIcon(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(AvatarIcon.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        children = props.children,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        size = props.size,\n        square = props.square,\n        content = props.content;\n\n    var _useStyles = useStyles(AvatarIcon.displayName, {\n      className: avatarIconClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          size: size,\n          square: square\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var getA11Props = useAccessibility(props.accessibility, {\n      debugName: AvatarIcon.displayName,\n      rtl: context.rtl\n    });\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(AvatarIcon.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  };\n\n  AvatarIcon.displayName = 'AvatarIcon';\n  AvatarIcon.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    square: PropTypes.bool,\n    size: customPropTypes.size\n  });\n  AvatarIcon.handledProps = Object.keys(AvatarIcon.propTypes);\n  AvatarIcon.defaultProps = {\n    as: 'span'\n  };\n  AvatarIcon.shorthandConfig = {\n    mappedProp: 'content'\n  };\n  return AvatarIcon;\n}();\n//# sourceMappingURL=AvatarIcon.js.map\n","import { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { labelClassName } from '../Label/Label';\nexport var avatarlabelClassName = labelClassName;\n/**\n * A AvatarLabel allows user to classify content.\n */\n\nexport var AvatarLabel = /*#__PURE__*/function () {\n  var AvatarLabel = function AvatarLabel(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(AvatarLabel.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        square = props.square,\n        size = props.size,\n        circular = props.circular;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: AvatarLabel.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(AvatarLabel.displayName, {\n      className: avatarlabelClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          square: square,\n          size: size,\n          circular: circular\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(AvatarLabel.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  };\n\n  AvatarLabel.displayName = 'AvatarLabel';\n  AvatarLabel.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    square: PropTypes.bool,\n    size: customPropTypes.size,\n    circular: PropTypes.bool\n  });\n  AvatarLabel.handledProps = Object.keys(AvatarLabel.propTypes);\n  AvatarLabel.defaultProps = {\n    as: 'span'\n  };\n  AvatarLabel.shorthandConfig = {\n    mappedProp: 'content'\n  };\n  return AvatarLabel;\n}();\n//# sourceMappingURL=AvatarLabel.js.map\n","import { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry, mergeVariablesOverrides } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, createShorthand } from '../../utils';\nimport { AvatarStatus } from './AvatarStatus';\nimport { AvatarImage } from './AvatarImage';\nimport { AvatarIcon } from './AvatarIcon';\nimport { AvatarLabel } from './AvatarLabel';\nexport var avatarClassName = 'ui-avatar';\n/**\n * An Avatar is a graphical representation of a user.\n */\n\nexport var Avatar = /*#__PURE__*/function () {\n  var Avatar = function Avatar(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Avatar.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        className = props.className,\n        design = props.design,\n        getInitials = props.getInitials,\n        label = props.label,\n        icon = props.icon,\n        image = props.image,\n        name = props.name,\n        square = props.square,\n        size = props.size,\n        status = props.status,\n        styles = props.styles,\n        variables = props.variables;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: Avatar.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Avatar.displayName, {\n      className: avatarClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          size: size,\n          square: square\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      }\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Avatar.handledProps, props);\n    var imageElement = createShorthand(AvatarImage, image, {\n      defaultProps: function defaultProps() {\n        return getA11Props('image', {\n          fluid: true,\n          avatar: !square,\n          title: name,\n          // remove in upcoming breaking change\n          styles: resolvedStyles.image\n        });\n      }\n    });\n    var iconElement = createShorthand(AvatarIcon, icon, {\n      defaultProps: function defaultProps() {\n        return getA11Props('icon', {\n          title: name,\n          styles: resolvedStyles.icon,\n          size: size,\n          square: square\n        });\n      }\n    });\n    var labelElement = createShorthand(AvatarLabel, label || {}, {\n      defaultProps: function defaultProps() {\n        return getA11Props('label', {\n          content: getInitials(name),\n          circular: !square,\n          title: name,\n          size: size,\n          square: square,\n          styles: resolvedStyles.label\n        });\n      }\n    });\n    var hasGlyph = !!image || !!icon;\n    var result = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), hasGlyph && (imageElement || iconElement), !hasGlyph && labelElement, createShorthand(AvatarStatus, status, {\n      defaultProps: function defaultProps() {\n        return getA11Props('status', {\n          size: size,\n          // remove in upcoming breaking change\n          styles: resolvedStyles.status\n        });\n      },\n      overrideProps: function overrideProps(predefinedProps) {\n        return {\n          variables: mergeVariablesOverrides(variables, predefinedProps.variables)\n        };\n      }\n    }));\n    setEnd();\n    return result;\n  };\n\n  Avatar.displayName = 'Avatar';\n  Avatar.defaultProps = {\n    size: 'medium',\n    getInitials: function getInitials(name) {\n      if (!name) {\n        return '';\n      }\n\n      var reducedName = name.replace(/\\s+/g, ' ').replace(/\\s*\\(.*?\\)\\s*/g, ' ').replace(/\\s*{.*?}\\s*/g, ' ').replace(/\\s*\\[.*?]\\s*/g, ' ');\n      var initials = reducedName.split(' ').filter(function (item) {\n        return item !== '';\n      }).map(function (item) {\n        return item.charAt(0);\n      }).reduce(function (accumulator, currentValue) {\n        return accumulator + currentValue;\n      }, '');\n\n      if (initials.length > 2) {\n        return initials.charAt(0) + initials.charAt(initials.length - 1);\n      }\n\n      return initials;\n    }\n  };\n  Avatar.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: false\n  }), {\n    name: PropTypes.string,\n    icon: customPropTypes.shorthandAllowingChildren,\n    image: customPropTypes.itemShorthandWithoutJSX,\n    label: customPropTypes.itemShorthand,\n    square: PropTypes.bool,\n    size: customPropTypes.size,\n    status: customPropTypes.itemShorthand,\n    getInitials: PropTypes.func\n  });\n  Avatar.handledProps = Object.keys(Avatar.propTypes);\n  Avatar.create = createShorthandFactory({\n    Component: Avatar,\n    mappedProp: 'name'\n  });\n  return Avatar;\n}();\n//# sourceMappingURL=Avatar.js.map\n","/**\n * @description\n * Behavior for a card component - semantic grouping of objects\n * @specification\n * Adds role='group'.\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'.\n */\nexport var cardBehavior = function cardBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        role: 'group',\n        'aria-disabled': props.disabled\n      }\n    }\n  };\n};\n//# sourceMappingURL=cardBehavior.js.map\n","import * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nimport { useTelemetry, useStyles, getElementType, useUnhandledProps, useAccessibility, useFluentContext } from '@fluentui/react-bindings';\nexport var cardColumnClassName = 'ui-card__column';\n/**\n * A CardColumn is used to display content in card as column\n */\n\nexport var CardColumn = /*#__PURE__*/function () {\n  var CardColumn = function CardColumn(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CardColumn.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(CardColumn.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: CardColumn.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(CardColumn.displayName, {\n      className: cardColumnClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), children);\n    setEnd();\n    return element;\n  };\n\n  CardColumn.displayName = 'CardColumn';\n  CardColumn.propTypes = Object.assign({}, commonPropTypes.createCommon());\n  CardColumn.handledProps = Object.keys(CardColumn.propTypes);\n  CardColumn.create = createShorthandFactory({\n    Component: CardColumn\n  });\n  return CardColumn;\n}();\n//# sourceMappingURL=CardColumn.js.map\n","import { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nexport var cardFooterClassName = 'ui-card__footer';\n/**\n * A CardFooter is used to display data in Card component footer\n */\n\nexport var CardFooter = /*#__PURE__*/function () {\n  var CardFooter = function CardFooter(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CardFooter.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children,\n        fitted = props.fitted;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(CardFooter.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: CardFooter.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(CardFooter.displayName, {\n      className: cardFooterClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          fitted: fitted\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), children);\n    setEnd();\n    return element;\n  };\n\n  CardFooter.displayName = 'CardFooter';\n  CardFooter.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    fitted: PropTypes.bool\n  });\n  CardFooter.handledProps = Object.keys(CardFooter.propTypes);\n  CardFooter.create = createShorthandFactory({\n    Component: CardFooter\n  });\n  return CardFooter;\n}();\n//# sourceMappingURL=CardFooter.js.map\n","import { getElementType, useUnhandledProps, useAccessibility, useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nexport var cardPreviewClassName = 'ui-card__preview';\n/**\n * A CardPreview is used to display data Card preview.\n */\n\nexport var CardPreview = /*#__PURE__*/function () {\n  var CardPreview = function CardPreview(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CardPreview.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children,\n        horizontal = props.horizontal,\n        fitted = props.fitted;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(CardPreview.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: CardPreview.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(CardPreview.displayName, {\n      className: cardPreviewClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          horizontal: horizontal,\n          fitted: fitted\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), children);\n    setEnd();\n    return element;\n  };\n\n  CardPreview.displayName = 'CardPreview';\n  CardPreview.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    horizontal: PropTypes.bool,\n    fitted: PropTypes.bool\n  });\n  CardPreview.handledProps = Object.keys(CardPreview.propTypes);\n  CardPreview.create = createShorthandFactory({\n    Component: CardPreview\n  });\n  return CardPreview;\n}();\n//# sourceMappingURL=CardPreview.js.map\n","import { getElementType, useUnhandledProps, useAccessibility, useStyles, useTelemetry, useFluentContext } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nexport var cardTopControlsClassName = 'ui-card__topcontrols';\n/**\n * A CardTopControls is used to render control elements in the top of a Card component.\n */\n\nexport var CardTopControls = /*#__PURE__*/function () {\n  var CardTopControls = function CardTopControls(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(CardTopControls.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(CardTopControls.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: CardTopControls.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(CardTopControls.displayName, {\n      className: cardTopControlsClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), children);\n    setEnd();\n    return element;\n  };\n\n  CardTopControls.displayName = 'CardTopControls';\n  CardTopControls.propTypes = Object.assign({}, commonPropTypes.createCommon());\n  CardTopControls.handledProps = Object.keys(CardTopControls.propTypes);\n  CardTopControls.create = createShorthandFactory({\n    Component: CardTopControls\n  });\n  return CardTopControls;\n}();\n//# sourceMappingURL=CardTopControls.js.map\n","import _invoke from \"lodash/invoke\";\nimport { cardBehavior } from '@fluentui/accessibility';\nimport { getElementType, useAccessibility, useStyles, useFluentContext, useTelemetry, useUnhandledProps } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as CustomPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nimport { CardBody } from './CardBody';\nimport { CardColumn } from './CardColumn';\nimport { CardFooter } from './CardFooter';\nimport { CardHeader } from './CardHeader';\nimport { CardPreview } from './CardPreview';\nimport { CardTopControls } from './CardTopControls';\nimport { CardExpandableBox } from './CardExpandableBox';\nexport var cardClassName = 'ui-card';\n/**\n * A Card is used to display data in sematically grouped way.\n * * @accessibility\n * By default adds `group` role ([more information available in aria documentation](https://www.w3.org/TR/wai-aria-1.1/#group)), thus it's necessary to provide `aria-roledescription` for correct widget description. [More information available in aria documentation.](https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription-property)\n * When card is actionable (i.e. has `onClick` property), use [cardFocusableBehavior](/components/card/accessibility#card-focusable). [More information available in aria documentation.](https://www.w3.org/TR/wai-aria-practices/#gridNav_focus)\n * When card contains actionable elements, use [cardChildrenFocusableBehavior](/components/card/accessibility#card-children-focusable).\n *\n */\n\nexport var Card = /*#__PURE__*/function () {\n  var Card = function Card(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Card.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var cardRef = React.useRef();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        children = props.children,\n        compact = props.compact,\n        horizontal = props.horizontal,\n        centered = props.centered,\n        size = props.size,\n        fluid = props.fluid,\n        onClick = props.onClick,\n        disabled = props.disabled,\n        expandable = props.expandable,\n        elevated = props.elevated,\n        inverted = props.inverted,\n        ghost = props.ghost,\n        selected = props.selected;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Card.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: Card.displayName,\n      actionHandlers: {\n        performClick: function performClick(e) {\n          // prevent Spacebar from scrolling\n          e.preventDefault();\n          handleClick(e);\n        },\n        focusCard: function focusCard(e) {\n          cardRef.current.focus();\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          disabled: disabled\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Card.displayName, {\n      className: cardClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          centered: centered,\n          horizontal: horizontal,\n          compact: compact,\n          size: size,\n          fluid: fluid,\n          actionable: !!onClick,\n          disabled: disabled,\n          expandable: expandable,\n          elevated: elevated,\n          inverted: inverted,\n          ghost: ghost,\n          selected: selected\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var handleClick = function handleClick(e) {\n      if (disabled) {\n        e.preventDefault();\n        return;\n      }\n\n      _invoke(props, 'onClick', e, props);\n    };\n\n    var element = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: cardRef\n    }, getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onClick: handleClick\n    }, unhandledProps)), children)));\n    setEnd();\n    return element;\n  };\n\n  Card.displayName = 'Card';\n  Card.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    onClick: PropTypes.func,\n    compact: PropTypes.bool,\n    horizontal: PropTypes.bool,\n    centered: PropTypes.bool,\n    size: CustomPropTypes.size,\n    fluid: PropTypes.bool,\n    expandable: PropTypes.bool,\n    disabled: PropTypes.bool,\n    elevated: PropTypes.bool,\n    ghost: PropTypes.bool,\n    inverted: PropTypes.bool,\n    selected: PropTypes.bool\n  });\n  Card.defaultProps = {\n    accessibility: cardBehavior,\n    size: 'medium'\n  };\n  Card.handledProps = Object.keys(Card.propTypes);\n  Card.Header = CardHeader;\n  Card.Body = CardBody;\n  Card.Footer = CardFooter;\n  Card.Preview = CardPreview;\n  Card.TopControls = CardTopControls;\n  Card.Column = CardColumn;\n  Card.ExpandableBox = CardExpandableBox;\n  Card.create = createShorthandFactory({\n    Component: Card\n  });\n  return Card;\n}();\n//# sourceMappingURL=Card.js.map\n","import * as React from 'react';\nexport var NestingContext = /*#__PURE__*/React.createContext(null);\n//# sourceMappingURL=NestingContext.js.map\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport * as React from 'react';\nimport { NestingContext } from './NestingContext';\n\nvar NestingChildInner = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(NestingChildInner, _React$Component);\n\n  function NestingChildInner() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this.childRef = /*#__PURE__*/React.createRef();\n\n    _this.getRefs = function () {\n      return _this.props.getContextRefs(_this.childRef);\n    };\n\n    return _this;\n  }\n\n  var _proto = NestingChildInner.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.props.register(this.childRef);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.props.unregister(this.childRef);\n  };\n\n  _proto.render = function render() {\n    return this.props.children(this.getRefs, this.childRef);\n  };\n\n  return NestingChildInner;\n}(React.Component);\n\nexport var NestingChild = function NestingChild(_ref) {\n  var children = _ref.children;\n  return /*#__PURE__*/React.createElement(NestingContext.Consumer, null, function (contextValue) {\n    return /*#__PURE__*/React.createElement(NestingChildInner, contextValue, children);\n  });\n};\n//# sourceMappingURL=NestingChild.js.map\n","export var RefStack = function RefStack() {\n  var _this = this;\n\n  this.set = new Set();\n\n  this.getContextRefs = function (ref) {\n    var nodes = Array.from(_this.set);\n    var refId = nodes.indexOf(ref);\n    return nodes.slice(refId);\n  };\n\n  this.register = function (ref) {\n    _this.set.add(ref);\n  };\n\n  this.unregister = function (ref) {\n    _this.set.delete(ref);\n  };\n};\n//# sourceMappingURL=RefStack.js.map\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport * as React from 'react';\nimport { RefStack } from './utils/RefStack';\nimport { NestingContext } from './NestingContext';\nexport var NestingRoot = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(NestingRoot, _React$Component);\n\n  function NestingRoot() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n    _this.registry = new RefStack();\n    _this.parentRef = /*#__PURE__*/React.createRef();\n\n    _this.getRefs = function () {\n      return _this.registry.getContextRefs(_this.parentRef);\n    };\n\n    return _this;\n  }\n\n  var _proto = NestingRoot.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.registry.register(this.parentRef);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.registry.unregister(this.parentRef);\n  };\n\n  _proto.render = function render() {\n    return /*#__PURE__*/React.createElement(NestingContext.Provider, {\n      value: this.registry\n    }, this.props.children(this.getRefs, this.parentRef));\n  };\n\n  return NestingRoot;\n}(React.Component);\n//# sourceMappingURL=NestingRoot.js.map\n","import * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { NestingChild } from './NestingChild';\nimport { NestingContext } from './NestingContext';\nimport { NestingRoot } from './NestingRoot';\nexport var NestingAuto = /*#__PURE__*/function () {\n  var NestingAuto = function NestingAuto(props) {\n    return /*#__PURE__*/React.createElement(NestingContext.Consumer, null, function (contextValue) {\n      var hasContext = !!contextValue;\n      var Component = hasContext ? NestingChild : NestingRoot;\n      return /*#__PURE__*/React.createElement(Component, props);\n    });\n  };\n\n  NestingAuto.displayName = 'NestingAuto';\n  NestingAuto.propTypes = {\n    children: PropTypes.func.isRequired\n  };\n  return NestingAuto;\n}();\n//# sourceMappingURL=NestingAuto.js.map\n","import { alertWarningBehavior } from './alertWarningBehavior';\nimport { alertBaseBehavior } from './alertBaseBehavior';\n/**\n * @description\n * Uses `alertWarningBehavior` for 'danger' and 'warning' variants.\n */\n\nexport var alertBehavior = function alertBehavior(props) {\n  return props.warning || props.danger ? alertWarningBehavior(props) : alertBaseBehavior(props);\n};\n//# sourceMappingURL=alertBehavior.js.map\n","/**\n * @specification\n * Adds role 'alert' to 'body' slot.\n * Adds attribute 'aria-live=polite' to 'body' slot.\n */\nexport var alertWarningBehavior = function alertWarningBehavior(props) {\n  return {\n    attributes: {\n      body: {\n        role: 'alert',\n        'aria-live': 'polite'\n      },\n      dismissAction: {\n        'aria-describedby': props.bodyId\n      }\n    }\n  };\n};\n//# sourceMappingURL=alertWarningBehavior.js.map\n","/**\n * @description\n * Use attribute 'aria-describedby' for dismiss action.\n */\nexport var alertBaseBehavior = function alertBaseBehavior(props) {\n  return {\n    attributes: {\n      dismissAction: {\n        'aria-describedby': props.bodyId\n      }\n    }\n  };\n};\n//# sourceMappingURL=alertBaseBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport _uniqueId from \"lodash/uniqueId\";\nimport { alertBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, childrenExist, createShorthandFactory } from '../../utils';\nimport { Box } from '../Box/Box';\nimport { Text } from '../Text/Text';\nimport { ButtonGroup } from '../Button/ButtonGroup';\nimport { AlertDismissAction } from './AlertDismissAction';\nimport { useAccessibility, getElementType, useStyles, useTelemetry, useFluentContext, useUnhandledProps, useAutoControlled } from '@fluentui/react-bindings';\nexport var alertClassName = 'ui-alert';\nexport var alertSlotClassNames = {\n  content: alertClassName + \"__content\",\n  actions: alertClassName + \"__actions\",\n  icon: alertClassName + \"__icon\",\n  header: alertClassName + \"__header\",\n  body: alertClassName + \"__body\"\n};\n/**\n * An Alert displays a brief, important message to attract a user's attention without interrupting their current task.\n *\n * @accessibility\n * Implements [ARIA Alert](https://www.w3.org/TR/wai-aria-practices-1.1/#alert) design pattern.\n */\n\nexport var Alert = /*#__PURE__*/function () {\n  var Alert = function Alert(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Alert.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var warning = props.warning,\n        danger = props.danger,\n        info = props.info,\n        success = props.success,\n        attached = props.attached,\n        fitted = props.fitted,\n        dismissible = props.dismissible,\n        variables = props.variables,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        children = props.children,\n        actions = props.actions,\n        dismissAction = props.dismissAction,\n        content = props.content,\n        icon = props.icon,\n        header = props.header,\n        body = props.body;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultVisible,\n      value: props.visible,\n      initialValue: true\n    }),\n        visible = _useAutoControlled[0],\n        setVisible = _useAutoControlled[1];\n\n    var _React$useState = React.useState(_uniqueId('alert-body-')),\n        bodyId = _React$useState[0];\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Alert.handledProps, props);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: Alert.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          warning: warning,\n          danger: danger,\n          bodyId: bodyId,\n          visible: visible\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Alert.displayName, {\n      className: alertClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          warning: warning,\n          danger: danger,\n          info: info,\n          success: success,\n          attached: attached,\n          fitted: fitted,\n          dismissible: dismissible,\n          visible: visible\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var handleDismissOverrides = function handleDismissOverrides(predefinedProps) {\n      return {\n        onClick: function onClick(e, buttonProps) {\n          _invoke(predefinedProps, 'onClick', e, buttonProps);\n\n          _invoke(props, 'onVisibleChange', e, Object.assign({}, props, {\n            visible: false\n          }));\n\n          setVisible(false);\n        }\n      };\n    };\n\n    var handleFocus = function handleFocus(e) {\n      _invoke(props, 'onFocus', e, props);\n    };\n\n    var renderContent = function renderContent() {\n      var bodyContent = /*#__PURE__*/React.createElement(React.Fragment, null, Text.create(header, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('header', {\n            className: alertSlotClassNames.header,\n            styles: resolvedStyles.header\n          });\n        }\n      }), Box.create(content, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('content', {\n            className: alertSlotClassNames.content,\n            styles: resolvedStyles.content\n          });\n        }\n      }));\n      return /*#__PURE__*/React.createElement(React.Fragment, null, Box.create(icon, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('icon', {\n            className: alertSlotClassNames.icon,\n            styles: resolvedStyles.icon\n          });\n        }\n      }), Box.create(body, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('body', {\n            className: alertSlotClassNames.body,\n            styles: resolvedStyles.body,\n            id: bodyId\n          });\n        },\n        overrideProps: {\n          children: bodyContent\n        }\n      }), ButtonGroup.create(actions, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('actions', {\n            className: alertSlotClassNames.actions,\n            styles: resolvedStyles.actions\n          });\n        }\n      }), dismissible && AlertDismissAction.create(dismissAction, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('dismissAction', {\n            danger: danger,\n            warning: warning,\n            info: info,\n            success: success,\n            variables: variables\n          });\n        },\n        overrideProps: handleDismissOverrides\n      }));\n    };\n\n    var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      onFocus: handleFocus\n    }, unhandledProps)), childrenExist(children) ? children : renderContent()));\n    setEnd();\n    return element;\n  };\n\n  Alert.defaultProps = {\n    accessibility: alertBehavior,\n    dismissAction: {},\n    body: {}\n  };\n  Alert.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: 'shorthand'\n  }), {\n    actions: PropTypes.oneOfType([customPropTypes.itemShorthand, customPropTypes.collectionShorthand]),\n    icon: customPropTypes.shorthandAllowingChildren,\n    header: customPropTypes.itemShorthand,\n    attached: PropTypes.oneOf([true, false, 'top', 'bottom']),\n    fitted: PropTypes.bool,\n    danger: PropTypes.bool,\n    defaultVisible: PropTypes.bool,\n    dismissible: PropTypes.bool,\n    dismissAction: customPropTypes.shorthandAllowingChildren,\n    info: PropTypes.bool,\n    onVisibleChange: PropTypes.func,\n    onFocus: PropTypes.func,\n    success: PropTypes.bool,\n    visible: PropTypes.bool,\n    warning: PropTypes.bool,\n    body: customPropTypes.shorthandAllowingChildren\n  });\n  Alert.displayName = 'Alert';\n  Alert.handledProps = Object.keys(Alert.propTypes);\n  Alert.create = createShorthandFactory({\n    Component: Alert\n  });\n  Alert.DismissAction = AlertDismissAction;\n  return Alert;\n}();\n//# sourceMappingURL=Alert.js.map\n","import { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\nimport { keyboardKey, SpacebarKey } from '../../keyboard-key';\n/**\n * @specification\n * Adds role='columnheader'.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n */\n\nexport var gridHeaderCellBehavior = function gridHeaderCellBehavior() {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {\n        role: 'columnheader'\n      }, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root)\n    },\n    keyActions: {\n      root: {\n        performClick: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Enter\n          }, {\n            keyCode: SpacebarKey\n          }]\n        }\n      }\n    }\n  };\n};\n//# sourceMappingURL=gridHeaderCellBehavior.js.map\n","import { gridRowNestedBehavior } from './gridRowNestedBehavior';\nimport { gridHeaderRowBehavior } from './gridHeaderRowBehavior';\n/**\n * @description\n * Defines a behavior \"gridHeaderRowBehavior\" or \"gridRowNestedBehavior\" based on \"header\" property.\n */\n\nexport var gridRowBehavior = function gridRowBehavior(props) {\n  return props.header ? gridHeaderRowBehavior(props) : gridRowNestedBehavior(props);\n};\n//# sourceMappingURL=gridRowBehavior.js.map\n","import { IS_FOCUSABLE_ATTRIBUTE } from '../../attributes';\nimport { FocusZoneDirection } from '../../focusZone/types';\nimport { keyboardKey } from '../../keyboard-key';\nimport { gridHeaderCellBehavior } from './gridHeaderCellBehavior';\n\n/**\n * @specification\n * Adds role='row'.\n * Adds attribute 'data-is-focusable=true' to 'root' slot.\n * Provides arrow key navigation in horizontal direction.\n * Focused active element of the component is reset when TAB from the component.\n * When component's container element receives focus, focus will be set to the default focusable child element of the component.\n * Triggers 'unsetRowTabbable' action using 'shiftKey' + 'Tab' key on 'root'.\n * Applies 'gridHeaderCellBehavior' for 'cell' child component.\n */\nexport var gridHeaderRowBehavior = function gridHeaderRowBehavior(props) {\n  var _root;\n\n  return {\n    attributes: {\n      root: (_root = {}, _root[IS_FOCUSABLE_ATTRIBUTE] = true, _root.role = 'row', _root)\n    },\n    focusZone: {\n      props: {\n        direction: FocusZoneDirection.horizontal,\n        shouldFocusInnerElementWhenReceivedFocus: true,\n        shouldResetActiveElementWhenTabFromZone: true\n      }\n    },\n    keyActions: {\n      root: {\n        unsetRowTabbable: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Tab,\n            shiftKey: true\n          }]\n        }\n      }\n    },\n    childBehaviors: {\n      cell: gridHeaderCellBehavior\n    }\n  };\n};\n//# sourceMappingURL=gridHeaderRowBehavior.js.map\n","import { getCode, keyboardKey } from '../../keyboard-key';\nimport { FocusZoneDirection } from '../../focusZone/types';\nimport { gridRowBehavior } from './gridRowBehavior';\n/**\n * @specification\n * Adds role='grid'.\n * Focus can be moved inside a child component with embeded inner FocusZone by pressing a specified key.\n * Provides arrow key navigation in vertical direction.\n * Focused active element of the component is reset when TAB from the component.\n * Triggers 'focus' action with 'Escape' on 'root'.\n * Applies 'gridRowBehavior' for 'row' child component.\n */\n\nexport var gridNestedBehavior = function gridNestedBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'grid'\n      }\n    },\n    focusZone: {\n      props: {\n        shouldEnterInnerZone: function shouldEnterInnerZone(event) {\n          return getCode(event) === keyboardKey.ArrowRight;\n        },\n        direction: FocusZoneDirection.vertical,\n        shouldResetActiveElementWhenTabFromZone: true\n      }\n    },\n    keyActions: {\n      root: {\n        focus: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        }\n      }\n    },\n    childBehaviors: {\n      row: gridRowBehavior\n    }\n  };\n};\n//# sourceMappingURL=gridNestedBehavior.js.map\n","import _includes from \"lodash/includes\";\nimport _merge from \"lodash/merge\";\nimport { keyboardKey } from '../../keyboard-key';\nimport { popupBehavior } from '../Popup/popupBehavior';\n/**\n * @description\n * Implements ARIA [MenuButton](https://www.w3.org/TR/wai-aria-practices/#menubutton) design pattern.\n */\n\nexport var menuButtonBehavior = function menuButtonBehavior(props) {\n  var behavior = popupBehavior(Object.assign({}, props, {\n    inline: !props.contextMenu\n  }));\n  return _merge(behavior, {\n    attributes: {\n      trigger: Object.assign({\n        'aria-controls': props.open ? props.menuId : undefined,\n        'aria-expanded': props.open && !props.contextMenu || undefined,\n        'aria-haspopup': props.contextMenu ? undefined : 'true',\n        id: props.triggerId\n      }, !props.contextMenu && props.open && {\n        tabIndex: -1\n      }),\n      menu: {\n        'aria-labelledby': props.triggerId,\n        id: props.menuId\n      }\n    },\n    keyActions: {\n      root: Object.assign({}, props.open ? {\n        closeMenu: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Tab,\n            shiftKey: false\n          }, {\n            keyCode: keyboardKey.Tab,\n            shiftKey: true\n          }]\n        }\n      } : _includes(props.on, 'click') && {\n        openAndFocusFirst: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowDown\n          }]\n        },\n        openAndFocusLast: {\n          keyCombinations: [{\n            keyCode: keyboardKey.ArrowUp\n          }]\n        }\n      })\n    }\n  });\n};\n//# sourceMappingURL=menuButtonBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { menuButtonBehavior } from '@fluentui/accessibility';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport { commonPropTypes, getOrGenerateIdFromShorthand } from '../../utils';\nimport { createShorthandFactory } from '../../utils/factories';\nimport { Popup } from '../Popup/Popup';\nimport { Menu } from '../Menu/Menu';\nimport { focusMenuItem } from './focusUtils';\nimport { ALIGNMENTS, POSITIONS, AUTOSIZES } from '../../utils/positioner';\nimport { useAccessibility, useTelemetry, getElementType, useUnhandledProps, useFluentContext, useAutoControlled, useStyles } from '@fluentui/react-bindings';\nexport var menuButtonClassName = 'ui-menubutton';\nexport var menuButtonSlotClassNames = {\n  menu: menuButtonClassName + \"__menu\"\n};\n\n/**\n * A MenuButton displays a menu connected to trigger element.\n * @accessibility\n */\nexport var MenuButton = /*#__PURE__*/function () {\n  var MenuButton = function MenuButton(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(MenuButton.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var contextMenu = props.contextMenu,\n        menu = props.menu,\n        accessibility = props.accessibility,\n        align = props.align,\n        className = props.className,\n        defaultOpen = props.defaultOpen,\n        flipBoundary = props.flipBoundary,\n        mountNode = props.mountNode,\n        mouseLeaveDelay = props.mouseLeaveDelay,\n        offset = props.offset,\n        on = props.on,\n        onOpenChange = props.onOpenChange,\n        overflowBoundary = props.overflowBoundary,\n        pointing = props.pointing,\n        popperRef = props.popperRef,\n        position = props.position,\n        positionFixed = props.positionFixed,\n        tabbableTrigger = props.tabbableTrigger,\n        target = props.target,\n        trigger = props.trigger,\n        unstable_disableTether = props.unstable_disableTether,\n        unstable_pinned = props.unstable_pinned,\n        autoSize = props.autoSize,\n        variables = props.variables;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultOpen,\n      value: props.open,\n      initialValue: false\n    }),\n        open = _useAutoControlled[0],\n        setOpen = _useAutoControlled[1];\n\n    var menuId = React.useRef();\n    menuId.current = getOrGenerateIdFromShorthand('menubutton-menu-', menu, menuId.current);\n    var triggerId = React.useRef();\n    triggerId.current = getOrGenerateIdFromShorthand('menubutton-trigger-', trigger, triggerId.current);\n    var triggerRef = React.useRef();\n    var menuRef = React.useRef();\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(MenuButton.handledProps, props);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: MenuButton.displayName,\n      actionHandlers: {\n        closeMenu: function (_closeMenu) {\n          function closeMenu(_x) {\n            return _closeMenu.apply(this, arguments);\n          }\n\n          closeMenu.toString = function () {\n            return _closeMenu.toString();\n          };\n\n          return closeMenu;\n        }(function (e) {\n          return closeMenu(e);\n        }),\n        openAndFocusFirst: function openAndFocusFirst(e) {\n          return openAndFocus(e, 'first');\n        },\n        openAndFocusLast: function openAndFocusLast(e) {\n          return openAndFocus(e, 'last');\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          menuId: menuId.current,\n          triggerId: triggerId.current,\n          open: open,\n          trigger: props.trigger,\n          contextMenu: contextMenu,\n          on: on,\n          tabbableTrigger: tabbableTrigger\n        };\n      },\n      rtl: context.rtl\n    });\n    var popupProps = {\n      accessibility: accessibility,\n      align: align,\n      className: className,\n      defaultOpen: defaultOpen,\n      mountNode: mountNode,\n      mouseLeaveDelay: mouseLeaveDelay,\n      flipBoundary: flipBoundary,\n      offset: offset,\n      on: on,\n      onOpenChange: onOpenChange,\n      open: open,\n      overflowBoundary: overflowBoundary,\n      pointing: pointing,\n      popperRef: popperRef,\n      position: position,\n      positionFixed: positionFixed,\n      tabbableTrigger: tabbableTrigger,\n      styles: props.styles,\n      target: target,\n      trigger: trigger,\n      unstable_disableTether: unstable_disableTether,\n      unstable_pinned: unstable_pinned,\n      autoSize: autoSize,\n      variables: variables\n    };\n\n    var _useStyles = useStyles(MenuButton.displayName, {\n      className: menuButtonClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          styles: props.styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var closeMenu = function closeMenu(e) {\n      handleOpenChange(e, false);\n    };\n\n    var openAndFocus = function openAndFocus(e, which) {\n      e.preventDefault();\n      handleOpenChange(e, true, function () {\n        return menuRef.current && focusMenuItem(menuRef.current, which);\n      });\n    };\n\n    var handleOpenChange = function handleOpenChange(e, open, callback) {\n      _invoke(props, 'onOpenChange', e, Object.assign({}, props, {\n        open: open\n      }));\n\n      setOpen(open);\n      callback && callback();\n    };\n\n    var handleMenuOverrides = function handleMenuOverrides(predefinedProps) {\n      return {\n        onItemClick: function onItemClick(e, itemProps) {\n          _invoke(predefinedProps, 'onItemClick', e, itemProps);\n\n          _invoke(props, 'onMenuItemClick', e, itemProps);\n\n          if (!itemProps || !itemProps.menu) {\n            // do not close if clicked on item with submenu\n            handleOpenChange(e, false);\n          }\n        }\n      };\n    };\n\n    var content = Menu.create(menu, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('menu', {\n          vertical: true,\n          className: menuButtonSlotClassNames.menu\n        });\n      },\n      overrideProps: handleMenuOverrides\n    });\n    var overrideProps = Object.assign({\n      accessibility: getA11yProps.unstable_behaviorDefinition,\n      open: open,\n      onOpenChange: function onOpenChange(e, _ref) {\n        var open = _ref.open;\n        handleOpenChange(e, open);\n      },\n      content: {\n        styles: resolvedStyles.popupContent,\n        content: content && /*#__PURE__*/React.createElement(Ref, {\n          innerRef: menuRef\n        }, content)\n      },\n      children: undefined\n    }, contextMenu ? {\n      on: 'context',\n      trapFocus: true,\n      tabbableTrigger: false\n    } : {\n      inline: true,\n      autoFocus: true\n    });\n    var popup = Popup.create(popupProps, {\n      overrideProps: overrideProps\n    });\n\n    if (contextMenu) {\n      setEnd();\n      return popup;\n    }\n\n    var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), /*#__PURE__*/React.createElement(Ref, {\n      innerRef: triggerRef\n    }, popup)));\n    setEnd();\n    return element;\n  };\n\n  MenuButton.displayName = 'MenuButton';\n  MenuButton.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    align: PropTypes.oneOf(ALIGNMENTS),\n    defaultOpen: PropTypes.bool,\n    mountNode: customPropTypes.domNode,\n    mouseLeaveDelay: PropTypes.number,\n    offset: PropTypes.oneOfType([PropTypes.func, PropTypes.arrayOf(PropTypes.number)]),\n    on: PropTypes.oneOfType([PropTypes.oneOf(['hover', 'click', 'focus', 'context']), PropTypes.arrayOf(PropTypes.oneOf(['click', 'focus', 'context'])), PropTypes.arrayOf(PropTypes.oneOf(['hover', 'focus', 'context']))]),\n    flipBoundary: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object), PropTypes.oneOf(['clippingParents', 'window', 'scrollParent'])]),\n    overflowBoundary: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object), PropTypes.oneOf(['clippingParents', 'window', 'scrollParent'])]),\n    open: PropTypes.bool,\n    onMenuItemClick: PropTypes.func,\n    onOpenChange: PropTypes.func,\n    popperRef: customPropTypes.ref,\n    position: PropTypes.oneOf(POSITIONS),\n    positionFixed: PropTypes.bool,\n    target: PropTypes.any,\n    trigger: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.any]),\n    tabbableTrigger: PropTypes.bool,\n    unstable_disableTether: PropTypes.oneOf([true, false, 'all']),\n    unstable_pinned: PropTypes.bool,\n    autoSize: PropTypes.oneOf(AUTOSIZES),\n    menu: PropTypes.oneOfType([customPropTypes.itemShorthandWithoutJSX, PropTypes.arrayOf(customPropTypes.itemShorthandWithoutJSX)]),\n    contextMenu: PropTypes.bool\n  });\n  MenuButton.defaultProps = {\n    accessibility: menuButtonBehavior,\n    align: 'start',\n    position: 'below'\n  };\n  MenuButton.handledProps = Object.keys(MenuButton.propTypes);\n  MenuButton.create = createShorthandFactory({\n    Component: MenuButton,\n    mappedProp: 'menu'\n  });\n  return MenuButton;\n}();\n//# sourceMappingURL=MenuButton.js.map\n","import { getFirstFocusable, getLastFocusable, focusAsync } from '@fluentui/react-bindings';\nexport var focusMenuItem = function focusMenuItem(menuRef, order) {\n  var element = order === 'first' ? getFirstFocusable(menuRef, menuRef.firstElementChild, true) : getLastFocusable(menuRef, menuRef.lastElementChild, true);\n  focusAsync(element);\n};\n//# sourceMappingURL=focusUtils.js.map\n","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n  var passiveTestOptions = {\n    get passive() {\n      hasPassiveEvents = true;\n      return undefined;\n    }\n  };\n  window.addEventListener('testPassive', null, passiveTestOptions);\n  window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n  return locks.some(function (lock) {\n    if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n      return true;\n    }\n\n    return false;\n  });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n  var e = rawEvent || window.event;\n\n  // For the case whereby consumers adds a touchmove event listener to document.\n  // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n  // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n  // the touchmove event on document will break.\n  if (allowTouchMove(e.target)) {\n    return true;\n  }\n\n  // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n  if (e.touches.length > 1) return true;\n\n  if (e.preventDefault) e.preventDefault();\n\n  return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n  // If previousBodyPaddingRight is already set, don't set it again.\n  if (previousBodyPaddingRight === undefined) {\n    var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n    var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n    if (_reserveScrollBarGap && scrollBarGap > 0) {\n      previousBodyPaddingRight = document.body.style.paddingRight;\n      document.body.style.paddingRight = scrollBarGap + 'px';\n    }\n  }\n\n  // If previousBodyOverflowSetting is already set, don't set it again.\n  if (previousBodyOverflowSetting === undefined) {\n    previousBodyOverflowSetting = document.body.style.overflow;\n    document.body.style.overflow = 'hidden';\n  }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n  if (previousBodyPaddingRight !== undefined) {\n    document.body.style.paddingRight = previousBodyPaddingRight;\n\n    // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n    // can be set again.\n    previousBodyPaddingRight = undefined;\n  }\n\n  if (previousBodyOverflowSetting !== undefined) {\n    document.body.style.overflow = previousBodyOverflowSetting;\n\n    // Restore previousBodyOverflowSetting to undefined\n    // so setOverflowHidden knows it can be set again.\n    previousBodyOverflowSetting = undefined;\n  }\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n  return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n  var clientY = event.targetTouches[0].clientY - initialClientY;\n\n  if (allowTouchMove(event.target)) {\n    return false;\n  }\n\n  if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n    // element is at the top of its scroll.\n    return preventDefault(event);\n  }\n\n  if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n    // element is at the bottom of its scroll.\n    return preventDefault(event);\n  }\n\n  event.stopPropagation();\n  return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n  // targetElement must be provided\n  if (!targetElement) {\n    // eslint-disable-next-line no-console\n    console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n    return;\n  }\n\n  // disableBodyScroll must not have been called on this targetElement before\n  if (locks.some(function (lock) {\n    return lock.targetElement === targetElement;\n  })) {\n    return;\n  }\n\n  var lock = {\n    targetElement: targetElement,\n    options: options || {}\n  };\n\n  locks = [].concat(_toConsumableArray(locks), [lock]);\n\n  if (isIosDevice) {\n    targetElement.ontouchstart = function (event) {\n      if (event.targetTouches.length === 1) {\n        // detect single touch.\n        initialClientY = event.targetTouches[0].clientY;\n      }\n    };\n    targetElement.ontouchmove = function (event) {\n      if (event.targetTouches.length === 1) {\n        // detect single touch.\n        handleScroll(event, targetElement);\n      }\n    };\n\n    if (!documentListenerAdded) {\n      document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n      documentListenerAdded = true;\n    }\n  } else {\n    setOverflowHidden(options);\n  }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n  if (isIosDevice) {\n    // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n    locks.forEach(function (lock) {\n      lock.targetElement.ontouchstart = null;\n      lock.targetElement.ontouchmove = null;\n    });\n\n    if (documentListenerAdded) {\n      document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n      documentListenerAdded = false;\n    }\n\n    // Reset initial clientY.\n    initialClientY = -1;\n  } else {\n    restoreOverflowSetting();\n  }\n\n  locks = [];\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n  if (!targetElement) {\n    // eslint-disable-next-line no-console\n    console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n    return;\n  }\n\n  locks = locks.filter(function (lock) {\n    return lock.targetElement !== targetElement;\n  });\n\n  if (isIosDevice) {\n    targetElement.ontouchstart = null;\n    targetElement.ontouchmove = null;\n\n    if (documentListenerAdded && locks.length === 0) {\n      document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n      documentListenerAdded = false;\n    }\n  } else if (!locks.length) {\n    restoreOverflowSetting();\n  }\n};\n\n","import * as React from 'react';\nimport { createShorthandFactory, commonPropTypes, childrenExist } from '../../utils';\nimport { useTelemetry, getElementType, useUnhandledProps, useFluentContext, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var dialogFooterClassName = 'ui-dialog__footer';\n\n/**\n * A DialogFooter represents footer content in Dialog, usually shows dialog actions.\n */\nexport var DialogFooter = /*#__PURE__*/function () {\n  var DialogFooter = function DialogFooter(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(DialogFooter.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        content = props.content,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        accessibility = props.accessibility;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(DialogFooter.handledProps, props);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: DialogFooter.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(DialogFooter.displayName, {\n      className: dialogFooterClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  };\n\n  DialogFooter.displayName = 'DialogFooter';\n  DialogFooter.propTypes = Object.assign({}, commonPropTypes.createCommon());\n  DialogFooter.handledProps = Object.keys(DialogFooter.propTypes);\n  DialogFooter.create = createShorthandFactory({\n    Component: DialogFooter,\n    mappedProp: 'content'\n  });\n  return DialogFooter;\n}();\n//# sourceMappingURL=DialogFooter.js.map\n","import _invoke from \"lodash/invoke\";\nimport { dialogBehavior, getCode, keyboardKey } from '@fluentui/accessibility';\nimport { useAutoControlled, useTelemetry, useAccessibility, useStyles, useFluentContext, useUnhandledProps, getElementType } from '@fluentui/react-bindings';\nimport { Unstable_NestingAuto } from '@fluentui/react-component-nesting-registry';\nimport { EventListener } from '@fluentui/react-component-event-listener';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { commonPropTypes, doesNodeContainClick, getOrGenerateIdFromShorthand, createShorthand, createShorthandFactory } from '../../utils';\nimport { Button } from '../Button/Button';\nimport { ButtonGroup } from '../Button/ButtonGroup';\nimport { Box } from '../Box/Box';\nimport { Header } from '../Header/Header';\nimport { Portal } from '../Portal/Portal';\nimport { Flex } from '../Flex/Flex';\nimport { DialogFooter } from './DialogFooter';\nexport var dialogClassName = 'ui-dialog';\nexport var dialogSlotClassNames = {\n  header: dialogClassName + \"__header\",\n  headerAction: dialogClassName + \"__headerAction\",\n  content: dialogClassName + \"__content\",\n  overlay: dialogClassName + \"__overlay\",\n  footer: dialogClassName + \"__footer\"\n};\n\n/**\n * A Dialog displays important information on top of a page which requires a user's attention, confirmation, or interaction.\n * Dialogs are purposefully interruptive, so they should be used sparingly.\n *\n * @accessibility\n * Implements [ARIA Dialog (Modal)](https://www.w3.org/TR/wai-aria-practices-1.1/#dialog_modal) design pattern.\n * @accessibilityIssues\n * [NVDA narrates dialog title and button twice](https://github.com/nvaccess/nvda/issues/10003)\n * [NVDA does not recognize the ARIA 1.1 values of aria-haspopup](https://github.com/nvaccess/nvda/issues/8235)\n * [Jaws does not announce token values of aria-haspopup](https://github.com/FreedomScientific/VFO-standards-support/issues/33)\n * [Issue 989517: VoiceOver narrates dialog content and button twice](https://bugs.chromium.org/p/chromium/issues/detail?id=989517)\n */\nexport var Dialog = /*#__PURE__*/function () {\n  var Dialog = function Dialog(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Dialog.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        content = props.content,\n        header = props.header,\n        actions = props.actions,\n        cancelButton = props.cancelButton,\n        closeOnOutsideClick = props.closeOnOutsideClick,\n        confirmButton = props.confirmButton,\n        headerAction = props.headerAction,\n        overlay = props.overlay,\n        trapFocus = props.trapFocus,\n        trigger = props.trigger,\n        footer = props.footer,\n        backdrop = props.backdrop,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Dialog.handledProps, props);\n    var contentRef = React.useRef();\n    var overlayRef = React.useRef();\n    var triggerRef = React.useRef();\n    var contentId = React.useRef();\n    contentId.current = getOrGenerateIdFromShorthand('dialog-content-', content, contentId.current);\n    var headerId = React.useRef();\n    headerId.current = getOrGenerateIdFromShorthand('dialog-header-', header, headerId.current);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: Dialog.displayName,\n      actionHandlers: {\n        closeAndFocusTrigger: function closeAndFocusTrigger(e) {\n          handleDialogCancel(e);\n          e.stopPropagation();\n\n          _invoke(triggerRef, 'current.focus');\n        },\n        close: function close(e) {\n          return handleDialogCancel(e);\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          headerId: headerId.current,\n          contentId: contentId.current,\n          trapFocus: trapFocus,\n          trigger: trigger\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Dialog.displayName, {\n      className: dialogClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          backdrop: backdrop\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultOpen,\n      value: props.open,\n      initialValue: false\n    }),\n        open = _useAutoControlled[0],\n        setOpen = _useAutoControlled[1];\n\n    React.useEffect(function () {\n      var target = contentRef == null ? void 0 : contentRef.current;\n\n      if (open) {\n        disableBodyScroll(target);\n      }\n\n      return function () {\n        if (open) {\n          enableBodyScroll(target);\n        }\n      };\n    }, [open]);\n\n    var handleDialogCancel = function handleDialogCancel(e) {\n      _invoke(props, 'onCancel', e, Object.assign({}, props, {\n        open: false\n      }));\n\n      setOpen(false);\n    };\n\n    var handleDialogConfirm = function handleDialogConfirm(e) {\n      _invoke(props, 'onConfirm', e, Object.assign({}, props, {\n        open: false\n      }));\n\n      setOpen(false);\n    };\n\n    var handleDialogOpen = function handleDialogOpen(e) {\n      _invoke(props, 'onOpen', e, Object.assign({}, props, {\n        open: true\n      }));\n\n      setOpen(true);\n    };\n\n    var handleCancelButtonOverrides = function handleCancelButtonOverrides(predefinedProps) {\n      return {\n        onClick: function onClick(e, buttonProps) {\n          _invoke(predefinedProps, 'onClick', e, buttonProps);\n\n          handleDialogCancel(e);\n        }\n      };\n    };\n\n    var handleConfirmButtonOverrides = function handleConfirmButtonOverrides(predefinedProps) {\n      return {\n        onClick: function onClick(e, buttonProps) {\n          _invoke(predefinedProps, 'onClick', e, buttonProps);\n\n          handleDialogConfirm(e);\n        }\n      };\n    };\n\n    var handleOverlayClick = function handleOverlayClick(e) {\n      // Dialog has different conditions to close than Popup, so we don't need to iterate across all\n      // refs\n      var isInsideContentClick = doesNodeContainClick(contentRef.current, e, context.target);\n      var isInsideOverlayClick = doesNodeContainClick(overlayRef.current, e, context.target);\n      var shouldClose = !isInsideContentClick && isInsideOverlayClick;\n\n      if (shouldClose) {\n        handleDialogCancel(e);\n      }\n    };\n\n    var handleDocumentKeydown = function handleDocumentKeydown(getRefs) {\n      return function (e) {\n        // if focus was lost from Dialog, for e.g. when click on Dialog's content\n        // and ESC is pressed, the opened Dialog should get closed and the trigger should get focus\n        var lastOverlayRef = getRefs().pop();\n        var isLastOpenedDialog = lastOverlayRef && lastOverlayRef.current === overlayRef.current;\n        var targetIsBody = e.target.nodeName === 'BODY';\n\n        if (targetIsBody && getCode(e) === keyboardKey.Escape && isLastOpenedDialog) {\n          handleDialogCancel(e);\n\n          _invoke(triggerRef, 'current.focus');\n        }\n      };\n    };\n\n    var cancelElement = createShorthand(Button, cancelButton, {\n      overrideProps: handleCancelButtonOverrides\n    });\n    var confirmElement = createShorthand(Button, confirmButton, {\n      defaultProps: function defaultProps() {\n        return {\n          primary: true\n        };\n      },\n      overrideProps: handleConfirmButtonOverrides\n    });\n    var dialogActions = (cancelElement || confirmElement) && ButtonGroup.create(actions, {\n      defaultProps: function defaultProps() {\n        return {\n          styles: resolvedStyles.actions\n        };\n      },\n      overrideProps: {\n        content: /*#__PURE__*/React.createElement(Flex, {\n          gap: \"gap.smaller\"\n        }, cancelElement, confirmElement)\n      }\n    });\n    var dialogContent = /*#__PURE__*/React.createElement(Ref, {\n      innerRef: contentRef\n    }, /*#__PURE__*/React.createElement(ElementType, getA11yProps('popup', Object.assign({\n      className: classes.root\n    }, unhandledProps)), Header.create(header, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('header', {\n          as: 'h2',\n          className: dialogSlotClassNames.header,\n          styles: resolvedStyles.header\n        });\n      }\n    }), createShorthand(Button, headerAction, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('headerAction', {\n          className: dialogSlotClassNames.headerAction,\n          styles: resolvedStyles.headerAction,\n          text: true,\n          iconOnly: true\n        });\n      }\n    }), Box.create(content, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('content', {\n          styles: resolvedStyles.content,\n          className: dialogSlotClassNames.content\n        });\n      }\n    }), DialogFooter.create(footer, {\n      overrideProps: {\n        content: dialogActions,\n        className: dialogSlotClassNames.footer,\n        styles: resolvedStyles.footer\n      }\n    })));\n    var triggerAccessibility = {\n      // refactor this when unstable_behaviorDefinition gets merged\n      attributes: accessibility(props).attributes.trigger,\n      keyHandlers: accessibility(props).keyActions.trigger\n    };\n    var element = /*#__PURE__*/React.createElement(Portal, {\n      onTriggerClick: handleDialogOpen,\n      open: open,\n      trapFocus: trapFocus,\n      trigger: trigger,\n      triggerAccessibility: triggerAccessibility,\n      triggerRef: triggerRef\n    }, /*#__PURE__*/React.createElement(Unstable_NestingAuto, null, function (getRefs, nestingRef) {\n      return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Ref, {\n        innerRef: function innerRef(contentNode) {\n          overlayRef.current = contentNode;\n          nestingRef.current = contentNode;\n        }\n      }, Box.create(overlay, {\n        defaultProps: function defaultProps() {\n          return {\n            className: dialogSlotClassNames.overlay,\n            styles: resolvedStyles.overlay\n          };\n        },\n        overrideProps: {\n          content: dialogContent\n        }\n      })), closeOnOutsideClick && /*#__PURE__*/React.createElement(EventListener, {\n        listener: handleOverlayClick,\n        target: context.target,\n        type: \"click\",\n        capture: true\n      }), /*#__PURE__*/React.createElement(EventListener, {\n        listener: handleDocumentKeydown(getRefs),\n        target: context.target,\n        type: \"keydown\",\n        capture: true\n      }));\n    }));\n    setEnd();\n    return element;\n  };\n\n  Dialog.displayName = 'Dialog';\n  Dialog.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    children: false,\n    content: 'shorthand'\n  }), {\n    actions: customPropTypes.itemShorthand,\n    backdrop: PropTypes.bool,\n    headerAction: customPropTypes.itemShorthand,\n    cancelButton: customPropTypes.itemShorthand,\n    closeOnOutsideClick: PropTypes.bool,\n    confirmButton: customPropTypes.itemShorthand,\n    defaultOpen: PropTypes.bool,\n    header: customPropTypes.itemShorthand,\n    onCancel: PropTypes.func,\n    onConfirm: PropTypes.func,\n    onOpen: PropTypes.func,\n    open: PropTypes.bool,\n    overlay: customPropTypes.itemShorthand,\n    trapFocus: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n    trigger: PropTypes.any\n  });\n  Dialog.defaultProps = {\n    accessibility: dialogBehavior,\n    actions: {},\n    backdrop: true,\n    closeOnOutsideClick: true,\n    overlay: {},\n    footer: {},\n    trapFocus: true\n  };\n  Dialog.handledProps = Object.keys(Dialog.propTypes);\n  Dialog.Footer = DialogFooter;\n  Dialog.create = createShorthandFactory({\n    Component: Dialog\n  });\n  return Dialog;\n}();\n//# sourceMappingURL=Dialog.js.map\n","import { findElementRecursive } from './findElementRecursive';\n/**\n * Determines if an element, or any of its ancestors, contain the given attribute\n * @param element - element to start searching at\n * @param attribute - the attribute to search for\n * @returns the value of the first instance found\n */\nexport function elementContainsAttribute(element, attribute) {\n    var elementMatch = findElementRecursive(element, function (testElement) { return testElement.hasAttribute(attribute); });\n    return elementMatch && elementMatch.getAttribute(attribute);\n}\n//# sourceMappingURL=elementContainsAttribute.js.map","import { getParent } from './getParent';\n/**\n * Finds the first parent element where the matchFunction returns true\n * @param element - element to start searching at\n * @param matchFunction - the function that determines if the element is a match\n * @returns the matched element or null no match was found\n */\nexport function findElementRecursive(element, matchFunction) {\n    if (!element || element === document.body) {\n        return null;\n    }\n    return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}\n//# sourceMappingURL=findElementRecursive.js.map","import { elementContainsAttribute } from './dom/elementContainsAttribute';\nimport { elementContains } from './dom/elementContains';\nimport { getParent } from './dom/getParent';\nimport { getWindow } from './dom/getWindow';\nimport { getDocument } from './dom/getDocument';\nvar IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nvar IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nvar FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nvar FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\n/**\n * Gets the first focusable element.\n *\n * @public\n */\nexport function getFirstFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n    return getNextElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones);\n}\n/**\n * Gets the last focusable element.\n *\n * @public\n */\nexport function getLastFocusable(rootElement, currentElement, includeElementsInFocusZones) {\n    return getPreviousElement(rootElement, currentElement, true /*checkNode*/, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones);\n}\n/**\n * Gets the first tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at.  This element is the first one checked,\n * and iteration continues forward.  Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getFirstTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n    if (checkNode === void 0) { checkNode = true; }\n    return getNextElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, false /*suppressChildTraversal*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Gets the last tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at.  This element is the first one checked,\n * and iteration continues in reverse.  Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getLastTabbable(rootElement, currentElement, includeElementsInFocusZones, checkNode) {\n    if (checkNode === void 0) { checkNode = true; }\n    return getPreviousElement(rootElement, currentElement, checkNode, false /*suppressParentTraversal*/, true /*traverseChildren*/, includeElementsInFocusZones, false /*allowFocusRoot*/, true /*tabbable*/);\n}\n/**\n * Attempts to focus the first focusable element that is a child or child's child of the rootElement.\n *\n * @public\n * @param rootElement - Element to start the search for a focusable child.\n * @returns True if focus was set, false if it was not.\n */\nexport function focusFirstChild(rootElement) {\n    var element = getNextElement(rootElement, rootElement, true, false, false, true);\n    if (element) {\n        focusAsync(element);\n        return true;\n    }\n    return false;\n}\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\nexport function getPreviousElement(rootElement, currentElement, checkNode, suppressParentTraversal, traverseChildren, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n    if (!currentElement || (!allowFocusRoot && currentElement === rootElement)) {\n        return null;\n    }\n    var isCurrentElementVisible = isElementVisible(currentElement);\n    // Check its children.\n    if (traverseChildren &&\n        isCurrentElementVisible &&\n        (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n        var childMatch = getPreviousElement(rootElement, currentElement.lastElementChild, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n        if (childMatch) {\n            if ((tabbable && isElementTabbable(childMatch, true)) || !tabbable) {\n                return childMatch;\n            }\n            var childMatchSiblingMatch = getPreviousElement(rootElement, childMatch.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n            if (childMatchSiblingMatch) {\n                return childMatchSiblingMatch;\n            }\n            var childMatchParent = childMatch.parentElement;\n            // At this point if we have not found any potential matches\n            // start looking at the rest of the subtree under the currentParent.\n            // NOTE: We do not want to recurse here because doing so could\n            // cause elements to get skipped.\n            while (childMatchParent && childMatchParent !== currentElement) {\n                var childMatchParentMatch = getPreviousElement(rootElement, childMatchParent.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n                if (childMatchParentMatch) {\n                    return childMatchParentMatch;\n                }\n                childMatchParent = childMatchParent.parentElement;\n            }\n        }\n    }\n    // Check the current node, if it's not the first traversal.\n    if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n        return currentElement;\n    }\n    // Check its previous sibling.\n    var siblingMatch = getPreviousElement(rootElement, currentElement.previousElementSibling, true, true, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n    if (siblingMatch) {\n        return siblingMatch;\n    }\n    // Check its parent.\n    if (!suppressParentTraversal) {\n        return getPreviousElement(rootElement, currentElement.parentElement, true, false, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n    }\n    return null;\n}\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n * @param checkNode - Include currentElement in search when true.\n */\nexport function getNextElement(rootElement, currentElement, checkNode, suppressParentTraversal, suppressChildTraversal, includeElementsInFocusZones, allowFocusRoot, tabbable) {\n    if (!currentElement || (currentElement === rootElement && suppressChildTraversal && !allowFocusRoot)) {\n        return null;\n    }\n    var isCurrentElementVisible = isElementVisible(currentElement);\n    // Check the current node, if it's not the first traversal.\n    if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n        return currentElement;\n    }\n    // Check its children.\n    if (!suppressChildTraversal &&\n        isCurrentElementVisible &&\n        (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))) {\n        var childMatch = getNextElement(rootElement, currentElement.firstElementChild, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n        if (childMatch) {\n            return childMatch;\n        }\n    }\n    if (currentElement === rootElement) {\n        return null;\n    }\n    // Check its sibling.\n    var siblingMatch = getNextElement(rootElement, currentElement.nextElementSibling, true, true, false, includeElementsInFocusZones, allowFocusRoot, tabbable);\n    if (siblingMatch) {\n        return siblingMatch;\n    }\n    if (!suppressParentTraversal) {\n        return getNextElement(rootElement, currentElement.parentElement, false, false, true, includeElementsInFocusZones, allowFocusRoot, tabbable);\n    }\n    return null;\n}\n/**\n * Determines if an element is visible.\n *\n * @public\n */\nexport function isElementVisible(element) {\n    // If the element is not valid, return false.\n    if (!element || !element.getAttribute) {\n        return false;\n    }\n    var visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE);\n    // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n    if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n        return visibilityAttribute === 'true';\n    }\n    // Fallback to other methods of determining actual visibility.\n    return (element.offsetHeight !== 0 ||\n        element.offsetParent !== null ||\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        element.isVisible === true); // used as a workaround for testing.\n}\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key,\n * meaning tabIndex != -1.\n *\n * @public\n */\nexport function isElementTabbable(element, checkTabIndex) {\n    // If this element is null or is disabled, it is not considered tabbable.\n    if (!element || element.disabled) {\n        return false;\n    }\n    var tabIndex = 0;\n    var tabIndexAttributeValue = null;\n    if (element && element.getAttribute) {\n        tabIndexAttributeValue = element.getAttribute('tabIndex');\n        if (tabIndexAttributeValue) {\n            tabIndex = parseInt(tabIndexAttributeValue, 10);\n        }\n    }\n    var isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n    var isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n    var result = !!element &&\n        isFocusableAttribute !== 'false' &&\n        (element.tagName === 'A' ||\n            element.tagName === 'BUTTON' ||\n            element.tagName === 'INPUT' ||\n            element.tagName === 'TEXTAREA' ||\n            element.tagName === 'SELECT' ||\n            isFocusableAttribute === 'true' ||\n            isTabIndexSet);\n    return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\nexport function isElementFocusZone(element) {\n    return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\nexport function isElementFocusSubZone(element) {\n    return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\n/**\n * Determines if an element, or any of its children, contain focus.\n *\n * @public\n */\nexport function doesElementContainFocus(element) {\n    var document = getDocument(element);\n    var currentActiveElement = document && document.activeElement;\n    if (currentActiveElement && elementContains(element, currentActiveElement)) {\n        return true;\n    }\n    return false;\n}\n/**\n * Determines if an, or any of its ancestors, sepcificies that it doesn't want focus to wrap\n * @param element - element to start searching from\n * @param noWrapDataAttribute - the no wrap data attribute to match (either)\n * @returns true if focus should wrap, false otherwise\n */\nexport function shouldWrapFocus(element, noWrapDataAttribute) {\n    return elementContainsAttribute(element, noWrapDataAttribute) === 'true' ? false : true;\n}\nvar targetToFocusOnNextRepaint = undefined;\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\nexport function focusAsync(element) {\n    if (element) {\n        // An element was already queued to be focused, so replace that one with the new element\n        if (targetToFocusOnNextRepaint) {\n            targetToFocusOnNextRepaint = element;\n            return;\n        }\n        targetToFocusOnNextRepaint = element;\n        var win = getWindow(element);\n        if (win) {\n            // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n            win.requestAnimationFrame(function () {\n                var focusableElement = targetToFocusOnNextRepaint;\n                // We are done focusing for this frame, so reset the queued focus element\n                targetToFocusOnNextRepaint = undefined;\n                if (focusableElement) {\n                    if (focusableElement.getAttribute && focusableElement.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n                        // Normally, a FocusZone would be responsible for setting the tabindex values on all its descendants.\n                        // However, even this animation frame callback can pre-empt the rendering of a FocusZone's child elements,\n                        // so it may be necessary to set the tabindex directly here.\n                        if (!focusableElement.getAttribute('tabindex')) {\n                            focusableElement.setAttribute('tabindex', '0');\n                        }\n                    }\n                    focusableElement.focus();\n                }\n            });\n        }\n    }\n}\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\nexport function getFocusableByIndexPath(parent, path) {\n    var element = parent;\n    for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {\n        var index = path_1[_i];\n        var nextChild = element.children[Math.min(index, element.children.length - 1)];\n        if (!nextChild) {\n            break;\n        }\n        element = nextChild;\n    }\n    element =\n        isElementTabbable(element) && isElementVisible(element)\n            ? element\n            : getNextElement(parent, element, true) || getPreviousElement(parent, element);\n    return element;\n}\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\nexport function getElementIndexPath(fromElement, toElement) {\n    var path = [];\n    while (toElement && fromElement && toElement !== fromElement) {\n        var parent_1 = getParent(toElement, true);\n        if (parent_1 === null) {\n            return [];\n        }\n        path.unshift(Array.prototype.indexOf.call(parent_1.children, toElement));\n        toElement = parent_1;\n    }\n    return path;\n}\n//# sourceMappingURL=focus.js.map","/**\n * @specification\n * Adds attribute 'aria-disabled=true' based on the property 'disabled'.\n */\nexport var textAreaBehavior = function textAreaBehavior(props) {\n  return {\n    attributes: {\n      root: {\n        'aria-disabled': props.disabled\n      }\n    }\n  };\n};\n//# sourceMappingURL=textAreaBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport { textAreaBehavior } from '@fluentui/accessibility';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { commonPropTypes, createShorthandFactory } from '../../utils';\nimport { useAutoControlled, getElementType, useTelemetry, useUnhandledProps, useFluentContext, useAccessibility, useStyles } from '@fluentui/react-bindings';\nexport var textAreaClassName = 'ui-textarea';\n/**\n * A TextArea is a multi-line plan-text editing control.\n *\n * @accessibility\n * For good screen reader experience set `aria-label` or `aria-labelledby` attribute for textarea.\n * When using maxlength attribute, provide the information about max length in label for screen reader.\n * @accessibilityIssues\n * [NVDA - No announcement of maxlength](https://github.com/nvaccess/nvda/issues/7910)\n * [JAWS - textarea - no announcement of maxlength](https://github.com/FreedomScientific/VFO-standards-support/issues/300)\n */\n\nexport var TextArea = /*#__PURE__*/function () {\n  var TextArea = function TextArea(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(TextArea.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var disabled = props.disabled,\n        accessibility = props.accessibility,\n        inverted = props.inverted,\n        resize = props.resize,\n        fluid = props.fluid,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        error = props.error;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultValue,\n      value: props.value,\n      initialValue: ''\n    }),\n        value = _useAutoControlled[0],\n        setValue = _useAutoControlled[1];\n\n    var unhandledProps = useUnhandledProps(TextArea.handledProps, props);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: TextArea.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          disabled: disabled\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(TextArea.displayName, {\n      className: textAreaClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          inverted: inverted,\n          resize: resize,\n          fluid: fluid,\n          disabled: disabled,\n          error: error\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n\n    var handleChange = function handleChange(e) {\n      var newValue = _get(e, 'target.value');\n\n      _invoke(props, 'onChange', e, Object.assign({}, props, {\n        value: newValue\n      }));\n\n      setValue(newValue);\n    };\n\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root,\n      value: value,\n      disabled: disabled,\n      onChange: handleChange\n    }, unhandledProps)));\n    setEnd();\n    return element;\n  };\n\n  TextArea.displayName = 'TextArea';\n  TextArea.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    defaultValue: PropTypes.string,\n    onChange: PropTypes.func,\n    value: PropTypes.string,\n    disabled: PropTypes.bool,\n    inverted: PropTypes.bool,\n    fluid: PropTypes.bool,\n    error: PropTypes.bool,\n    resize: PropTypes.oneOf(['none', 'both', 'horizontal', 'vertical'])\n  });\n  TextArea.defaultProps = {\n    as: 'textarea',\n    accessibility: textAreaBehavior\n  };\n  TextArea.handledProps = Object.keys(TextArea.propTypes);\n  TextArea.create = createShorthandFactory({\n    Component: TextArea\n  });\n  return TextArea;\n}();\n//# sourceMappingURL=TextArea.js.map\n","import { formFieldBehavior } from '@fluentui/accessibility';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, getOrGenerateIdFromShorthand } from '../../utils';\nimport { Text } from '../Text/Text';\nimport { Input } from '../Input/Input';\nimport { Box } from '../Box/Box';\nimport { getElementType, useUnhandledProps, useFluentContext, useTelemetry, useStyles, useAccessibility } from '@fluentui/react-bindings';\nexport var formFieldClassName = 'ui-form__field';\nexport var formFieldMessageClassName = 'ui-form__field__message';\n\n/**\n * A FormField represents a Form element containing a label and an input.\n */\nexport var FormField = /*#__PURE__*/function () {\n  var FormField = function FormField(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(FormField.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        control = props.control,\n        id = props.id,\n        label = props.label,\n        message = props.message,\n        name = props.name,\n        required = props.required,\n        type = props.type,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        inline = props.inline,\n        errorMessage = props.errorMessage;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(FormField.handledProps, props);\n    var messageId = React.useRef();\n    messageId.current = getOrGenerateIdFromShorthand('error-message-', message || errorMessage, messageId.current);\n    var labelId = React.useRef();\n    labelId.current = getOrGenerateIdFromShorthand('form-label-', id, labelId.current);\n    var getA11yProps = useAccessibility(props.accessibility, {\n      debugName: FormField.displayName,\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          hasErrorMessage: !!errorMessage,\n          messageId: messageId.current,\n          labelId: labelId.current\n        };\n      },\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(FormField.displayName, {\n      className: formFieldClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          type: type,\n          inline: inline,\n          required: required,\n          hasErrorMessage: !!errorMessage\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes,\n        resolvedStyles = _useStyles.styles;\n\n    var labelElement = Text.create(label, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('label', {\n          as: 'label',\n          htmlFor: id,\n          id: labelId.current,\n          styles: resolvedStyles.label\n        });\n      }\n    });\n    var messageElement = Text.create(errorMessage || message, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('message', {\n          className: formFieldMessageClassName,\n          id: messageId.current,\n          styles: resolvedStyles.message\n        });\n      }\n    });\n    var controlElement = Box.create(control || {}, {\n      defaultProps: function defaultProps() {\n        return getA11yProps('control', {\n          required: required,\n          name: name,\n          id: id,\n          type: type,\n          error: !!errorMessage || null,\n          styles: resolvedStyles.control\n        });\n      }\n    });\n\n    var shouldControlAppearFirst = function shouldControlAppearFirst() {\n      return type && (type === 'checkbox' || type === 'radio');\n    };\n\n    var content = /*#__PURE__*/React.createElement(React.Fragment, null, shouldControlAppearFirst() && controlElement, labelElement, !shouldControlAppearFirst() && controlElement, messageElement);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  };\n\n  FormField.displayName = 'FormField';\n  FormField.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    control: customPropTypes.shorthandAllowingChildren,\n    id: PropTypes.string,\n    inline: PropTypes.bool,\n    label: customPropTypes.itemShorthand,\n    message: customPropTypes.itemShorthand,\n    name: PropTypes.string,\n    required: PropTypes.bool,\n    type: PropTypes.string,\n    errorMessage: customPropTypes.shorthandAllowingChildren\n  });\n  FormField.handledProps = Object.keys(FormField.propTypes);\n  FormField.defaultProps = {\n    accessibility: formFieldBehavior,\n    control: {\n      as: Input\n    }\n  };\n  FormField.create = createShorthandFactory({\n    Component: FormField,\n    mappedProp: 'label'\n  });\n  return FormField;\n}();\n//# sourceMappingURL=FormField.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, commonPropTypes, rtlTextContainer, createShorthandFactory } from '../../utils';\nimport { FormField } from './FormField';\nimport { useTelemetry, getElementType, useUnhandledProps, useStyles, useFluentContext, useAccessibility } from '@fluentui/react-bindings';\nexport var formClassName = 'ui-form';\n\n/**\n * A Form is used to collect, oprionally validate, and submit the user input, in a structured way.\n */\nexport var Form = /*#__PURE__*/function () {\n  var Form = function Form(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Form.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        action = props.action,\n        children = props.children,\n        accessibility = props.accessibility;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Form.handledProps, props);\n\n    var _useStyles = useStyles(Form.displayName, {\n      className: formClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: Form.displayName,\n      rtl: context.rtl\n    });\n\n    var handleSubmit = function handleSubmit(e) {\n      var action = props.action; // Heads up! Third party libs can pass own data as first argument, we need to check that it has preventDefault()\n      // method.\n\n      if (!action) _invoke(e, 'preventDefault');\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      _invoke.apply(void 0, [props, 'onSubmit', e, props].concat(args));\n    };\n\n    var renderFields = function renderFields() {\n      var fields = props.fields;\n      return _map(fields, function (field) {\n        return FormField.create(field);\n      });\n    };\n\n    var element = /*#__PURE__*/React.createElement(ElementType, _extends({}, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), {\n      action: action,\n      onSubmit: handleSubmit\n    }), childrenExist(children) ? children : renderFields());\n    setEnd();\n    return element;\n  };\n\n  Form.displayName = 'Form';\n  Form.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    action: PropTypes.string,\n    fields: customPropTypes.collectionShorthand,\n    onSubmit: PropTypes.func\n  });\n  Form.defaultProps = {\n    as: 'form'\n  };\n  Form.handledProps = Object.keys(Form.propTypes);\n  Form.create = createShorthandFactory({\n    Component: Form\n  });\n  return Form;\n}();\n//# sourceMappingURL=Form.js.map\n","import { getElementType, useUnhandledProps, useAccessibility, useFluentContext, useStyles, useTelemetry } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer } from '../../utils';\nimport { getBasePlacement } from '../../utils/positioner';\nexport var tooltipContentClassName = 'ui-tooltip__content';\n/**\n * A TooltipContent contains the content of a Tooltip component.\n */\n\nexport var TooltipContent = /*#__PURE__*/function () {\n  var TooltipContent = function TooltipContent(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(TooltipContent.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        children = props.children,\n        className = props.className,\n        content = props.content,\n        design = props.design,\n        open = props.open,\n        placement = props.placement,\n        pointing = props.pointing,\n        pointerRef = props.pointerRef,\n        styles = props.styles,\n        variables = props.variables;\n    var getA11Props = useAccessibility(accessibility, {\n      debugName: TooltipContent.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(TooltipContent.displayName, {\n      className: tooltipContentClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          basePlacement: getBasePlacement(placement, context.rtl),\n          open: open,\n          pointing: pointing\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(TooltipContent.handledProps, props);\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11Props('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children, content]\n    }), unhandledProps)), open && pointing && /*#__PURE__*/React.createElement(\"div\", {\n      className: classes.pointer,\n      ref: pointerRef\n    }), /*#__PURE__*/React.createElement(\"div\", getA11Props('content', {\n      className: classes.content\n    }), childrenExist(children) ? children : content));\n    setEnd();\n    return element;\n  };\n\n  TooltipContent.displayName = 'TooltipContent';\n  TooltipContent.propTypes = Object.assign({}, commonPropTypes.createCommon(), {\n    placement: PropTypes.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']),\n    pointing: PropTypes.bool,\n    pointerRef: customPropTypes.ref\n  });\n  TooltipContent.handledProps = Object.keys(TooltipContent.propTypes);\n  TooltipContent.create = createShorthandFactory({\n    Component: TooltipContent,\n    mappedProp: 'content'\n  });\n  return TooltipContent;\n}();\n//# sourceMappingURL=TooltipContent.js.map\n","import _invoke from \"lodash/invoke\";\nimport { tooltipAsLabelBehavior } from '@fluentui/accessibility';\nimport { useAccessibility, useAutoControlled, useTelemetry, useFluentContext, useTriggerElement } from '@fluentui/react-bindings';\nimport { Ref } from '@fluentui/react-component-ref';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, isFromKeyboard, setWhatInputSource, getOrGenerateIdFromShorthand, createShorthandFactory } from '../../utils';\nimport { ALIGNMENTS, POSITIONS, Popper, AUTOSIZES } from '../../utils/positioner';\nimport { PortalInner } from '../Portal/PortalInner';\nimport { TooltipContent } from './TooltipContent';\nexport var tooltipClassName = 'ui-tooltip';\n/**\n * A Tooltip displays additional non-modal information on top of its target element.\n * Tooltip doesn't receive focus and cannot contain focusable elements.\n *\n * @accessibility\n * Implements [ARIA Tooltip](https://www.w3.org/TR/wai-aria-practices-1.1/#tooltip) design pattern.\n */\n\nexport var Tooltip = /*#__PURE__*/function () {\n  var Tooltip = function Tooltip(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Tooltip.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var accessibility = props.accessibility,\n        align = props.align,\n        content = props.content,\n        flipBoundary = props.flipBoundary,\n        mountNode = props.mountNode,\n        mouseLeaveDelay = props.mouseLeaveDelay,\n        offset = props.offset,\n        overflowBoundary = props.overflowBoundary,\n        pointing = props.pointing,\n        popperRef = props.popperRef,\n        position = props.position,\n        positionFixed = props.positionFixed,\n        target = props.target,\n        trigger = props.trigger,\n        unstable_disableTether = props.unstable_disableTether,\n        unstable_pinned = props.unstable_pinned,\n        autoSize = props.autoSize;\n\n    var _useAutoControlled = useAutoControlled({\n      defaultValue: props.defaultOpen,\n      value: props.open,\n      initialValue: false\n    }),\n        open = _useAutoControlled[0],\n        setOpen = _useAutoControlled[1];\n\n    var triggerElement = useTriggerElement(props);\n    var contentRef = React.useRef();\n    var pointerTargetRef = React.useRef();\n    var triggerRef = React.useRef();\n    var closeTimeoutId = React.useRef(); // TODO: Consider `getOrGenerateIdFromShorthand()` as hook and make it SSR safe\n\n    var contentId = React.useRef();\n    contentId.current = getOrGenerateIdFromShorthand('tooltip-content-', content, contentId.current);\n    var getA11Props = useAccessibility(accessibility, {\n      actionHandlers: {\n        close: function close(e) {\n          setTooltipOpen(false, e);\n          e.stopPropagation();\n          e.preventDefault();\n        }\n      },\n      mapPropsToBehavior: function mapPropsToBehavior() {\n        return {\n          'aria-describedby': props['aria-describedby'],\n          'aria-label': props['aria-label'],\n          'aria-labelledby': props['aria-labelledby'],\n          contentId: contentId.current,\n          triggerAriaLabel: trigger && trigger.props['aria-label'],\n          open: open\n        };\n      }\n    });\n\n    var getContentOverrideProps = function getContentOverrideProps(predefinedProps) {\n      return {\n        onMouseEnter: function onMouseEnter(e) {\n          setTooltipOpen(true, e);\n\n          _invoke(predefinedProps, 'onMouseEnter', e);\n        },\n        onMouseLeave: function onMouseLeave(e) {\n          setTooltipOpen(false, e);\n\n          _invoke(predefinedProps, 'onMouseLeave', e);\n        }\n      };\n    };\n\n    var renderPopperChildren = function renderPopperChildren(popperProps) {\n      var tooltipContent = TooltipContent.create(content, {\n        defaultProps: function defaultProps() {\n          return getA11Props('tooltip', {\n            open: open,\n            placement: popperProps.placement,\n            pointing: pointing,\n            pointerRef: pointerTargetRef\n          });\n        },\n        generateKey: false,\n        overrideProps: getContentOverrideProps\n      });\n      return tooltipContent ? /*#__PURE__*/React.createElement(Ref, {\n        innerRef: contentRef\n      }, tooltipContent) : null;\n    };\n\n    var shouldStayOpen = function shouldStayOpen(e) {\n      return _invoke(e, 'currentTarget.contains', e.relatedTarget) || _invoke(contentRef.current, 'contains', e.relatedTarget);\n    };\n\n    var trySetOpen = function trySetOpen(newValue, e) {\n      setOpen(newValue);\n\n      _invoke(props, 'onOpenChange', e, Object.assign({}, props, {\n        open: newValue\n      }));\n    };\n\n    var setTooltipOpen = function setTooltipOpen(newOpen, e) {\n      clearTimeout(closeTimeoutId.current);\n\n      if (newOpen) {\n        trySetOpen(true, e);\n      } else {\n        closeTimeoutId.current = context.target.defaultView.setTimeout(function () {\n          trySetOpen(false, e);\n        }, mouseLeaveDelay);\n      }\n    };\n\n    var triggerProps = {\n      onFocus: function onFocus(e) {\n        if (isFromKeyboard()) {\n          trySetOpen(true, e);\n        }\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        _invoke.apply(void 0, [triggerElement, 'props.onFocus', e].concat(args));\n      },\n      onBlur: function onBlur(e) {\n        if (!shouldStayOpen(e)) {\n          trySetOpen(false, e);\n        }\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        _invoke.apply(void 0, [triggerElement, 'props.onBlur', e].concat(args));\n      },\n      onMouseEnter: function onMouseEnter(e) {\n        setTooltipOpen(true, e);\n        setWhatInputSource(context.target, 'mouse');\n\n        for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n          args[_key3 - 1] = arguments[_key3];\n        }\n\n        _invoke.apply(void 0, [triggerElement, 'props.onMouseEnter', e].concat(args));\n      },\n      onMouseLeave: function onMouseLeave(e) {\n        setTooltipOpen(false, e);\n\n        for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n          args[_key4 - 1] = arguments[_key4];\n        }\n\n        _invoke.apply(void 0, [triggerElement, 'props.onMouseLeave', e].concat(args));\n      }\n    };\n    var element = /*#__PURE__*/React.createElement(React.Fragment, null, triggerElement && /*#__PURE__*/React.createElement(Ref, {\n      innerRef: triggerRef\n    }, /*#__PURE__*/React.cloneElement(triggerElement, getA11Props('trigger', triggerProps))), /*#__PURE__*/React.createElement(PortalInner, {\n      mountNode: mountNode\n    }, /*#__PURE__*/React.createElement(Popper, {\n      align: align,\n      flipBoundary: flipBoundary,\n      offset: offset,\n      overflowBoundary: overflowBoundary,\n      pointerTargetRef: pointerTargetRef,\n      popperRef: popperRef,\n      position: position,\n      positionFixed: positionFixed,\n      enabled: open,\n      rtl: context.rtl,\n      targetRef: target || triggerRef,\n      children: renderPopperChildren,\n      unstable_disableTether: unstable_disableTether,\n      autoSize: autoSize,\n      unstable_pinned: unstable_pinned\n    })));\n    setEnd();\n    return element;\n  };\n\n  Tooltip.displayName = 'Tooltip';\n  Tooltip.defaultProps = {\n    align: 'center',\n    position: 'above',\n    mouseLeaveDelay: 10,\n    pointing: true,\n    accessibility: tooltipAsLabelBehavior\n  };\n  Tooltip.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    as: false,\n    content: false\n  }), {\n    align: PropTypes.oneOf(ALIGNMENTS),\n    children: PropTypes.element,\n    defaultOpen: PropTypes.bool,\n    mountNode: customPropTypes.domNode,\n    mouseLeaveDelay: PropTypes.number,\n    offset: PropTypes.oneOfType([PropTypes.func, PropTypes.arrayOf(PropTypes.number)]),\n    open: PropTypes.bool,\n    onOpenChange: PropTypes.func,\n    pointing: PropTypes.bool,\n    position: PropTypes.oneOf(POSITIONS),\n    positionFixed: PropTypes.bool,\n    target: customPropTypes.domNode,\n    trigger: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.element]),\n    content: customPropTypes.shorthandAllowingChildren,\n    unstable_disableTether: PropTypes.oneOf([true, false, 'all']),\n    unstable_pinned: PropTypes.bool,\n    autoSize: PropTypes.oneOf(AUTOSIZES),\n    popperRef: customPropTypes.ref,\n    flipBoundary: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object), PropTypes.oneOf(['clippingParents', 'window', 'scrollParent'])]),\n    overflowBoundary: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object), PropTypes.oneOf(['clippingParents', 'window', 'scrollParent'])])\n  });\n  Tooltip.handledProps = Object.keys(Tooltip.propTypes);\n  Tooltip.Content = TooltipContent;\n  Tooltip.create = createShorthandFactory({\n    Component: Tooltip,\n    mappedProp: 'content'\n  });\n  return Tooltip;\n}();\n//# sourceMappingURL=Tooltip.js.map\n","import { compose } from '@fluentui/react-bindings';\nimport { commonPropTypes } from '../../utils';\nimport { Box } from '../Box/Box';\nexport var dividerContentClassName = 'ui-divider__content';\n/**\n * A DividerContent provides a content for the Divider.\n */\n\nexport var DividerContent = /*#__PURE__*/function () {\n  var DividerContent = compose(Box, {\n    className: dividerContentClassName,\n    displayName: 'DividerContent',\n    overrideStyles: true\n  });\n  DividerContent.propTypes = commonPropTypes.createCommon();\n  return DividerContent;\n}();\n//# sourceMappingURL=DividerContent.js.map\n","import { useTelemetry, useAccessibility, getElementType, useFluentContext, useUnhandledProps, useStyles } from '@fluentui/react-bindings';\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { childrenExist, createShorthandFactory, commonPropTypes, rtlTextContainer, createShorthand } from '../../utils';\nimport { DividerContent } from './DividerContent';\nexport var dividerClassName = 'ui-divider';\n/**\n * A Divider visually segments content.\n */\n\nexport var Divider = /*#__PURE__*/function () {\n  var Divider = function Divider(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Divider.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        color = props.color,\n        fitted = props.fitted,\n        size = props.size,\n        important = props.important,\n        vertical = props.vertical,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables,\n        accessibility = props.accessibility;\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Divider.handledProps, props);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: Divider.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Divider.displayName, {\n      className: dividerClassName,\n      mapPropsToStyles: function mapPropsToStyles() {\n        return {\n          hasContent: childrenExist(children) || !!props.content,\n          color: color,\n          fitted: fitted,\n          size: size,\n          important: important,\n          vertical: vertical\n        };\n      },\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var content = createShorthand(DividerContent, props.content, {});\n    var element = /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, rtlTextContainer.getAttributes({\n      forElements: [children]\n    }), unhandledProps)), childrenExist(children) ? children : content);\n    setEnd();\n    return element;\n  };\n\n  Divider.displayName = 'Divider';\n  Divider.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    color: true\n  }), {\n    fitted: PropTypes.bool,\n    size: PropTypes.number,\n    important: PropTypes.bool,\n    vertical: PropTypes.bool\n  });\n  Divider.defaultProps = {\n    size: 0\n  };\n  Divider.Content = DividerContent;\n  Divider.handledProps = Object.keys(Divider.propTypes);\n  Divider.create = createShorthandFactory({\n    Component: Divider,\n    mappedProp: 'content'\n  });\n  return Divider;\n}();\n//# sourceMappingURL=Divider.js.map\n","import { tableRowBehavior } from './tableRowBehavior';\n/**\n * @description\n * Basic behavior for static table - a static tabular structure containing one or more rows that each contain one or more cells; it is not an interactive widget\n * @specification\n * Adds role='table'.\n * Applies 'tableRowBehavior' for 'row' child component.\n */\n\nexport var tableBehavior = function tableBehavior() {\n  return {\n    attributes: {\n      root: {\n        role: 'table'\n      }\n    },\n    childBehaviors: {\n      row: tableRowBehavior\n    }\n  };\n};\n//# sourceMappingURL=tableBehavior.js.map\n","import _invoke from \"lodash/invoke\";\nimport _map from \"lodash/map\";\nimport { tableBehavior } from '@fluentui/accessibility';\nimport { getElementType, useTelemetry, mergeVariablesOverrides, useUnhandledProps, useAccessibility, useStyles, useFluentContext } from '@fluentui/react-bindings';\nimport * as customPropTypes from '@fluentui/react-proptypes';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { commonPropTypes, childrenExist, createShorthandFactory } from '../../utils';\nimport { TableRow } from './TableRow';\nimport { TableCell } from './TableCell';\nexport var tableClassName = 'ui-table';\nexport var tableSlotClassNames = {\n  header: tableClassName + \"__header\"\n};\n\n/**\n * A Table is used to display data in tabular layout\n * * @accessibility\n * Implements ARIA [Data Grid](https://www.w3.org/TR/wai-aria-practices/#dataGrid) design pattern for presenting tabular information.\n * When gridcell contains actionable element, use [gridCellWithFocusableElementBehavior](/components/table/accessibility#grid-cell-with-focusable-element-behavior-ts). [More information available in aria documentation.](https://www.w3.org/TR/wai-aria-practices/#gridNav_focus)\n * Use [gridCellMultipleFocusableBehavior](/components/table/accessibility#gridCellMultipleFocusableBehavior), when gridcell contains:\n * \\- editable content\n * \\- multiple actionable elements\n * \\- component that utilizes arrow keys in its navigation, like menu button, dropdown, radio group, slider, etc.\n * [More information available in aria documentation.](https://www.w3.org/TR/wai-aria-practices/#gridNav_inside)\n * @accessibilityIssues\n * [NVDA narrate table title(aria-label) twice](https://github.com/nvaccess/nvda/issues/10548)\n * [Accessibility DOM > Table > gridcell > when gridcell is focused, then selected state is send to reader](https://bugs.chromium.org/p/chromium/issues/detail?id=1030378)\n * [JAWS narrate grid name twice, once as table and second time as grid](https://github.com/FreedomScientific/VFO-standards-support/issues/346)\n * [JAWS doesn't narrate grid column name, when focus is on actionable element in the cell] (https://github.com/FreedomScientific/VFO-standards-support/issues/348)\n * [aria-sort is not output at child elements](https://github.com/FreedomScientific/VFO-standards-support/issues/319)\n * [VoiceOver not announcing rows correctly for a grid with presentation elements inside](https://bugs.chromium.org/p/chromium/issues/detail?id=1054424)\n * VoiceOver doesn't narrate aria-rowcount value in table or grid\n */\nexport var Table = /*#__PURE__*/function () {\n  var Table = function Table(props) {\n    var context = useFluentContext();\n\n    var _useTelemetry = useTelemetry(Table.displayName, context.telemetry),\n        setStart = _useTelemetry.setStart,\n        setEnd = _useTelemetry.setEnd;\n\n    setStart();\n    var children = props.children,\n        rows = props.rows,\n        header = props.header,\n        compact = props.compact,\n        accessibility = props.accessibility,\n        className = props.className,\n        design = props.design,\n        styles = props.styles,\n        variables = props.variables;\n    var hasChildren = childrenExist(children);\n    var ElementType = getElementType(props);\n    var unhandledProps = useUnhandledProps(Table.handledProps, props);\n    var getA11yProps = useAccessibility(accessibility, {\n      debugName: Table.displayName,\n      rtl: context.rtl\n    });\n\n    var _useStyles = useStyles(Table.displayName, {\n      className: tableClassName,\n      mapPropsToInlineStyles: function mapPropsToInlineStyles() {\n        return {\n          className: className,\n          design: design,\n          styles: styles,\n          variables: variables\n        };\n      },\n      rtl: context.rtl\n    }),\n        classes = _useStyles.classes;\n\n    var renderRows = function renderRows() {\n      return _map(rows, function (row) {\n        return TableRow.create(row, {\n          defaultProps: function defaultProps() {\n            return getA11yProps('row', {\n              compact: compact,\n              onClick: function onClick(e, props) {\n                _invoke(row, 'onClick', e, props);\n              }\n            });\n          },\n          overrideProps: function overrideProps(predefinedProps) {\n            return {\n              variables: mergeVariablesOverrides(variables, predefinedProps.variables)\n            };\n          }\n        });\n      });\n    };\n\n    var renderHeader = function renderHeader() {\n      return TableRow.create(header, {\n        defaultProps: function defaultProps() {\n          return getA11yProps('row', {\n            header: true,\n            compact: compact,\n            className: tableSlotClassNames.header\n          });\n        },\n        overrideProps: function overrideProps(predefinedProps) {\n          return {\n            variables: mergeVariablesOverrides(variables, predefinedProps.variables)\n          };\n        }\n      });\n    };\n\n    var element = getA11yProps.unstable_wrapWithFocusZone( /*#__PURE__*/React.createElement(ElementType, getA11yProps('root', Object.assign({\n      className: classes.root\n    }, unhandledProps)), hasChildren && children, !hasChildren && renderHeader(), !hasChildren && renderRows()));\n    setEnd();\n    return element;\n  };\n\n  Table.displayName = 'Table';\n  Table.Cell = TableCell;\n  Table.Row = TableRow;\n  Table.create = createShorthandFactory({\n    Component: Table\n  });\n  Table.propTypes = Object.assign({}, commonPropTypes.createCommon({\n    content: false\n  }), {\n    header: customPropTypes.itemShorthand,\n    rows: customPropTypes.collectionShorthand,\n    compact: PropTypes.bool\n  });\n  Table.handledProps = Object.keys(Table.propTypes);\n  Table.defaultProps = {\n    accessibility: tableBehavior\n  };\n  return Table;\n}();\n//# sourceMappingURL=Table.js.map\n","function _createForOfIteratorHelperLoose(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; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\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 * as React from 'react';\n/**\n * A Ref function which can be treated like a ref object in that it has an attached\n * current property, which will be updated as the ref is evaluated.\n */\n\n/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that\n * updates all provided refs\n * @param refs - Refs to collectively update with one ref value.\n * @returns A function with an attached \"current\" prop, so that it can be treated like a RefObject.\n */\nexport function useMergedRefs() {\n  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n    refs[_key] = arguments[_key];\n  }\n\n  var mergedCallback = React.useCallback(function (value) {\n    // Update the \"current\" prop hanging on the function.\n    mergedCallback.current = value;\n\n    for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n      var ref = _step.value;\n\n      if (typeof ref === 'function') {\n        ref(value);\n      } else if (ref) {\n        // work around the immutability of the React.Ref type\n        ref.current = value;\n      }\n    }\n  }, // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive\n  [].concat(refs));\n  return mergedCallback;\n}\n//# sourceMappingURL=useMergedRefs.js.map\n","import { useIsomorphicLayoutEffect, useMergedRefs } from '@fluentui/react-bindings';\nimport { Ref, isRefObject } from '@fluentui/react-component-ref';\nimport * as React from 'react';\nimport { getPlacement } from './positioningHelper';\nimport { usePopper } from './usePopper';\n/**\n * Popper relies on the 3rd party library [Popper.js](https://github.com/FezVrasta/popper.js) for positioning.\n *\n * @deprecated Please use \"usePopper()\" hook instead.\n */\n\nexport var Popper = /*#__PURE__*/function () {\n  var Popper = function Popper(props) {\n    var usesRenderProps = typeof props.children === 'function';\n    var proposedPlacement = getPlacement(props.align, props.position, props.rtl);\n    var latestPlacement = React.useRef(proposedPlacement);\n\n    var _React$useState = React.useState(proposedPlacement),\n        computedPlacement = _React$useState[0],\n        setComputedPlacement = _React$useState[1];\n\n    var popperRef = React.useRef(null);\n\n    var _usePopper = usePopper(Object.assign({}, props, {\n      popperRef: useMergedRefs(props.popperRef, popperRef),\n      onStateUpdate: function onStateUpdate(state) {\n        // PopperJS performs computations that might update the computed placement: auto positioning, flipping the\n        // placement in case the popper box should be rendered at the edge of the viewport and does not fit\n        if (state.placement !== latestPlacement.current) {\n          latestPlacement.current = state.placement; // A state change has sense only if renderProps are passed, otherwise a state value is unused\n\n          if (usesRenderProps) {\n            setComputedPlacement(state.placement);\n          }\n        }\n      }\n    })),\n        targetRef = _usePopper.targetRef,\n        containerRef = _usePopper.containerRef,\n        arrowRef = _usePopper.arrowRef;\n\n    useIsomorphicLayoutEffect(function () {\n      var _props$pointerTargetR;\n\n      // A way to sync refs, is needed as Popper component accepts refs as params\n      // Does not make anything worse as Popper component does not have proper handing for ref updates ¯\\_(ツ)_/¯\n      targetRef.current = isRefObject(props.targetRef) ? props.targetRef.current : props.targetRef;\n      arrowRef.current = (_props$pointerTargetR = props.pointerTargetRef) == null ? void 0 : _props$pointerTargetR.current;\n    });\n    var scheduleUpdate = React.useCallback(function () {\n      var _popperRef$current;\n\n      (_popperRef$current = popperRef.current) == null ? void 0 : _popperRef$current.updatePosition();\n    }, []);\n    var child = usesRenderProps ? props.children({\n      placement: computedPlacement,\n      scheduleUpdate: scheduleUpdate\n    }) : props.children;\n    return child ? /*#__PURE__*/React.createElement(Ref, {\n      innerRef: containerRef\n    }, React.Children.only(child)) : null;\n  };\n\n  Popper.defaultProps = {\n    enabled: true,\n    modifiers: [],\n    positionFixed: false,\n    positioningDependencies: []\n  };\n  return Popper;\n}();\n//# sourceMappingURL=Popper.js.map\n","import { keyboardKey } from '../../keyboard-key';\n\n/**\n * @description\n * Implements ARIA Tooltip design pattern.\n *\n * @specification\n * Adds attribute 'role=tooltip' to 'tooltip' slot.\n * Adds attribute 'aria-hidden=false' to 'tooltip' slot if 'open' property is true. Sets the attribute to 'true' otherwise.\n * Adds attribute 'aria-describedby' based on the property 'contentId' to 'trigger' slot. This can be overriden by providing 'aria-describedby' property directly to the component.\n * Triggers 'close' action with 'Escape' on 'trigger'.\n */\nexport var tooltipAsDescriptionBehavior = function tooltipAsDescriptionBehavior(props) {\n  var defaultAriaDescribedBy = getDefaultAriaDescribedBy(props);\n  return {\n    attributes: {\n      trigger: {\n        'aria-describedby': defaultAriaDescribedBy || props['aria-describedby']\n      },\n      tooltip: {\n        role: 'tooltip',\n        id: defaultAriaDescribedBy,\n        'aria-hidden': !props.open\n      }\n    },\n    keyActions: {\n      trigger: {\n        close: {\n          keyCombinations: [{\n            keyCode: keyboardKey.Escape\n          }]\n        }\n      }\n    }\n  };\n};\n/**\n * Returns the element id of the tooltip, it is used when user does not provide aria-describedby as props.\n */\n\nvar getDefaultAriaDescribedBy = function getDefaultAriaDescribedBy(props) {\n  if (props['aria-describedby']) {\n    return undefined;\n  }\n\n  return props.contentId;\n};\n//# sourceMappingURL=tooltipAsDescriptionBehavior.js.map\n","import { tooltipAsDescriptionBehavior } from './tooltipAsDescriptionBehavior';\n/**\n * @description\n * Implements ARIA Tooltip design pattern.\n * Adds 'aria-label' to the button if passed as a prop to root or trigger instead of aria-labelledby pointing to the content id.\n *\n * @specification\n * Adds attribute 'role=tooltip' to 'tooltip' slot.\n * Adds attribute 'aria-hidden=false' to 'tooltip' slot if 'open' property is true. Sets the attribute to 'true' otherwise.\n * Adds attribute 'aria-labelledby' based on the property 'contentId' to 'trigger' slot. This can be overriden by providing 'aria-labelledby' property directly to the component.\n * Triggers 'close' action with 'Escape' on 'trigger'.\n */\n\nexport var tooltipAsLabelBehavior = function tooltipAsLabelBehavior(props) {\n  var behaviorData = tooltipAsDescriptionBehavior(props);\n  var triggerAriaLabel = props.triggerAriaLabel;\n  behaviorData.attributes = {\n    trigger: Object.assign({}, triggerAriaLabel ? {\n      'aria-label': triggerAriaLabel\n    } : {\n      'aria-labelledby': props['aria-labelledby'] || props.contentId\n    }),\n    tooltip: Object.assign({}, behaviorData.attributes.tooltip, !triggerAriaLabel && !props['aria-labelledby'] && {\n      id: props.contentId\n    })\n  };\n  return behaviorData;\n};\n//# sourceMappingURL=tooltipAsLabelBehavior.js.map\n"],"sourceRoot":""}